Hegemon informacyjnej dżungli

Oba te interfejsy są z punktu widzenia języka programowania pewnego rodzaju "protezą". W nowoczesnych narzędziach programistycznych szczegóły implementacyjne związane z obsługą XML są w pewnym sensie "ukryte" przed programistą. Dobrze widać to na przykładzie SOAP. Zarówno dla Visual Studio.NET, jak i Delphi 6.0 wywołanie zdalnej usługi Web niczym nie różni się od wywoływania czy tworzenia obiektu. Programista nie musi więc wiedzieć, że właśnie zbudował komunikat SOAP.

W podobnym kierunku idą np. interfejs Perl XML czy JAXP przeznaczony dla Javy (z tym że w tym przypadku jest to w pewnym sensie eleganckie "opakowanie" zbliżonego API XML DOM i SAX), które pozwalają programistom przetwarzać XML w naturalny dla danego języka sposób.

Wydawać by się mogło, iż XML jest doskonałym narzędziem do przetwarzania wszelkiego rodzaju danych. Jednak w przypadku relacyjnych baz danych wykorzystanie XML nie jest tak szerokie. Oczywiście, większość baz danych potrafi tworzyć wyniki zapytań w postaci XML. Jeżeli natomiast zachodzi potrzeba zadania zapytania SQL do dokumentów XML, to najpierw dane wczytywane są do bazy danych, a następnie za pomocą mechanizmów konkretnego motoru jest generowany nowy dokument XML. Programiści, pracując z XML-em, muszą stosować inną składnię, niż ta, za pomocą której komunikują się z bazami danych.

Warto też zwrócić uwagę na rolę, jaką zaczyna odgrywać XML w warstwie środkowej aplikacji budowanych w modelu trójwarstwowym. Coraz więcej firm wykorzystuje XML jako pełnoprawny format przechowywania danych pochodzących z różnych źródeł. ADO.NET nie rozróżnia danych pochodzących z baz relacyjnych i dokumentów XML. Wewnętrznie potrafi przechować tymczasowy dokument XML (wynik złożonej kwerendy), a programista może wybrać, czy chce przetwarzać go przy użyciu XML DOM, czy jak "zwykły" zbiór rekordów. W przypadku Delphi mechanizm DataSnap oparty na XML (motor middleware i pamięć podręczna), którego zadaniem jest ujednolicenie dostępu do wielu różnych źródeł danych, zastępuje (w pewnym sensie) MIDAS-a. Dla aplikacji pisanych w Javie jest dostępnych wiele rozwiązań lokalnych "baz" danych, gdzie informacje są przechowywane w formacie XML (np. JDataStore). Okazało się, że w większości przypadków parser XML jest wystarczająco szybki, by wybrać i przetworzyć dane przekazywane następnie użytkownikowi. Także coraz więcej baz danych przechowuje informacje tylko w formacie XML (np. Tamino firmy Software AG).

Podsumowanie

Można odnieść wrażenie, jakby technologia XML zaczynała się rozmywać wśród wielu sposobów zapisu tej samej informacji. W miarę wzrostu popularności idei usług Web pojawia się coraz więcej standardów ich wywoływania. Standardy komponentów (COM+, CORBA, EJB, J2EE) są także kompatybilne w tym sensie, że istnieją serwery aplikacyjne, które potrafią wywoływać każdy z nich. Może więc powstać aplikacja, która korzysta z usług komponentu CORBA, COM i obiektów pisanych w Javie. Czyżby taka przyszłość czekała usługi Web? Już w tej chwili każdy ze standardów zyskał poparcie określonej grupy firm. Prace standaryzacyjne trwają, ale wydaje się, że nikomu nie zależy, by powstał jeden standard opisu usług Web i jedno repozytorium.

XML zyskał ogromną popularność. Prace nad jego zastosowaniem prowadzą firmy programistyczne, ogłaszając rozwiązania "zgodne" z XML (to znaczy używające XML-owej składni). OASIS i W3C to dwie organizacje, zajmujące się równocześnie rozwojem zastosowań XML do opisu komunikacji biznesowej. Wiele prac powstaje w środowiskach open source i na uniwersytetach, gdzie przykładowo niedawno powstała praca, która formalnie definiuje algebrę dla XML Schema.

Ktoś mógłby powiedzieć, że tak naprawdę to nic złego, gdy istnieje wiele standardów zapisu analogicznych informacji. Technologia XML to także narzędzia do transformacji - XSL/XSLT. Problem polega na tym, że XSL pozwala przekształcać tylko składnię. Jest zbyt ubogi, by umożliwiać zaawansowaną transformację dokumentów różnych nie tylko pod względem składniowym, ale i semantycznym. Istnieją już narzędzia (jak BizTalk), których podstawowym zadaniem jest zaawansowane tłumaczenie dokumentów XML na inne formaty. Prawdopodobnie powstaną wyspecjalizowane portale ASP, które będą przekładać wywołania usług Web z formatu SOAP i AuthXML na S2ML itp. W końcu może się okazać, że świat informacji zamiast upraszczać się (co jeszcze na początku 2000 r. wydawało się możliwe), stanie się coraz bardziej złożony.

Jedno wydaje się pewne - w najbliższym czasie programiści na całym świecie będą w swoich programach przetwarzać składnię <znacznik>coś</znacznik>. Jednak czy ten "znacznik" w danym rozwiązaniu będzie ustandaryzowany, nie wiadomo.


TOP 200