Mam pewne zadanie, ktore polega na wystawieniu serwisu wywolujacego pewna
logike. Wsdl musial zostac przygotowany najpierw wiec serwer bedzie
wygenerowany juz z tego wsdl w jax-ws. Wymaganie jest tez takie aby logika
wywolywana przez serwis istniala w bezstanowym komponencie.
Moje pytanie jest takie, jaka jest lepsza praktyka, czy napisac sobie
bezstanowy ejb, wygenerowac webservice wrzucic sobie to w jednego eara i
zrobic serwis do ktorego przez @EJB wstrzykne referencje do mojego komponentu
i wlasciwie serwis bedzie opakowaniem tego co jest w ejb.
Druga opcja to wykorzystanie wygenerowanego serwisu jako ejb, bede mial
wszystko w jednym.
Pytanie, jak lepiej to zrobic, jakie sa Wasze doswiadczenia, ja podswiadomie
czuje ze chyba bym wolal sobie zapakowac ejb osobno i ws osobno z taka
praktyka mialem doczynienia do tej pory ale nie chce zamykac sie w jednym
schemacie, wiec prosze o Wasze opinie i glosy za i przeciw.
--
Wys�ano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Cześć,
Moim skromnym zdaniem lepszą (=dającą długoterminowo większą
elastyczność) jest opcja 1, czyli komponent z logiką biznesową jest
opakowywany (thin wrapper) i jako usługa (tu: Java Web Service)
udostępniany na zewnątrz. Czy wspomniany tu "komponent z logiką
biznesową" to POJO czy już EJB to podobne zagadnienie do postawionego
przez Ciebie, tyle, że poziom niżej (znowu uważam, że lepszym, tzn.
dającym większą elastyczność, rozwiązaniem jest "POJO, opakowane w
EJB"). Korzyść jest taka, że można tą samą logikę biznesową udostępnić
(także równocześnie) poprzez różne mechanizmy: web service'y - zarówno
w stylu RPC (WS-*, XML-RPC, ...), jak i RESTful - ale także w postaci
EJB, JMS, czy inne (w tym przyszłe). Łatwiej będzie także udostępniać
inne (w tym kolejne wersje) interfejsów takiej usługi. Łatwiej będzie
także wprowadzać inne implementacje tej usługi. Wreszcie, łatwiej
powinno być także z testowaniem kodu, gdy jest w postaci POJO.
Jeśli prostota (mam na myśli taką, jak w "Hello World") jest
najważniejsza, to opcja druga jest "lepsza".
Pozdrawiam,
Waldek Kot