Dynamiczny serwer

Dynamiczne serwery XML służą do obsługi dokumentów w czasie rzeczywistym. Są elementem infrastruktury, która ma zrewolucjonizować rynek rozwiązań typu business to business.

Dynamiczne serwery XML służą do obsługi dokumentów w czasie rzeczywistym. Są elementem infrastruktury, która ma zrewolucjonizować rynek rozwiązań typu business to business.

Entuzjaści przekonują, że XML jest najlepszą formą przechowywania danych i dokumentów, sposobem ich publikowania oraz wymiany. Dziesiątki firm i organizacji anonsuje najnowsze typy dokumentów opisowych (Document Type Definition - DTD), służących niemal do wszystkiego - od EDI, po opisy specjalistycznej literatury chemicznej. Aby te obietnice mogły być spełnione, potrzebna jest infrastruktura bazowa. Na początku 1999 r. pojawiły się pierwsze serwery dokumentów XML - Tamino (Software AG), eXcelon (firmy Object Design, obecnie Excelon).

Dwie kategorie serwerów

Serwery dokumentów XML dzielą się na dwie kategorie - statyczne (do nich należą Tamino i eXcelon) i dynamiczne (Bluestone).

Serwery statyczne posługują się repozytorium, którym może być obiektowa lub relacyjna baza danych w celu zapisywania, uaktualniania, podawania i przechowywania dokumentów XML. Poza wymienionymi takie serwery opracowały również firmy od lat zajmujące się obsługą dokumentów tekstowych w różnych formatach, w tym w SGML (Arbortext) oraz producenci obiektowych narzędzi i baz danych (Object Design, O2, Poet), którzy dostrzegli rynkową niszę dla swoich produktów. Znaczenie tych produktów będzie tym większe, im więcej dokumentów będzie dostępnych w formacie XML.

Dynamiczne serwery XML służą do innego celu. Mają przyjmować, interpretować i tworzyć dokumenty w czasie rzeczywistym. Podstawowe zastosowanie dynamicznych serwerów to publikowanie dokumentów w sieci WWW. Ponieważ nowe przeglądarki Web mają już możliwość interpretacji i prezentowania dokumentów XML, można je publikować na równi z dokumentami HTML. Drugie ważne zastosowanie serwerów dynamicznych to wymiana danych między aplikacjami za pośrednictwem dokumentów (komunikatów) XML.

Zastosowanie dynamicznego XML

Różne serwery XML powinny współpracować. Dynamiczny serwer pobierze dokument XML z repozytorium, wytworzy typ dokumentu lub wykona inną operację - prześle fakturę lub potwierdzi zamówienie.

Wyobraźmy sobie sklep ze sprzętem, zaopatrujący się u dużego dystrybutora, który - do współpracy z systemem SAP - ustawił serwer dynamiczny XML do obsługi i potwierdzania zamówień. Serwer ten może przyjmować i wysyłać dokumenty za pośrednictwem poczty elektronicznej lub przez sieć Web.

Takie rozwiązanie jest o tyle interesujące, że mały sklep może korzystać ze wszystkich możliwości EDI, bez ponoszenia dużych kosztów instalacji serwera. Zresztą to społeczność użytkowników EDI jest największym zwolennikiem takiego stosowania XML, zapewniającego dzięki Internetowi tani dostęp do najnowszych technologii informatycznych.

Architektura serwera XML

Prosty, dynamiczny serwer XML można napisać w dowolnym języku skryptowym, ale lepiej użyć uniwersalnego środowiska aplikacyjnego, zawierającego narzędzia do tworzenia aplikacji, obsługi różnych typów dokumentów. Przykładem takiego uniwersalnego produktu jest dynamiczny serwer XML firmy Bluestone.

W kompleksowym środowisku dynamicznej obsługi dokumentów XML, oprócz serwera, uczestniczą: aplikacje klienckie, usługi komunikacyjne oraz dostępu do danych i obiektów biznesowych.

Klient. Może to być dowolna aplikacja, która wysyła i przyjmuje dokumenty XML - inna aplikacja XML, przeglądarka Web, komputer naręczny typu Palm.

Usługi komunikacyjne. Serwer XML musi korzystać z różnych protokołów komunikacyjnych. Najpopularniejsze to protokoły poczty elektronicznej i HTTP, ale może też wystąpić potrzeba zastosowania rozpowszechniania (broadcast) lub rozpowszechniania ograniczonego (multicast) do dużej liczby klientów, konieczność gwarantowanego dostarczania komunikatu (za pośrednictwem systemów obsługi kolejek). Wskazane jest więc, aby do serwera XML można było podłączyć dowolny program obsługi komunikacyjnej.

Serwer XML. Ze względu na potrzebę prostoty przenoszenia i łatwości integracji z innymi produktami, dynamiczny serwer XML Bluestone jest napisany w Javie. IBM, Microsoft i Sun dostarczają analizatory składniowe XML również napisane w Javie, a konsorcjum W3C zdefiniowało zestaw funkcji Java API do kluczowego interfejsu dokumentów XML - Document Object Model (DOM).

Zasadniczym elementem serwera XML są manipulatory (handler) dokumentów XML. Każdy typ dokumentów biznesowych XML jest powiązany z odpowiednim manipulatorem dokumentów, realizującym funkcje (metody) dostosowane do specyfiki dokumentu. Przykładowo, manipulator do obsługi zamówień biznesowych może wykonywać metody przyjmowania, potwierdzania i odrzucania zamówienia. Każda z metod będzie realizować firmową logikę działania oraz korzystać z obiektów zaplecza, np. bazy danych. Serwer Bluestone implementuje manipulator dokumentów jako oddzielną klasę Java, a lokalne repozytorium metadanych łączy typ dokumentu (zapisany w jego nagłówku) z odpowiednim manipulatorem.

Manipulator może wywołać metody biblioteczne, wspólne dla wielu manipulatorów, lub inny manipulator. Architektura serwera Bluestone pozwala również okreś-lić łańcuch obiegu dokumentu XML przez różne manipulatory. Pozwala to tworzyć elastyczną infrastrukturę obsługi dokumentów, wspólną dla wielu aplikacji.

Obiekty dostępu do danych. Zapewniają typowe dla systemów produkcyjnych możliwości tworzenia wspólnej puli sesji połączeniowych z bazą (minimalizując wymagane zasoby komputera), transakcyjność, korzystanie ze sterowników JDBC dla dostępu do baz danych, bezpieczeństwo dostępu do danych i inne. Ważna jest również możliwość dołączenia sterowników do systemów ERP oraz środowisk aplikacji obiektowych (CORBA, EJB, COM). Serwer XML pozwala na zapisanie i pobranie dokumentu do/z bazy danych, posługując się językiem SQL (lub OQL w razie używania bazy obiektowej), oraz przeszukiwania bazy dokumentów XML, posługując się językiem XML Query Language (XQL).

Gdy z bazy zaplecza pobiera się dane lub obiekt, oddzielny manipulator tworzy dokument XML do obróbki lub przesłania dalej. Serwer Bluestone korzysta z języka stylów Extensible Style Language (XSL) do tworzenia dokumentów XML o formatach dostosowanych do wymagań konkretnego klienta.

Bazowe usługi serwera XML. Są wspólne dla wszystkich manipulatorów, protokołów i obiektów dostępu do baz danych. W serwerze Bluestone jest to analizator składniowy IBM XML Parser for Java (XML4J), Lotus XSL oraz implementacja XQL firmy DataChannel.

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

TOP 200