[Java lista] j2ee persistence layer tervezesi megfontolasok

Böszörményi Péter zmblevlist at gmail.com
2009. Ápr. 30., Cs, 09:10:17 CEST


On Thu, 30 Apr 2009 08:52:08 +0200, zamek <zamek at vili.pmmf.hu> wrote:

> hello,
>
> Egy gwt munka kapcsan kerult felszinre a problema, de valoszinuleg  
> tobbunknek
> volt/van gondja vele.
>
> Ajanlas: Feluleteket (interface) tervezzunk, ne osztalyokat.
>
> A perzisztencia domain-eket elobb-utobb a megjelenitesi retegbe is at  
> kell
> vinni. Ezzel az a baj, hogy:
>
> 1. nem lehetnek interface-ek, mert azokat nem lehet serializalni
Interfacet nem is, de az ot implementalo osztalyt valoszinuleg igen.  
Persze ettol fuggetlenul a domain objektumokat bedugni interfacek moge  
marha kenyelmetlen, szerintem felesleges is.

>
> 2. ha egyszeru java bean-ek, akkor a megjelenitesi reteg hozzafer olyan
> adatokhoz, amihez semmi koze. A gwt kapcsan meg nagyobb a problema,  
> mivel a
> gwt compiler nem tudja leforditani az annotation osztalyokat.
Ha nem lehet elmagyarazni a gwt-nek, h skippelje az annotaciokat, esetleg  
meg lehet probalni xml mappingel leirni az egeszet.
Azt viszont nem nagyon ertem, hogy a reteg hozzafer olyan adatokhoz,  
amihez semmi koze. Ha nem erzekenyek az adatok, akkor viewban nem kered el  
a beantol az adatot, es nem lesz utban. Ha meg erzekeny, es jogosultas  
fuggo, akkor mar az elkeres pillanataban ellenorizni kell, hogy jogosult-e  
az adott adatokhoz.

>
> 3. ha a perzisztenciat kulon jar-ba teszem, az annotation-ok miatt a
> hivatkozott jar-ok szama tobb Mb-ra rug, ami teljesen felesleges. Persze  
> ez
> csak akkor gond, ha a megjelenitesi reteg nem az appserverben fut (gwt,
> application client sw).
Nem szukszeges, hogy a cp-ben benne legyenek az annotaciok. Ha a jvm nem  
talalja a hivatkozott annotaciot, akkor ugy veszi, mintha nem is lenne  
rajta.

>
> A serialization problema miatt a perzisztencia domain-ek nem lehetnek
> interface-ek, sem abstract osztalyok.
A megvalosito objektum lehet, es ti ugyis azokkal dolgoztok.

>
> Mi a celszeru megoldas?
>
> 1. a perzisztenciaban egyszeru java bean-ek, annotation nelkul, majd a  
> konkret
> ejb megvalositasban leszarmaztatott osztaly, amiben mar benne vannak az
> annotation-ok, valamint a privat reszek.
>
> 2. perzisztenciaban egy wrapper osztaly, aminek van egy getter/setter-e
> ami a domain interface tagra vonatkozik.
>
> vagy milyen egyeb megoldasokat szoktatok hasznalni?
>
Szerintem teljesen hetkoznap value objectek megfelelnek a celnak. Arra  
erdemes oda figyelni, h a felhasznalashoz optimalis legyen. Pl nem baj, ha  
a egy forum topik listajanal feleslegesen nem utazik mindegyik topik  
osszes hozzaszolasa.


-- 
Üdvözlettel,
Böszörményi Péter


További információk a(z) Javalist levelezőlistáról