[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