Przejdź do zawartości

Enterprise JavaBeans

Z Wikipedii, wolnej encyklopedii
To jest stara wersja tej strony, edytowana przez JacekLaskowski (dyskusja | edycje) o 01:48, 9 lut 2008. Może się ona znacząco różnić od aktualnej wersji.

Enterprise JavaBeans (EJB) - technologia będąca jednym z elementów specyfikacji Korporacyjnej Javy J2EE. Na EJB można spojrzeć jak na podzbiór możliwości Korporacyjnej Javy w kontekście zarządzania bytami - ziarnami EJB - udostępniając im usługi jak transakcyjność, trwałość, rozproszenie, bezpieczeństwo, wielodostęp, itp. Jedyne, co wymaga się od programisty korzystającego ze specyfikacji EJB to dostosowanie do pewnego kontraktu EJB, który w zamian za współpracę udostępnia zaawansowane usługi powodując zniesienie obowiązku dbania o nie z barków programisty (dostawcy ziarna lub całego modułu ziaren EJB).

Idea EJB opiera się na tworzeniu komponentów (ziaren EJB), które mogą być osadzane na serwerze (tzw. kontenerze EJB), który z kolei udostępnia je do wykonania lokalnie (dostęp z części aplikacji uruchomionej na tej samej wirtualnej maszynie) lub zdalnie poprzez protokół RMI over IIOP.

Wyróżnia się 3 główne rodzaje ziaren EJB:

  • sesyjne EJB (ang. session EJB) bezstanowe i stanowe,
  • sterowane komunikatami EJB (ang. message-driven EJB),
  • encyjne EJB (ang. entity EJB) (aktualnie zastąpione przez encje, które doczekały się własnej specyfikacji wciąż jednak będące częścią specyfikacji EJB).

Każde z ziaren ma różne zastosowanie. Ziarna sesyjne są używane do umieszczania w nich logiki aplikacji - czyli kodu, który przetwarza dane. Encyjne EJB reprezentują w sposób obiektowy dane (np. dostarczają obiektowego spojrzenia na relacyjną bazę danych). Ziarna sterowane komunikatami znajdują zastosowanie w przetwarzaniu asynchronicznym i w zaawansowanych modelach współpracy oprogramowania. Np. model abonent-dostawca: bean rejestruje się jako dostawca pewnej usługi, klienci mogą zarejestrować się jako abonenci.

Główną zaletą EJB jest nakierowanie projektanta na pewne sprawdzone sposoby rozwiązania typowych problemów w systemie rozproszonym: zarządzanie połączeniami, transakcja rozproszona, mapowanie danych na model obiektowy itp. Mimo to użycie niektórych elementów tej technologii wydaje się wciąż dość kontrowersyjne, mimo wielu zmian w najnowszej edycji specyfikacji EJB 3.0. Np. stosowanie encyjnych EJB oznacza rezygnację z przetwarzania danych w modelu relacyjnym.