Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Arhitektura Web aplikacije napisane u Javi koja koristi bazu podataka

[es] :: Java :: Arhitektura Web aplikacije napisane u Javi koja koristi bazu podataka

[ Pregleda: 3325 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dragon.mi

Član broj: 146873
Poruke: 25
*.smin-1.sezampro.yu.



Profil

icon Arhitektura Web aplikacije napisane u Javi koja koristi bazu podataka01.12.2007. u 20:06 - pre 199 meseci
Imam neka vazna pitanja i dileme koje se odnose na arhitekturu web aplikacije napisane u Javi, a koja koristi bazu podataka.

Do sada sam primenjivao relativno jednostavnu arhitekturu ali sam uvideo odredjene nedostatke u takvom pristupu. Taj pristup se sastojao u sledecem:

1) Za prezentacioni deo koristio sam Java Server Faces, i razne njegove biblioteke komponenti kao sto su Ajax4JSF, Tomahawk, Jenia itd. uz JavaScript.
2) Za srednji sloj koristio sam obicnu Javu uz primenu SessionFacade pattern-a za vezu prezentacionog dela i biznis logike.
3) Za persistance sloj sam imao Hibernate uz primenu Dao patterna.
Aplikativni server je bio Tomcat.

Ono sto sam primetio kao glavni nedostatak jeste da nema jasnog razgranicenja izmedju prezenatacionog dela i pre svega Hibernate - a i da posto su se podaci stalno iscitavali iz baze
zbog konkurentnog pristupa, ona se nije bas mogla pohvaliti sjajnom brzinom. Evo nekih konkretnih primera:
1) Nisam koristio transfer objekte koji bi bili "cisti" Java Beanovi i koji bi stizali kao takvi u prezentacioni deo. Umesto njih koristio sam Hibernate domain objekte
tako da u prezentacionom delu sam morao da vodim racuna o tome da jednostavno u run time-u ne mogu da dodjem do nekih property-ija takvih domain objekata
(ovo se tice samog Hibernate i njegove veze sa JSF koje u stvari nema).
2) Liste vrednosti su mi se stalno iscitavale iz baze sto mi je usporavalo aplikacije (koristio sam getXXX() metode za povezivanje sa npr. <h:selectOneMenu> komponentom),
a uz to u iscitavanju podataka teoretski moze da dodje do gresaka u radu sa bazom podataka pa mi se cinilo u tom delu da je jednostavno jako tanka linija izmedju prezentacionog dela i persistance sloja.
3) Hibernate sesiju sam zatvarao pomocu svog Filtera pa sam prakticno imao jednu Hibernate sesiju po Http request-u ali i tu moze doci do problema koji se ticu koriscenja Hibernate u ovako
osmisljenoj arhitekturi sistema (ne bih davao konkretne primere).Jednostavno sto bi neko ko npr. razvija prezentacioni deo ili srednji sloj brinuo o tome?

Pitanja su sledeca:
1) Da li mozete da date komentar na ovakvu arhitekturu aplikacije i da date svoje predloge kako da je poboljsam?
2) Da li u okviru ove arhitekture sistema mogu da koristim za liste vrednosti propertije nekog bean-a u application scope-u za dobijanje listi vrednosti, umesto da koristim pristup koji sam prethodno
opisao kako ne bih stalno isao do baze? Naravno takav bean bih update-ovao kada je to potrebno.
3) Da li da koristim transfer objekte kao ciste JavaBeanove u ovom pristupu?
4) Koji pristup da koristim a da imam jasnu odvojenost prezentacionog dela, biznis logike i persistance sloja tako da prezentacioni deo dobije "ciste podatke" ili informaciju da je u obradi zahteva
klijenta doslo do greske? Molim vas dajte mi neke tutoriale i guide-ove odakle bih krenuo.

Inace trenutno sam lako presao knjigu o Seamu ("JBoss Seam - Simplicity And Power Beyond Java EE") i guide-ove o EJB3 i JBoss - u pa bih presao na RichFaces, EJB3 i JBoss. Seam o stvarima koje sam prethodno naveo vodi racuna i jos o mnogo cemu mada bih voleo da primenim jos neki bolji i "cistiji" pristup. Mozda bi trebalo ukljuciti u celu pricu i web service sa kojima sam radio, ne znam sta pruza SOA arhitektura i koliko je ona kompleksna? Ranije sam nesto radio u Springu pa mozda treba da njega koristim da postavim arhitekturu sistema?
Pozdrav svima i unapred hvala na sugestijama i pomoci!
 
