Upraszczanie świata

Głównym tematem tegorocznej konferencji Bea eWorld były mechanizmy związane z upraszczaniem rozwiązań integracyjnych.

Głównym tematem tegorocznej konferencji Bea eWorld były mechanizmy związane z upraszczaniem rozwiązań integracyjnych.

Według Bea Systems kodowanie jest nierozłączną częścią procesu integracji, dlatego nie da się tworzyć rozwiązania integracyjnego w oderwaniu od kodu. Analityk systemowy, który określa zasady integracji aplikacji, musi ściśle współpracować z developerem, który zgodnie z jego wskazówkami napisze niezbędny kod. Środkiem do tak zdefiniowanego celu ma być nowa wersja zintegrowanego środowiska do pisania wszelkiego typu aplikacji w Javie - Bea WebLogic Workshop 8.1.

Analityk z programistą

O ile poprzednia wersja Workshop była opracowywana z myślą o wygodnym tworzeniu usług Web, o tyle wersja 8 zawiera analogiczne mechanizmy do definiowania przepływu danych w procesach integracyjnych czy graficznych diagramów portali. Dzięki temu jest to środowisko IDE dla różnych typów programistów - od analityków, przez projektantów Web, aż po programistów.

W Workshop można się posługiwać programowaniem ujednoliconym. Bez względu na typ programu (portal, moduł logiki biznesowej) można używać wizualnych kontrolek, wywoływać metody, reagować na zdarzenia czy ustawiać ich właściwości.

Upraszczanie świata

Serwer aplikacyjny w świecie Bea

Można też definiować własne kontrolki. Funkcje związane z "łączeniem" kontrolek, przekazywaniem zdarzeń między nimi itp. umieszczono w zbiorze interfejsów API działającym na poziomie wyższym niż JDK (framework opracowany przez BEA). Przykładowo, projektant usług Web tworzy kontrolkę, która po zmianie pewnych właściwości staje się usługą Web. W podobny sposób tworzy się komponent do wykorzystania w Web-Logic Portal. Workshop wykorzystuje przy tym mechanizm Java Page Flow (JPF) oparty na Struts i koncepcji Model-Widok-Kontroler. JPF pozwala graficznie zdefiniować przepływ pomiędzy kolejnymi "stanami" portalu. Graficzny projektant umożliwia rysowanie diagramu całej witryny czy konkretnej czynności, np. rejestracji użytkownika, publikacji nowego dokumentu itp.

Podobne rozwiązanie opracowano dla procesów biznesowych czy integracyjnych. Wtedy są tworzone poszczególne "kroki" podoperacji składających się na cały proces. Warto dodać, że tak naprawdę dokładność diagramu zależy od potrzeb - jego węzłem może być wywołanie usługi Web, odwołanie się do obiektu EJB, ale też dowolny kod w Javie. Dzięki diagramowi analityk (czy konsultant) od razu "widzi", jak przebiega dany proces.

Strony WSL bądź BSL (definiujące usługi Web czy procesy biznesowe) są "prawie" normalnymi klasami Javy. Zaskakujące jest jedynie to, że dodatkowe, niestandardowe mechanizmy umieszczono w... komentarzu. W ten sposób kod programu jest zawarty niejako w dwu różnych miejscach: w zrębie klas/funkcji oraz odpowiednio sformatowanych komentarzach. Przedstawiciele BEA tłumaczą, że nie kontrolują języka Java i nie mogą go dowolnie rozszerzać. Przekonują, że rozwiązanie wykorzystujące komentarze jest najmniej kłopotliwe. Przed kompilacją dodatkowy parser analizuje pliki źródłowe, dzięki czemu praca z wykorzystaniem np. diagramów przepływu w integracyjnym procesie biznesowym nie wymaga potężnych komputerów - łatwiej jest przeanalizować wyodrębnione z kodu metaznaczniki w komentarzach niż parsować cały kod.

Bea nie zamierza tworzyć specjalnych środowisk dla programistów korzystających z Tuxedo. Ponieważ działający w standardzie CORBA serwer aplikacji Tuxedo - jako taki - nie obsługuje usług Web, WebLogic 8.1 ma specjalny mechanizm pozwalający "opakować" transakcje realizowane przez Tuxedo i łatwo udostępniać je na platformie WebLogic w różnej formie, w tym również jako usługi Web. Z tego samego powodu w wersji 8.1 wprowadzono mechanizm przekazywania uprawnień pomiędzy serwerami Tuxedo a WebLogic. Z poziomu serwera J2EE można przekazać dane do serwera autoryzacyjnego Tuxedo. Można wykorzystać dowolny mechanizm autoryzacji, np. za pośrednictwem katalogu LDAP czy własnych rozwiązań autoryzacyjnych.

Przymierze Javy z XML

Innym ciekawym rozszerzeniem mechanizmów w Javie są tzw. XMLBeans. To technologia opracowana przez Bea, która pozwala na translację opisującego strukturę dokumentu XML schematu XSD do postaci klasy w Javie. W ten sposób zostaje zapewniona rygorystyczna kontrola typów, a co więcej - manipulowanie dokumentem XML sprowadza się do wywoływania par funkcji get/set. Warto dodać, że XMLBeans nie generują "struktury" obiektowej dokumentu XML, jak to czyni interfejs DOM. Zamiast tego, w pamięci jest przechowywany odpowiednio "skrócony" dokument XML, który w razie potrzeby jest przeszukiwany. Dzięki temu XMLBeans mają mniejsze wymagania pamięciowe i lepiej nadają się do obsługi gigantycznych dokumentów XML niż DOM.

Rozwiązanie XMLBeans to potencjalnie bardzo użyteczne uzupełnienie dla wykorzystywanego dotychczas na platformie WebLogic mechanizmu translacji XML-JAVA o nazwie JAX-B, który nie umożliwia odwzorowania wszystkich niuansów standardu W3C Schema). Niestety, ani technologia XMLBeans, ani też żaden inny mechanizm przetwarzania XML w Javie nie pozwalają na proste przełożenie XML na zestaw rekordów w bazie danych. Chcąc połączyć bazę danych z dokumentem XML, programista musi korzystać z dwóch rozłącznych interfejsów: JDBC i XMLBeans/JAX-B. Być może kolejne wcielenia XML-Beans usprawnią ten ważny proces.

Funkcje XMLBeans zostaną umieszczone w wersjach beta kolejnych edycji platformy WebLogic. Na razie można z nich skorzystać wyłącznie online, za pośrednictwem prowadzonej przez Bea Systems witryny dev2dev. Po przekazaniu pliku XSD do działającego na serwerze kompilatora XMLBeans, otrzymuje się zwrotnie gotową do pobrania bibliotekę JAR zawierającą wszystkie niezbędne interfejsy.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200