Nowe oblicze Javy

Pakiet IBM WebSphere Studio 5.5.1 obsługuje dwie nowe technologie: Java Server Faces oraz Service Data Object.

Pakiet IBM WebSphere Studio 5.5.1 obsługuje dwie nowe technologie: Java Server Faces oraz Service Data Object.

Celem Eclipse jest opracowanie mechanizmów pozwalających na integrowanie różnych narzędzi w ramach jednego, uniwersalnego środowiska dla programistów posługujących się językiem Java. Jednym ze sztandarowych "produktów" tego projektu jest mechanizm "perspektyw", umożliwiający dostosowywanie konfiguracji środowiska IDE do konkretnego zadania. Istnieje np. perspektywa kodera Javy, administratora bazy DB2 itp. Ważniejsze jest jednak to, że Eclipse, podobnie jak Sun NetBeans czy Borland JBuilder, zawiera elastyczny mechanizm "wtyczek", dzięki któremu istnieje możliwość rozszerzania podstawowych funkcji Eclipse.

Na tej platformie IBM zbudował własne narzędzie dla programistów Java - WebSphere Studio, którego najnowszą wersję (5.1.1) właśnie zaprezentował. Pojawiły się w niej wygodne mechanizmy do tworzenia szablonów stron oraz generalnie - projektowania nawigacji, a także narzędzia do obsługi dwu nowych standardów Java: Java Server Faces (JSF) i Service Data Object (SDO).

Chyba po raz pierwszy nie było dużego odstępu czasowego między zatwierdzeniem standardu a komercyjnym produktem, który dany JSR implementuje. Prace nad nową wersją WebSphere trwały od dosyć dawna, a ostateczną wersję JSR 127 opublikowano 11 marca.

Nowa twarz portalu

Pierwszym krokiem projektowania strony WWW WebSphere jest zdefiniowanie szablonu określającego elementy, które będą powielane nakolejnych stronach aplikacji. W ramach specjalnego projektanta można graficznie zaprezentować zasady nawigacji między kolejnymi stronami. Ciekawym pomysłem jest stworzenie mechanizmu "makr", dzięki któremu pewnej ustalonej nazwie można przypisać "stronę", której ta nazwa odpowiada. W ten sposób w programie można powiedzieć "wróć do domu", a następnie zdefiniować co "dom" oznacza, tj. jakiej stronie odpowiada.

Projektowanie interfejsu użytkownika jest znacznie prostsze dzięki mechanizmowi Java Server Faces. Architektura Java Server Faces (JSR 127) bardzo przypomina rozwiązanie stosowane w Microsoftu. Po stronie serwera działają specjalne kontrolki umieszczane na stronach JSP. Ich wygląd jest dynamicznie renderowany w momencie wysyłania do klienta. Mechanizm ten upraszcza równocześnie walidację. W WebSphere Studio są dostępne m.in. kontrolki siatki panelu z tabulatorami, kontrolka do wykresów, kontrolka drzewa czy specjalne kontrolki wymuszające określone formatowanie danych wejściowych bądź danych prezentowanych na stronie.

Dzięki Java Server Pages tworzenie aplikacji WWW w Javie bardzo przypomina pisanie normalnych, tzn. opartych na zdarzeniach aplikacji klienckich dla platformy Windows. Przykładowo, aby sprawić, by po kliknięciu myszą na przycisk został uruchomiony pewien fragment kodu w JSF, wystarczy go wskazać - tak samo jak w VB, Delphi czy C#. W ten sposób ułatwiono także zarządzanie stanem strony.

Moduł renderujący w JSF nie musi koniecznie generować kodu HTML - równie dobrze może to być WML czy inny standard przeznaczony dla urządzeń przenośnych. Nie oznacza to jednak, że za pomocą JSF będzie można bezboleśnie przekształcić dynamiczny portal JSP tak, by działał np. w telefonie komórkowym. Takie zabiegi nadal będą wymagać uwzględnienia mobilnych interfejsów na etapie projektowania portalu.

Sznurek do obiektów

Drugim bardzo ciekawym mechanizmem wprowadzonym w WebSphere Studio 5.1.1 jest Service Data Object (SDO) - standard opracowywany w ramach JSR 235, promowany głównie przez IBM i BEA. SDO to mechanizm mający za zadanie ułatwić powiązanie elementu prezentującego dane z pojemnikiem, który te dane wyświetla. Źródłem danych może być relacyjna baza, usługa sieciowe, komponent EJB itp. W przypadku IBM mogą to być także struktury Domino NSF.

SDO będzie obsługiwać mechanizmy złożonych obiektów, np. powiązanych ze sobą formatek głównych i podrzędnych, aktualizacje danych oraz obsługę historii zmian (chodzi o to, aby obiekt "wiedział", kiedy zmieniono go w wyniku działań w interfejsie użytkownika). Główną zaletą tego mechanizmu jest łatwość definiowania związków. W WebSphere wystarczy "przeciągnąć" odpowiednie elementy, co "pod spodem" przekłada się na kilka linijek kodu.

O ile JSF jest zdefiniowany w standardzie oficjalnie zatwierdzonym przez Java Community Process, o tyle w tym przypadku istnieje jedynie wstępny zarys standardu definiujący zręby mechanizmu SDO. Na razie nie istnieje oficjalny sposób powiązania SDO z Java Server Faces. IBM promuje pewne rozwiązania w tym zakresie, jednak na ostateczny kształt standardu przyjdzie jeszcze poczekać. W ramach JCP z inicjatywy Oracle'a trwają prace nad bardzo podobnym standardem (JSR 227). On również ma pozwalać na deklaratywne definiowanie mechanizmów powiązań, choć jest ukierunkowany bardziej na warstwę logiki biznesowej.