Serwery aplikacyjne Java

Komponenty EJB działają w ramach "kontenera" (również zbudowanego z komponentów), dostępnego w serwerze aplikacyjnym. Gdy komponent ze stacji klienta wysyła komunikat do komponentu EJB w serwerze, komunikat musi przejść przez "służby graniczne" kontenera, sprawdzające przeznaczenie i kierujące komunikat do właściwego komponentu.

Serwer EJB pozwala na ścisłe oddzielenie tego, co przetwarzają komponenty, od tego, czym zajmuje się kontener. Pozwala to na oddzielenie procesów tworzenia komponentów EJB od programowania kontenera. Komponenty można tworzyć całkowicie niezależnie od procesów składania z nich aplikacji. Specyfikacja EJB opracowana przez Suna oddziela precyzyjnie interfejsy komponentów od interfejsów kontenera i serwera aplikacyjnego. Serwer aplikacyjny zajmuje się wieloma usługami, które programista musi zapewnić w aplikacji monolitycznej lub rozproszonej. Programista umieszcza gotowe komponenty w kontenerze i programuje interfejsy, łączące kontener z zewnętrznymi usługami, zapewnianymi przez środowisko serwera aplikacyjnego.

Sercem serwera aplikacyjnego jest zestaw usług, zarówno realizowanych w serwerze, jak i dostępnych za pośrednictwem standardowych API. Istniejące serwery realizują różne modele komponentowe: EJB, powstający standard komponentów CORBA oraz COM w wersji dla Windows NT.

Serwery zapewniają usługi związane z bezpieczeństwem, trwałością obiektów (powiązaną bezpośrednio z dostępem do bazy danych), transakcjami, dostępem do zewnętrznych usług katalogowych, równoważeniem obciążenia na wiele działających serwerów, odtwarzaniem stanu aplikacji po awarii sprzętowej i inne.

Wszystkie drogi prowadzą do EJB

Różne były początki każdego z ponad 40 dostawców serwerów aplikacyjnych. Pewne produkty były początkowo prostymi serwerami Web, inne działały jako serwery obiektowych baz danych, kolejne jako pakiety middleware, narzędzia programistyczne. Ostatecznie jednak wszystkie zdążają w tym samym kierunku - obsługi modelu komponentowego zgodnego z najnowszą specyfikacją EJB.

Producenci serwerów aplikacyjnych najbardziej różnią się rozwiązaniami obsługi transakcji, gdzie brak jest ustalonych standardów przemysłowych. W miarę postępowania uzgodnień standaryzacyjnych będzie następował proces dostosowywania produktu do specyfikacji.

Intensywny rozwój

Wybierając serwer aplikacyjny do obsługi aplikacji internetowej trzeba brać pod uwagę nie tylko właściwości funkcjonalne serwera i platformę systemową, na której działa, ale również uwzględnić pozycję jego producenta. Rozwój produktu i dostosowanie serwera do wciąż dopracowywanych specyfikacji OMG i EJB wymagają sporych nakładów. Na pewno więc na rynku utrzymają się wielcy: IBM, Sun, Microsoft, Sybase. Mniejsi dostawcy zapewne zajmą się produktami niszowymi lub zostaną wykupieni przez wielkich.


TOP 200