Ziarna w serwerze aplikacji

Komponenty Enterprise JavaBeans zapewniają rozszerzalne środowisko obiektowe.

Komponenty Enterprise JavaBeans zapewniają rozszerzalne środowisko obiektowe.

Rozwiązania architektoniczne aplikacji można charakteryzować na podstawie liczby warstw (systemów komputerowych) uczestniczących w procesie obliczeniowym. Rozwiązania mainframe'owe są jednowarstwowe - całość aplikacji działa na jednym komputerze, komunikując się z użytkownikiem poprzez terminal znakowy.

Wprowadzenie PC pozwoliło na przeniesienie całości aplikacji na ten komputer, a obsługę danych na serwer, spełniający rolę serwera bazy danych. Zaletą jest bezpieczeństwo danych przechowywanych w jednym miejscu, wadą zaś konieczność aktualizowania aplikacji na wszystkich stacjach klienckich.

Problem rozwiązuje zastosowanie dodatkowej warstwy w architekturze klient/serwer, czyli serwera aplikacji. Logika aplikacji działa na serwerze aplikacji, który komunikuje się ze stacjami klienta na poziomie wywołań określonych funkcji biznesowych, natomiast z serwerem bazy danych za pomocą języka SQL.

W miarę rozpowszechniania programowania obiektowego również rozwój aplikacji klient/serwer zmierza w stronę orientacji obiektowej. Rozwiązanie architektoniczne CORBA (Common Object Request Broker Architecture), zaproponowane przez konsorcjum przemysłowe (OMG - Object Management Group), zawiera komplet specyfikacji dla programów i usług do obsługi wielowarstwowych obiektowych aplikacji klient/serwer. W architekturze CORBA mogą ze sobą współpracować obiekty napisane w różnych językach, a wcześniejsze aplikacje (np. z mainframe'a) można "opakować" w otoczkę obiektową i korzystać z ich usług w nowoczesnych rozwiązaniach informatycznych.

Enterprise JavaBeans (EJB) to architektura obiektów napisanych w Javie, współpracujących z aplikacjami i usługami CORBA. Pojawienie się w marcu br. specyfikacji EJB wywołało szeroki odzew wśród programistów.

EJB podstawą serwera aplikacji

Specyfikacja EJB określa jednocześnie kilka celów:

Ułatwia programiście tworzenie aplikacji, uwalniając go od szczegółów niskiego poziomu, takich jak równoważenie obciążenia, obsługa wątków i transakcji itp. Programista ma skupiać się na logice aplikacji, a ramy EJB powinny zajmować się przetwarzaniem informacji. Specyfikacja pozostawia jednak swobodę dostosowania tych szczegółów w aplikacji do konkretnych wymagań użytkownika.

Definiuje zasadniczą strukturę ram EJB i określa zasady współpracy między nimi. Wymieniono odpowiedzialność części klienta i serwera aplikacji. Pokazano również, jak tworzyć komponenty EJB i jakie warunki muszą spełniać.

Umożliwia szybkie tworzenie aplikacji klient/serwer za pomocą języka Java. Podobnie jak komponenty JavaBeans (lub obiekty PowerBuildera, Delphi lub Visual Basic) można łączyć w popularnych środowiskach programistycznych w aplikacje działające na stacji klienta, tak EJB różnych producentów można łączyć, by utworzyć aplikacje dla serwera. Komponenty EJB są klasami Java, toteż będą działać na dowolnym serwerze aplikacji bez rekompilacji.

Zapewnia zgodność z zestawami funkcji programistycznych API dla Javy i specyfikacją CORBA.

Aplikacja klient/serwer EJB

Enterprise JavaBeans składa się z trzech typów elementów: komponentów EJB, pojemnika (kontenera) EJB i obiektów EJB.

Komponent EJB to moduł programowy do wielokrotnego użytku, bez konieczności dysponowania jego kodem źródłowym, zbudowany zgodnie ze specyfikacją modelu EJB.

Działa on tylko w ramach kontenera, zapewniającego niezbędne usługi systemu operacyjnego (procesy, wątki), a także usługi dodatkowe związane ze specyfikacją: zarządzanie transakcjami, zasobami, wersjami oprogramowania, skalowalnością i bezpieczeństwem systemu. W efekcie programista opracowujący komponenty EJB może nie zajmować się tymi szczegółami, powinien natomiast koncentrować wysiłek na logice aplikacji. Jeżeli komponent stwierdza, że należy wycofać rozpoczętą transakcję, przesyła tę informację do kontenera, który wykona operacje niezbędne do wycofania transakcji.


TOP 200