Czego oczekiwać od EJB?

Enterprise Java Beans to strategia rozwoju Javy obliczona na wiele lat. Nowa specyfikacja EJB 1.1 powinna uporządkować rynek Javy, ułatwiając pracę programistom piszącym duże aplikacje.

Enterprise Java Beans to strategia rozwoju Javy obliczona na wiele lat. Nowa specyfikacja EJB 1.1 powinna uporządkować rynek Javy, ułatwiając pracę programistom piszącym duże aplikacje.

Sun Microsystems podczas tegorocznej konferencji JavaOne ogłosił specyfikację Enterprise Java Beans (EJB) 1.1, zaprezentował wstępną wersję wzorcowej realizacji serwera EJB oraz zapowiedział opracowanie testów zgodności ze specyfikacją serwerów aplikacyjnych.

Łatwiejsze życie

Dla programistów najważniejszą nowością w specyfikacji jest obowiązkowe wsparcie beanów encji, zapewniających serwerom aplikacyjnym lepszą skalowalność. Jeszcze niedawno Sun zapowiadał, że będą one stanowić integralną część specyfikacji EJB 2.0 (przewidziana na koniec 2000 r.), ale na żądanie programistów tworzących aplikacje z komponentami EJB wprowadzono je wcześniej.

Specyfikacja EJB 1.1 ułatwia pracę programistom tworzącym duże aplikacje. Standard EJB 1.0 wymagał przygotowania pliku osadzania (Deployment Descriptor - DD) oddzielnie dla każdego użytego beanu. Wczytanie każdego z nich podczas ładowania aplikacji szybko wyczerpywało zasoby systemowe komputera. Obecnie przygotowuje się jeden plik DD dla wszystkich beanów w kontenerze osadzania aplikacji; plik ten ma format XML.

Test zgodności serwerów aplikacyjnych ze specyfikacją EJB zapewni możliwość tworzenia komponentów EJB aplikacji dla dowolnego serwera aplikacyjnego, który będzie można swobodnie wymieniać, zależnie od wymagań w zakresie skalowalności aplikacji lub używanego sprzętu, bez konieczności zmieniania aplikacji. Test ten to poważne wyzwanie dla producentów serwerów aplikacyjnych i już obecnie można założyć, że ograniczy on liczbę producentów serwerów EJB. Mniejsi dostawcy znikną, ponieważ nie sprostają wymogom specyfikacji.

Długoterminowa strategia rozwoju

Pod koniec br. Sun wprowadzi Javę 2 Enterprise Edition (J2EE) - zestaw 15 rozszerzeń Javy, tworzących wspólną platformę rozwoju i osadzania aplikacji.

J2EE będzie oparte na specyfikacji EJB 1.1. Ma zawierać specyfikację rozszerzeń, implementację odniesienia, nowy model programowania aplikacji oraz dokumentację. Sun określi również, jak do tworzenia aplikacji używać razem produktów zgodnych ze specyfikacją CORBA i Java. To ułatwi dostosowanie istniejących aplikacji CORBA do środowiska Java.

Jest również zła wiadomość dla programistów - używanie J2EE w aplikacjach komercyjnych będzie wymagało wykupienia licencji od Suna.

Beany encji to trwałość

Beany encji są wspierane przez różnych dostawców serwerów aplikacyjnych, ale każdy z nich robi to inaczej. W EJB 1.1 Sun zdeklarował obowiązek wspierania jednolitej ich specyfikacji.

Bean encji reprezentuje dane w bazie danych i metody operowania na nich. Są trwałe, co oznacza obowiązek zapamiętywania ich na trwałym nośniku. Bean encji musi przetrwać przerwanie sesji z klientem oraz awarię aplikacji lub komputera.

Gdy aplikacja tworzy bean encji, stan obiektu jest przechowywany w bazie danych i indeksowany za pomocą unikatowego klucza. Zwykle beany encji przechowuje się w relacyjnej bazie danych, ale można je przechowywać również w innych strukturach pamięciowych. Gdy bean encji zostaje usunięty, znika również informacja o jego stanie z bazy.

Bean encji może sam zajmować się obsługą swojej trwałości lub funkcję tę może przejąć kontener EJB (zwykle serwer aplikacyjny) - wybór należy do programisty. Ta druga możliwość jest istotna, ponieważ zwalnia programistę z obsługi dostępu do bazy danych.