Wszyscy mówią XML

Standard, który powstał jako mutacja mało popularnego języka formatowania tekstów, robi karierę. Nasuwa się pytanie, czy XML to coś więcej niż moda? Przecież nie tak dawno niezwykle popularna była CORBA, zapewniająca wszystko, co realizuje XML, a nawet więcej.

Standard, który powstał jako mutacja mało popularnego języka formatowania tekstów, robi karierę. Nasuwa się pytanie, czy XML to coś więcej niż moda? Przecież nie tak dawno niezwykle popularna była CORBA, zapewniająca wszystko, co realizuje XML, a nawet więcej.

Przed kilkoma miesiącami XML był tylko prostym językiem zapewniającym wyróżnianie danych w tekście za pomocą zestawu znaczników. Dziś już jest uważany za potężne narzędzie wymiany danych i obsługi działalności gospodarczej biznes-biznes. W ciągu ostatnich miesięcy IBM, Oracle, Microsoft rozszerzyły wsparcie dla XML w swoich zestawach narzędziowych, bazach danych i systemach do integracji aplikacji. W efekcie oczekiwania potencjalnych użytkowników tej technologii znacznie wzrosły, czasem przekraczając nawet jej realne możliwości.

Dokument doskonały

Struktura dokumentu XML jest oddzielona od zawartości. Strukturę określa się za pomocą oddzielnego dokumentu DTD (Document Type Definition), zawierającego opis i definicje wszystkich użytych znaczników. Analizatory składniowe wbudowane w różne aplikacje sprawdzają poprawność dokumentu i pobierają z niego dane, zgodnie z definicjami znaczników.

Dokumenty XML pozwalają na definiowanie metadanych o dowolnych produktach, usługach, elementach, obiektach. Do dokumentów można dołączać arkusze stylów XSL i przeglądać ten sam dokument z różnego punktu widzenia, np. pracownicy kadr zobaczą jak wykorzystany jest czas pracy konsultanta, księgowość zaś - ile ta praca kosztowała.

Konsorcjum W3C pracuje nad standaryzacją sposobu wymiany metadanych między różnymi aplikacjami. W3C zamierza bowiem opracować ogólną definicję struktur danych dokumentów XML.

Gdy już mamy do dyspozycji niezależny od platformy język znakowania dokumentów, dlaczego nie wykorzystać go w Internecie do łączenia aplikacji przez przekazywanie między nimi wspólnie używanych danych? Zdaniem specjalistów, XML jest nieodłącznym partnerem Javy - przenośne dane dołącza się do przenośnego kodu, co daje idealną kombinację w środowisku aplikacji rozproszonych i handlu elektronicznego.

COBRA nieco zapomniana

Powstrzymajmy na chwilę entuzjazm dla XML. Mechanizmy wymiany danych przez szeregowe kanały komunikacyjne nie są przecież nowe. Zostały wcześniej opracowane w specyfikacji CORBA, są również realizowane za pomocą protokołu RMI. Oba protokoły pozwalają na przenoszenie hierarchicznej struktury obiektów z jednego komputera na inny.

CORBA to ramy do obsługi obiektów rozproszonych. W ogromnym skrócie działa to następująco. Zestawy narzędziowe tworzą na stacji klienta pełnomocnika (proxy) zdalne obiekty, z którymi aplikacja "chce rozmawiać". Przesłanie do proxy komunikatu z parametrami wywołuje procedury dostosowania (marshalling) formatu komunikatu do właściwości zdalnego obiektu oraz wysłanie go do właściwego komputera. Tam są wywoływane odpowiednie metody, a wyniki zwracane do wywołującej aplikacji. W specyfikacji CORBA istnieją gotowe usługi katalogowe, bezpieczeństwa, przekazywania informacji o błędach i zdarzeniach, kontekście komunikatu, transakcjach. Podobne właściwości ma RMI, współpracujący z platformą Java 2 Enterprise Edition.

Pojedynek na dane

