Zmierzch XML

Subskrybuj RSS A A A
11 kwietnia 2005
Tomasz Kopacz

W ciągu kilku lat XML wdarł się bez mała w każdą dziedzinę technologii. Uniwersalność XML, będąca jedną z jego podstawowych zalet, zaczyna mu jednak ciążyć. Czy XML, jaki znamy - prosty, wygodny i jednoznacznie zrozumiały, odejdzie wkrótce w niebyt?

W ciągu kilku lat XML wdarł się bez mała w każdą dziedzinę technologii. Uniwersalność XML, będąca jedną z jego podstawowych zalet, zaczyna mu jednak ciążyć. Czy XML, jaki znamy - prosty, wygodny i jednoznacznie zrozumiały, odejdzie wkrótce w niebyt?

XML stał się uniwersalnym formatem zapisu niemal dowolnej informacji, w której można wyróżnić pewną strukturę. Znacznie prostszy od SGML - języka leżącego u podstaw koncepcji XML - miał być formatem, który rozumieją zarówno maszyny, jak i człowiek. Oczywiście nie użytkownik, ale raczej programista, który dzięki XML miał być w stanie szybko zweryfikować, czy to, co generuje, na pewno jest prawidłowe. XML stał się także - szybciej, niż ktokolwiek mógł przypuszczać, standardem w dziedzinie integracji aplikacji.

XML to w gruncie rzeczy plik tekstowy, w którym struktura informacji, jej rola i znaczenie określane są nie przez tabulatory, średniki czy przecinki, a przez znaczniki (tagi) będące metadanymi. Opisywane na tych łamach niejednokrotnie zalety XML, zwłaszcza w kontekście integracji aplikacji, są obecnie zagrożone, i to co najmniej na dwa sposoby.

Po pierwsze, zagrażają mu mnożące się jak grzyby po deszczu języki i formaty oparte na XML, powstające często tylko dlatego, że "tego jeszcze nie było w postaci XML". Po drugie, nie bez związku z pierwszym, coraz wyraźniej pojawia się problem wydajności przetwarzania XML, skutkujący inicjatywami dążącymi do jego przyspieszenia - najlepiej przez przekształcenie do formy binarnej. Jeśli oba te trendy się utrzymają, dorobek XML - nie tylko w dziedzinie integracji - zostanie w praktyce zaprzepaszczony. Czy tego właśnie chcemy?

Po co komu XML

Na pytanie "czym jest XML" nie można odpowiedzieć prosto. Z jednej strony jest to po prostu format pliku. Jednak - dookoła tego standardu opracowano wiele dodatkowych formatów, które określają strukturę dokumentu XML. Mamy np. standardy dotyczące "zapytań" wybierających dane z dokumentu XML (XPath, XQuery, XLink itp.), mamy infrastrukturę związaną z bezpieczeństwem, mówiącą o tym, w jaki sposób zapisać w postaci XML klucz publiczny, jak zaszyfrować dokument XML, czy też jak dodać do niego podpis cyfrowy.

Dostępne są także mechanizmy transformacji dokumentów XML - XSL i XSLT. Mogą one służyć zarówno do przekształcenia dokumentu XML z jednej postaci na inną, jak i do np. prezentacji danych zawartych w XML jako dokument PDF czy HTML. Wszystkie te mechanizmy związane z XML są opracowywane w taki sposób, że można wziąć dowolny dokument XML, wybrać z niego pewne elementy używając XPath, potem przekształcić wynik w inny dokument XML i na końcu zaszyfrować dokument. Innymi słowy cały stos usług i specyfikacji związanych z XML jest budowany tak, by można było dowolnie "składać" możliwości dawane przez różne standardy.

Prace nad technologiami XML odbywają się głównie w 3 organizacjach - W3C oraz OASIS i WS-I. W3C jest"klasyczną" organizacją standaryzacyjną, o rozbudowanej administracji i podejściu do problemu czasami "czysto" naukowym. OASIS i WS-I (organizacja zajmująca się głównie Web Services) są trochę innymi organizacjami, zrzeszającymi producentów zainteresowanych współpracą i rozwijaniem konkretnych elementów technologicznych.

XML stał się terminem zbyt "marketingowym". Wszyscy inżynierowie zaczynają go stosować, nie zastanawiając się, czy na pewno jest to właściwy wybór. Ostatnio coraz częściej podnoszone są głosy, że nawet przy obecnej mocy komputerów XML jest zbyt "kosztowny". Jeśli przyjrzeć się bliżej, okazuje się, że problem z wydajnością pojawia się główne tam, gdzie jest on stosowany "do wszystkiego".