Odgovor na temu

ZeRo8
Wien

Član broj: 168
Poruke: 235
*.pns.univie.ac.at.



Profil

icon Re: Arhitektura Web aplikacije napisane u Javi koja koristi bazu podataka29.02.2008. u 13:21 - pre 196 meseci
Ja vec 7 meseci koristim u firmi JBoss Seam i mogu ti reci da prilichno dobro odvaja svaki sloj arhitekture. Ne treba ti nikakav Facade Pattern za bazu. Konfiguracija Hibernatea je izuzetno laka a koriscenje svih servisa sa @In ti ustedi mnogo kucanja. Aplikacija na kojoj radimo se razvija vec godinu ipo dana u Javi, od toga jedno godinu dana u Seamu i mogu ti reci da su programeri prilichno zadovoljni. Naravno uvek ima nedostataka i bugova, pogotovo u JBossu i Seamu (na Hibernate se ne mogu zaliti). Recimo ako koristis dosta Ajaksa (recimo kao sto si gore naveo Ajax4JSF) moze se desiti da ako imas puno podataka koje trebas privuci iz baze dodjes do buga JBossSeam-1832, i tako slichne stvari.
U globalu dobar freamwork
 
Odgovor na temu

j2ee_developer
Ivan Tufegdzic
J2EE developer
Kragujevac

Član broj: 175161
Poruke: 4
79.101.165.*

Sajt: www.ivantufegdzic.co.nr


Profil

icon Re: Arhitektura Web aplikacije napisane u Javi koja koristi bazu podataka08.03.2008. u 16:16 - pre 196 meseci
Slazem se sa Zero8
I ja koristim Seam i sasvim sam zadovoljan. Od pocetka sam poceo da radim Seam tako da nize framework-e kao sto su Spring,Struts,... i ne znam najbolje.
Kazu da su i oni OK. Razmisljam da malo proucim Spring. Sta mislite?

Elem, da se vratimo prici. Seam ti je dobar zbog anotacija, mnogo ti olaksava i mozes odlicno da razgranicis slojeve. Jeste da zna da izbaci neke greske - ali zar skoro svi nemaju neke greske
Seam je framework u usponu i skoro mesecno izbacuju noviju verziju. Jedino je lose sto sam Seam narusava slojeve, mora biti ukljucen u svakom sloju.

Ali ako lepo razdvojis libs u slojeve i pazis kako u kom sloju koristis Seam libs, bice Ok.

Eto nadam se da sam pomogao.

Pozdrav,
it
 
Odgovor na temu

dragon.mi

Član broj: 146873
Poruke: 25
212.200.239.*



Profil

icon Re: Arhitektura Web aplikacije napisane u Javi koja koristi bazu podataka27.03.2008. u 10:20 - pre 195 meseci
Hvala na pomoci, evo sada sam tek video Vase poruke. Vidim da imate i radnog iskustva i da ste koristili Seam tako da mi je jako vazno sto sam cuo Vasa misljenja o Seam-u (kako se ponasa u praksi).

Pozdrav!
 
Odgovor na temu

milas

Član broj: 29337
Poruke: 588
*.veze.net.



+3 Profil

icon Re: Arhitektura Web aplikacije napisane u Javi koja koristi bazu podataka28.03.2008. u 21:21 - pre 195 meseci
Preporucujem sledece kao opciju za ozbiljan razvoj Java Web aplikacija:

1. Nivo prezentacije: neki web framework kao sto je Struts 2 + Sitemesh + AJAX (Dojo), ili neki drugi kao Tapestry 5 ili Wicket (o ovome ima dosta na Internetu).

2. Srednji nivo: Spring za autowiring bean-ova, i klasicni EJB3 session bean-ovi za servise.

3. Nivo modela podataka: EJB3 anotacije za Hibernate, Toplink ili sl., ili pak direktno Hibernate kroz xml konfiguraciju.

--

za timski rad, obavezno Subversion, a za tracking projekta, issues-a i bugova Attlasian JIRA ili Bugzilla (besplatno). Ovo naravno sve podrzano agilnom metodologijom razvoja i JUnit testiranja sa mock-ovima i ostalim.

 
Odgovor na temu

[es] :: Java :: Arhitektura Web aplikacije napisane u Javi koja koristi bazu podataka

[ Pregleda: 3325 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.