CORBA nie jest jednak rozwiązaniem idealnym. Aby korzystać z jej usług, trzeba kupić licencje na broker obiektowy ORB oraz zestaw usług dla każdego użytkownika i programisty. Ponadto w pewnych dziedzinach XML jest ewidentnie lepszy:

przy obsłudze dużych masywów danych tekstowych

zapewnia zapisywanie w formie pliku dyskowego całej struktury dokumentu

pozwala na ręczną ingerencję użytkownika w dokument w celu wybrania danych w razie awarii lub uszkodzenia dokumentu podczas transmisji.

XML może być uważany za odpowiedź specjalistów od przetwarzania tekstów na potrzeby przetwarzania danych zawartych w dokumencie. Jest przeznaczony do kodowania dokumentów dostępnych dla użytkownika, stanowiących w fizycznej postaci podstawę każdej działalności gospodarczej. XML nie zapewnia natomiast wielu właściwości charakterystycznych dla systemów posługujących się brokerami CORBA:

usług systemowych, w tym możliwości upewniania się co do tożsamości nadającego komunikat, transakcyjności

możliwości dziedziczenia właściwości, co pozwoliłoby na integrację z istniejącymi modelami obiektowymi aplikacji

przesyłania danych binarnych: kodu, wywołania funkcji

przesyłania wielu typów danych: wyliczeń, wielkich plików binarnych, danych zmiennoprzecinkowych itp.

Jak widać z prostego wyliczenia właściwości, wady XML w obsłudze aplikacji rozproszonych przeważają nad zaletami, a mimo to obserwujemy silny nacisk na powszechne stosowanie XML do wszystkich dziedzin działalności informatycznej.

Gdy standard wkracza na rynek

XML to standard na tyle otwarty, że dopuszcza wiele różnych implementacji. Na razie wszyscy popierają XML, ponieważ dotychczas nikomu nie udało się "zawłaszczyć" tej technologii. Jednak jedna, dobra implementacja ma szansę zdominować przemysł. Jeżeli przejmie ją wielki producent i dostosuje do swoich potrzeb, może zmusić partnerów handlowych i klientów do jej używania.

Tak dzieje się w przypadku Forda, który zawarł umowę z Oracle na opracowanie aplikacji wymiany informacji między partnerami handlowymi koncernu samochodowego. Wymagać to będzie swoistej "wertykalizacji" standardu XML - zdefiniowania zestawu znaczników i wzorców dokumentów specyficznych dla tej dziedziny działalności. Co to oznacza dla Oracle'a? Możliwość wpływania na kierunek rozwoju standardu nie bezpośrednio w komitetach normalizacyjnych, ale przez przeważający udział rynkowy.

Inny przykład to Microsoft, który w zasadzie nigdy nie poparł standardów CORBA. Natomiast z XML, niezależnym bezpośrednio od jednego producenta, Microsoft wiąże duże nadzieje. Akceptując XML, Microsoft nie zmienia swojego przywiązania do własnych technologii COM i Windows. Rozwijany przez Microsoft pakiet programowy BizTalk ma służyć do integrowania aplikacji Windows na poziomie danych za pośrednictwem XML. Na razie analitycy nie wiążą wielkich nadziei z tym produktem, uważając, że liczy się tylko współpraca aplikacji na wielu platformach.

Microsoft nie popiera również Javy jako wieloplatformowego środowiska aplikacyjnego. Chce więc uczynić z XML alternatywę dla Javy. Stąd niedawna propozycja SOAP (Simple Object Application Protocol) do komunikacji za pośrednictwem XML między rozproszonymi aplikacjami na wielu platformach. Microsoft zgłosił SOAP jako oficjalną propozycję standardu. Wydaje się, że protokół ma ogromną szansę na zatwierdzenie przez IETF. Wstępny projekt SOAP został już zaakceptowany przez kilku niezależnych producentów oprogramowania i zapewne niedługo pojawi się w produktach rynkowych.

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

TOP 200