Przykładowo, nikt się nie zastanawia, czy w danym module rzeczywiście jest potrzebna możliwość współpracy pomiędzy platformami, otwarta komunikacja itp. Pewne rzeczy robi się "na zapas", co nie zawsze ma sens. Całkowicie kuriozalne są przypadki, gdy XML służy do komunikacji pomiędzy dwoma często wywoływanymi procedurami w ramach tego samego modułu programu. Gdy jeszcze pierwszym elementem takiego dokumentu jest "identyfikator" sesji, a drugim - dane binarne zapisane jako base64... to nie jest przykład wyssany z palca.

Od prostoty do nieskończoności

Nie można nie zauważyć, że wszystko to ma miejsce, ponieważ technologie "około XML-owe" są zbyt rozbudowane i bardzo uniwersalne. To niby dobrze, ale z drugiej strony, czasem warto, by pewne elementy XML uprościć. Weźmy np. XSLT - język pozwalający określić zasady transformacji dokumentu. Programista wskazuje w nim zbiory i określa warunki, w których konkretna transformacja będzie zastosowana itp. Twórcy witryn czasami zapominają, że dany element byłoby znacznie prościej napisać przy użyciu pętli czy warunku logicznego, a więc poleceń znanych z każdego języka strukturalnego. W konsekwencji powstają bardzo złożone arkusze transformacji, które mozolnie muszą być przekształcane poprzez parser. To nie może działać wydajnie.

Początkowo idea była taka, że to serwer wysyła XML i XSLT, a przeglądarka kliencka generuje wynik. Problemem okazał się fakt, że, po pierwsze, są pewne różnice w sposobach działania konkretnych parserów w przeglądarkach, a po drugie, że czasami taka transformacja jest zbyt obciążająca dla komputera-klienta systemu - zwłaszcza w przypadku rozwiązań mobilnych. Tak więc powszechne jest to, że całą transformację XSLT wykonuje serwer i odsyła klientowi gotowy wynik. Niewiele osób zadaje sobie pytanie - czy na pewno opłacalne jest wykorzystywanie całej maszynerii standardów XSL(T). W wielu przypadkach można je zastąpić wynikiem, szybko generowanym na podstawie szablonu.

Oceń artykuł

średnio: 0 liczba ocen: 0
1  2  3  dalej »

Komentarze (0)

Najnowsze

Państwo do konsolidacji

Obywatele uważają administrację publiczną za jeden organizm. W rzeczywistości jest to kilka tysięcy oddzielnych struktur, obrosłych biurokratycznymi naroślami. Czy można zracjonalizować działanie państwa? Jak w tym może pomóc informatyka?

Zarządzanie po japońsku

W praktyce przemysłowej wypracowano szereg skutecznych metod zarządzania. Wiele powstało w Japonii. Dlaczego, mimo ich efektywności, nie zawsze są stosowane w biznesie?

e-Sąd z odsieczą sprawiedliwości

Polski wymiar sprawiedliwości postrzegany jest jako skostniały i opieszały. Tymczasem kolejne e-usługi udostępniane przez Ministerstwo Sprawiedliwości ułatwiają życie przedsiębiorcom i usprawniają pracę sądów.

e-Zdrowie w Polsce i na świecie

Projekty informatyzacji służby zdrowia realizowane są na świecie z różnym powodzeniem. Skąd Polska mogłaby czerpać wzorce? A może jesteśmy skazani na własne rozwiązania?

Raport Państwo 2.0, czyli nowa wizja informatyzacji państwa

Michał Boni, minister administracji i cyfryzacji, zaprezentował raport "Polska 2.0. Nowy start dla e-administracji". Przedstawia on informacje na temat stanu realizacji projektów będących w gestii nowo utworzonego ministerstwa oraz prezentuje kierunki dalszych działań związanych z informatyzacją i cyfryzacją administracji publicznej w naszym kraju.

Cyberprzestępcy podążają za użytkownikami

Już dwie na trzy polskie firmy odnotowały ataki lub awarie, które spowodowały spadek produkcji. Co trzecia firma utraciła dane. Liczba takich przypadków będzie rosła, bo hakerzy biorą na cel najbardziej masowe technologie. Szybko reagują też na zmiany w firmowej architekturze.

Jak zaplanować karierę w branży IT

Doświadczenia łączone na różnych stanowiskach w firmach o odmiennych profilach są szczególnie cenione przez pracodawców. Dlatego warto głęboko przeanalizować możliwości rozwoju kariery, które obecnie stwarza rynek IT.

Rekomendacje



Serwisy IDG - Warunki obsługi - Kontakt - Redakcja - Regulamin - O nas - Polityka prywatności - Serwis zgodny z ASME
Reklama - Licencjonowanie treści - Prenumerata: Computerworld, Networld, PC World
Computerworld Polska i Computerworld Polska online są znakami towarowymi IDG Poland SA.
© Copyright 2012 International Data Group Poland S.A. 04-204 Warszawa ul. Jordanowska 12 tel.(+4822)321-78-00 fax(+4822)321-78-88