EJB, a POJO

0

Witam,
Robie prezentacje o EJB i nie chce zrobic bledow merytorycznych, wiec zapytam. Ktore elementy EJB 3.x (3.0, 3.1, 3.2) to sa prawdziwe POJO? Moim zdaniem, zadne bo elementy sesyjne implementuja interfejsy (lokalne i / lub zdalne) oraz sa konfigurowane adnotacjami.

Z tego co rozumiem POJO to taka prosta klasa, ktora ma w sumie tylko akcesory. Z tego co widze klasy EJB sa konfigurowane z adnotacjami, nie sa wiec POJO. A niektorzy pisza, ze sa. O co chodzi?

Tak samo Spring Framework jest uwazany za POJO framework, a tez sa w nim adnotacje. Czesto tez implementacje interfejsow.

Bede wdzieczny za wytlumaczenie tego balaganu.

Pozdrawiam,

0

POJO to nie jest prosta klasa z akcesorami. Taka prosta klasa z akcesorami to jest tzw JavaBean.
POJO = Plain Old Java Object, czyli prosty obiekt który nie zawiera żadnych "zewnętrznych" zależności. EJB 2.X nie były POJO bo musiałeś implementować w nich pewne interfejsy.

EJB 3 i Spring pozwalają ci tworzyć klasy które są POJO, tzn mogą być zupełnie dowolnymi obiektami, bez żadnych wymagań co do interfejsów etc, a jednocześnie są zarządzane przez kontener. Jeśli chodzi o adnotacje to po pierwsze spora ich część jest już standardem języka (np. @Inject), więc nie ma "wpływu technologii" na tą klasę, a nawet jeśli uznać adnotacje za łamanie POJO, to przecież możesz wszystko konfigurować XMLem i w samych klasach nie będzie widać żadnego wpływu frameworka.

0

Wlasnie, interfejsy. Nie mialem okazji (raczej szczesliwie) dlubac w EJB2.

Czy moge powiedziec, ze komponenty EJB3 sa typu POJO? Komponenty sesyjne EJB3 implementuja interfejsy zdalne i lokalne, pokazujace jakie metody sa dostepne dla klienta na tym samym kontenerze EJB i innych kontenerach EJB. Jak to ma sie do tego czy klasa jest POJO?

0

Nie mialem okazji (raczej szczesliwie) dlubac w EJB2.

Nie wiem czy tak szczęśliwie skoro próbujesz teraz pisać coś na temat o którym nie masz pojęcia...

Interfesy lokalne i zdalne nie mają sie nijak do POJO, bo interfejsy o których mówisz SAM DEFINIUJESZ. To są twoje interfejsy, w których definiujesz swoje własne metody!

W EJB 2 musiałeś robić cuda na kiju z rozszerzaniem klas EJBObject i EJBHome, więc twoje serwisy były bardzo mocno związane z technologią i kontenerem.

0

Dzięki, już rozumiem.

1 użytkowników online, w tym zalogowanych: 0, gości: 1