Hegemon informacyjnej dżungli

Ciekawe podejście zastosował Novell w DirXML. Jest to produkt, który zapewnia wymianę danych między aplikacjami przy użyciu specjalnych sterowników, przekładających dane źródłowe na XML. Rozwiązanie to ściśle współpracuje z usługami katalogowymi NDS, toteż autoryzacja także jest wykonywana na innym poziomie - właśnie za pośrednictwem NDS. XML został więc tu sprowadzony do roli formatu przekazywania danych. O tym, czy dana osoba ma odpowiednie uprawnienia do dostępu do danej partii informacji, decyduje NDS (odwołanie następuje np. przy użyciu LDAP).

Kolejnym nie rozwiązanym na razie problemem jest zapewnienie transakcyjności operacji. W przypadku operacji biznesowych ważne jest, by każda ze stron transakcji wiedziała, czy druga strona zakończyła operację sukcesem. W przypadku rozproszonych baz danych króluje dwufazowy protokół potwierdzeń. Istnieje wiele prób implementacji tego protokołu w komunikacji przy użyciu XML, jednak generalnie zapewnienie charakterystyki ACID transakcji jest przesuwane na warstwę transportową (czyli to, w jaki sposób komunikaty są przekazywane).

Metadane

Coraz większym problemem związanym z XML-em jest zarządzanie i opis informacji. Chociaż coraz większa ilość informacji jest gromadzona w tym formacie, to nie ma efektywnych metod ich katalogowania. Powstały już wprawdzie wyspecjalizowane algorytmy do indeksowania XML (np. w firmie Fujitsu), jednak na razie są one pracami teoretycznymi. W3C zaproponowała pewien framework do definiowania metadanych, które mogą być następnie automatycznie przetwarzane przez wyszukiwarki czy roboty indeksujące. RDF (Resource Description Framework) ma pozwolić na komunikację między różnymi aplikacjami, tak by w razie potrzeby dokumentu określonego typu, można go było odnaleźć. RDF przypomina UKD w bibliotekach, ale każdy z poziomów drzewa może być rozbudowywany (nawet przez osobę, która wyprodukowała dany dokument XML). Zasobami opisywanymi przez RDF jest dowolny element, do którego można uzyskać dostęp za pośrednictwem URI. RDF definiuje także ogólne schematy (klasy) metadanych oraz propozycję języka kwerend do wyszukiwania danych. Przykładem metadanych może być opis prac naukowych, który zawiera m.in. informacje o autorze, tytule, krótkim streszczeniu i klasyfikacji.

Jak programować?

Oprócz standardu zapisu, specyfikacja XML to także kilka interfejsów programistycznych przeznaczonych do przetwarzania plików XML z poziomu aplikacji. W3C określiło podstawowy standard API - XML DOM. Obecnie jest dostępna trzecia specyfikacja XML DOM, gdzie zostało opisane API przetwarzania modelu (sprawdzania poprawności itp.), oraz specyfikacja, pozwalająca przetwarzać zdarzenia i samo jądro, gdzie są zdefiniowane funkcje, umożliwiające odwoływanie się do poszczególnych elementów dokumentu XML. Programista, posługując się DOM, może "przejść" po strukturze drzewiastej XML, zadać pytanie XPath, które zwróci mu wybrany fragment dokumentu, czy dodawać własne atrybuty. Jednak wszystkie te operacje wymagają wykonania - przed przetwarzaniem jednej operacji - wczytania do pamięci całego dokumentu XML.

Drugim sposobem przetwarzania dokumentu jest SAX (Simple API for XML). Zamiast wczytywać cały dokument i budować drzewo DOM, SAX pozwala określić procedury obsługi zdarzeń wyzwalanych w momencie, gdy parser XML napotka określony znacznik lub gdy określony zbiór warunków będzie prawdziwy. W ten sposób SAX ma znacznie mniejsze wymagania, nie wymaga bowiem dużej ilości pamięci, tak jak budowa struktury DOM.


TOP 200