Aplikacje bazodanowe i Java

Do działania EJB niezbędne jest środowisko wykonawcze (pojemnik), zapewniający określony zestaw interfejsów. Pozwala to na wyjęcie dowolnego EJB z jednego środowiska wykonawczego i przeniesienie go do innego bez konieczności zmiany kodu. Natomiast każdy komponent EJB musi zapewniać możliwość wywołania jego funkcji (metod) za pomocą procedur zdalnego wywołania metody (RMI), stanowiących podstawowy mechanizm komunikacyjny Enterprise Java Beans. W celu zapewnienia komunikacji z innymi środowiskami, specyfikacja precyzuje, że funkcje EJB można wywoływać z klientów nie będących aplikacjami Java za pośrednictwem protokołu Internet Inter-ORB Protocol (IIOP), stanowiącego podstawowy mechanizm komunikacyjny w środowisku CORBA.

Enterprise Java Beans nie mają interfejsu użytkowego, użytkownik aplikacji nie może więc nimi manipulować podczas jej wykonywania, gdyż rezydują one całkowicie w serwerze (np. w monitorze transakcyjnym Tuxedo, bazie danych Sybase lub Oracle, serwerze aplikacji Oracle lub Netscape). Istnieje natomiast możliwość zmiany ich właściwości w trakcie tworzenia programu oraz podczas wykonywania programu za pośrednictwem zmiennych środowiskowych.

Połączenie EJB z rozszerzeniami Standard Extensions pozwala na tworzenie aplikacji modularnych, w których logika biznesowa jest zawarta w EJB.

Usługi nazewniczo- -katalogowe

Aplikacje bazodanowe powinny polegać na standardach w celu znalezienia osób, usług i danych. Java zapewnia możliwość integracji aplikacji z usługami nazewniczo-katalogowymi, dostępnymi w sieciowych systemach operacyjnych, w sieci Web i intranetach. Realizuje się to za pomocą zestawu funkcji Java Naming and Directory Interface (JNDI), pozwalających na korzystanie w aplikacji z dostępnych w sieci lokalnej i globalnej usług nazewniczych i katalogowych za pomocą protokołu Lightweight Directory Access Protocol (LDAP).

Używając w aplikacji nazw katalogowych, zamiast sztywnego kodowania nazw serwerów, mamy pewność, że zmiana konfiguracji sieci nie utrudni aplikacji znalezienia potrzebnego serwera lub usług.

Połączyć obiekty i dane relacyjne

Bazy danych i aplikacje obiektowe, sięgające do tych danych, są zorganizowane w sposób do siebie nie przystający. Aby w aplikacji efektywnie wykorzystać możliwości komponentów i obiektów, trzeba nieustannie odwzorowywać obiekty na pola w tabelach relacyjnych (i odwrotnie), zastanawiać się jak zapamiętać obiekty w bazie, jak je stamtąd pobierać, wyszukiwać itp.

Entuzjastom czysto obiektowego świata informatycznego wydawało się, że stosowanie baz obiektowych wyeliminuje ten problem. Tak się jednak nie stało, głównie z tego powodu, że technologia baz obiektowych wciąż pozostaje daleko w tyle za wysoko rozwiniętą technologią baz relacyjnych, stanowiących podstawę zdecydowanej większości aplikacji. Oferta baz obiektowo relacyjnych (baz uniwersalnych) również nie spełnia oczekiwań z powodu przystosowania ich raczej do zapamiętywania danych multimedialnych niż obiektów w rozumieniu programistycznym.

Ponieważ coraz więcej aplikacji bazodanowych jest pisanych w języku Java, pojawiła się konieczność stworzenia możliwości sięgania do baz relacyjnych z programów Java. Częściową odpowiedzią na zapotrzebowanie są sterowniki Java Database Connectivity (JDBC), wzorowane na standardzie ODBC. Nie zapewniają one jednak możliwości automatycznego odwzorowania danych relacyjnych na obiekty (i odwrotnie).

Takie możliwości zapewnia natomiast - opracowane przez firmy Sun i Baan, a dostępne od 22 lipca br. - narzędzie programistyczne Java Blend. Programista może pisać kod aplikacji posługując się modelem obiektowym, zaś Java Blend zajmuje się odwzorowaniem obiektów na dane relacyjne. Nie musi on posługiwać się językiem SQL, a nawet nie musi wiedzieć, czy do zapamiętywania danych używa się bazy relacyjnej, obiektowej czy uniwersalnej.

Java Blend realizuje proponowaną przez konsorcjum Object Database Management Group (ODMG) technikę odwzorowania obiektowo-relacyjnego. Pakiet Java Blend może być łatwo zintegrowany z popularnymi narzędziami do opracowania aplikacji w Javie (Symantec, Borland, IBM).

Poważnie myśleć o Javie

Rozwój języka i środowiska Java jest bardzo szybki. Najwięksi dostawcy oprogramowania aplikacyjnego (Baan, Oracle, PeopleSoft) przygotowują się lub już przenoszą swoje aplikacje do Javy. Również najwięksi dostawcy systemów zarządzania bazami danych włączają możliwości uruchamiania aplikacji na serwerze bazy danych lub serwerze aplikacyjnym w pośredniej warstwie oprogramowania.

Warto więc zainteresować się tym językiem. Nawet jeśli obecnie nie jesteśmy całkowicie przekonani do jego możliwości, to jednak wszystko wskazuje na to, że jest to język, środowisko i system o największej przyszłości informatycznej.


TOP 200