Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
Klasy zastosowań XML-a Zarządzanie dokumentami, treścią, wiedzą: Elektroniczna wymiana danych, integracja aplikacji: Pierwotne zastosowanie SGML-a. Nowa klasa zastosowań XML-a. Dokumenty tworzone przez człowieka i przeznaczone dla człowieka. Dokumenty tworzone oraz przetwarzane automatycznie Długi czas życia dokumentów. Dokumenty tworzone tylko na czas komunikacji. Historycznie, zastosowania SGML-a wiązały się z zarządzaniem dokumentami. Są to więc także zastosowania XML-a. Prostota XML-a sprawiła jednak, że zaczął on być używany także w serwisach internetowych, publikacjach elektronicznych oraz do elektronicznej wymiany danych między systemami komputerowymi. Szczególnie te ostatnie zastosowania zasługują na uwagę, ponieważ sposób wykorzystania przez nie XML-a diametralnie różni się od pierwotnych założeń leżących u podstaw SGML-a. „SGML był związany z praktyką klasycznego edytorstwa. Dokument SGML, choć elektroniczny, był nadal czymś ‘namacalnym’, stanowił określony korpus tekstów, opracowywanych w ramach systemu edytorskiego lub udostępniany w obrębie sieci lokalnej. W normie SGML najwyraźniej założono, że teksty będą znakowanie ręcznie. [...] XML powstał w innym świecie – w świecie opasanym globalną siecią. Stanowi odpowiedź na potrzeby, jakie stawia publikowanie zasobów baz danych w skali Internetu i w lokalnych intranetach. Jego żywiołem są raczej dokumenty automatycznie generowane niż redagowane, dokumenty tworzone dynamicznie na żądanie, dokumenty wirtualne, integrujące informacje z wielu źródeł, których nikt nigdy w nie opracował w takim kształcie, w jakim są prezentowane.” (Włodzimierz Wypych, Na początku był rękopis, czyli o historii XML-a, Software 2.0, 6’2001) Typowy model mieszany zawartości. Konieczność dokładnego kontrolowania struktury i zawartości. 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
Dwie twarze XML-a Dokument tekstowy: Baza danych: <zamowienie> <zeznanie-sprawcy> Wypadek dnia <data> 13.01.2001 r.</data> o godzinie <godzina>13.13 </godzina> (<dzien-tygodnia>piątek </dzien-tygodnia>) miał miejsce nie z mojej winy. <poszkodowany>Alojzy M.</poszkodowany> nie miał żadnego pomysłu w którą stronę uciekać, więc go przejechałem. </zeznanie-sprawcy> <zamowienie> <pozycja> <nazwa>Papier</nazwa> <jednostka>ryza </jednostka> <ilosc>3</ilosc> </pozycja> <zamawiajacy id=”123456”> <imie>Szymon</imie> <nazwisko>Zioło </nazwisko> <firma>ABG Ster-Projekt </firma> </zamawiajacy> </zamowienie> Te różnicę między dwoma klasami zastosowań ilustrują dwa przykłady dokumentów. Podstawą dokumentu tekstowego, stosowanego w zastosowaniach związanych z zarządzaniem treścią, jest mieszany model zawartości, w którym tekst jest w dowolny sposób przemieszany z podelementami. Natomiast aplikacje wymieniające przy pomocy XML-a dane w sposób automatyczny operują zwykle na relacyjnych bazach danych. Dlatego struktura takiego dokumentu jest ściśle określona i często odpowiada strukturze odpowiedniej bazy danych. 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
XML w systemach zarządzania treścią XML w tworzeniu treści: kontrola poprawności strukturalnej dokumentów, dokumenty oznakowane semantycznie od początku swego istnienia, edycja: dedykowane edytory XML, formularze elektroniczne. XML w przetwarzaniu treści: automatyczne przekształcenia dokumentów, ekstrakcja wartości metainformacji, dowiązania (linki) semantyczne z i do fragmentów treści dokumentów aktualizacja „twardych faktów”, warianty dokumentów. XML w publikowaniu treści: jedno źródło – wiele publikacji. W systemach zarządzania treścią mówimy często o trzech fazach życia tej treści: tworzeniu, przetwarzaniu oraz publikowaniu. Oczywiście możliwe i całkiem sensowne jest zarządzanie dokumentami niestrukturalnymi (np. w formacie Ms Word), ale wykorzystanie XML-a od samego początku istnienia treści, czyli już w momencie jej tworzenia, może wnieść nową jakość w możliwości wykorzystania tej treści. Wymaga to jednak zmiany podejścia także u samych autorów, którzy muszą tworzyć dokumenty oznakowane w sposób semantyczny. Kolejne slajdy zawierają przypomnienie technik omawianych już na zajęciach dotyczących zarządzania dokumentami. Techniki te najłatwiej jest bowiem stosować, korzystając z dokumentów XML. 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
Linki semantyczne Powiązanie dokumentów (fragmentów dokumentów) z innymi dokumentami (fragmentami). Nadanie znaczenia linkom: wyszukiwanie z użyciem faktów, efektywna nawigacja, automatyczne przetwarzanie. książę - kraj <OSOBA-MOWIACA><KSIAZE ID-KRAJU=”d1”>Hamlet<KSIAZE></OSOBA-MOWIACA> <WYPOWIEDZ><KRAJ ID=”d1”>Dania</KRAJ> jest więzieniem. </WYPOWIEDZ> Znaczenie linkom możemy nadać poprzez zastosowanie elementów o różnych nazwach dla oznaczenia linków o różnych znaczeniach. W tym przykładzie cała informacja o linkach (identyfikator oraz odwołanie do niego) jest pamiętana w samej treści dokumentu. Bardziej zaawansowane rozwiązanie (np. wykorzystujące standard XLink) może polegać na przechowywaniu linków poza dokumentami, np. w bazie danych. Wówczas w dokumentach umieszcza się jedynie identyfikatory będące odwołaniami do tabeli bazodanowej. 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
Metainformacje – przykład <zeznanie-sprawcy> Wypadek dnia <data> 13.01.2001</data> o godzinie <godzina>13.13 </godzina> (<dzien-tygodnia> piątek</dzien-tygodnia>) miał miejsce nie z mojej winy. <poszkodowany>Alojzy M.</poszkodowany> nie miał żadnego pomysłu w którą stronę uciekać, więc go przejechałem. </zeznanie-sprawcy> Nr protokołu: 1313/2001 Miejsce: Dołowice Górne Data: 13.01.2001 Czas: 13.13 Rodzaj: potrącenie pieszego Sprawca: Walenty Pechowy Sprawę prowadzi: st. asp. Jan Łapówka Jak wiemy, granica między metainformacją a informacją jest płynna – niektóre metainformacje pojawiają się bowiem także w treści samego dokumentu. Dzięki precyzyjnemu oznakowaniu metainformacji w treści dokumentu strukturalnego XML, możliwe jest automatyczne ekstrahowanie ich wartości z treści dokumentu. 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
Aktualizacja „twardych faktów” – przykład <haslo id=”dk”><tytul>Dania</tytul> ... <treść>Liczba mieszkańców: <wstaw-akt-lm/> (<wstaw-akt-lm-rok/>).</treść> </haslo> select akt_lm from liczba_mieszk where panstwo=”dk” select akt_lm_rok from liczba_mieszk where panstwo=”dk” W encyklopedii różne dane liczbowe są sukcesywnie uaktualniane. Dlatego powinny być one przechowywane poza treściami haseł – w bazie danych. Pobieranie z bazy i osadzanie w dokumentach powinno następować w momencie przygotowywania publikacji. Dzięki temu wszędzie mogłyby występować najbardziej aktualne dane. 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
Warianty dokumentów – przykład <akt> ... <art nr=”2.”>Przywóz wody nie jest objęty cłem.</art> <wariant-ref id=”a436”/> ... </akt> od=* do=18.01.2006 od=19.01.2006 do=* W dokumencie reprezentującym akt umieszczamy zamiast treści zmienionego artykułu jedynie specjalny element – odwołanie do tzw. dowiązania wariantowego. Dowiązanie to (pamiętane poza dokumentem, np. w bazie danych) „rozdziela się” na dwa dowiązania do dokumentów zawierających dwie wersje zmienionego artykułu. Kryterium wyboru drogi zapisane jest w metainformacjach dowiązania – w tym wypadku jest nim zakres dat. Zarówno dowiązania, jak i dołączane warianty dokumentu, najłatwiej jest zapisywać w formie struktur XML-owych. <art nr=”3.”>Cło na przywóz śniegu wynosi 30%.</art> <art nr=”3.”>Cło na przywóz zamrożonej wody wynosi 30%.</art> 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
Geneza elektronicznej wymiany danych (EDI) Problemy z automatyzacją procesów między przedsiębiorstwami. „Izolowane wyspy” Technologie elektronicznej wymiany danych są rozwijane już od około 30 lat. Zanim jednak taka wymiana stanie się potrzebna, przedsiębiorstwa najpierw automatyzują wewnętrzne procesy obiegu dokumentów. Połączenie między przedsiębiorstwami nie jest jednak zwykle możliwe bezpośrednio, ze względu na różne platformy sprzętowe, aplikacje i formaty danych. Dlatego wymiana dokumentów między przedsiębiorstwami pozostaje w postaci tradycyjnej – papierowej. Różne rodzaje „zygzaków” reprezentują różne formaty kodowania informacji (komunikatów). 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
Standardy EDI Standard EDIFACT – United Nations Standard Messages Directory for Electronic Data Interchange For Administration, Commerce and Transport. ANSI Accredited Standards Committee X12 sub-group. Standard Możliwe jest oczywiście wdrożenie interfejsów wymiany danych pomiędzy konkretnymi przedsiębiorstwami. Przygotowywanie osobnego rozwiązania integrującego dla każdej pary współpracujących przedsiębiorstw byłoby jednak nieefektywne. Dlatego opracowano standardowe metody kodowania i przesyłania komunikatów EDI. EDIFACT jest rozpowszechniony w Europie, zaś X12 jest bardziej popularny za oceanem. Wykorzystanie standardu wymaga zastosowania konwerterów – ale tym razem tylko jednego dla całego systemu, niezależnie od ilości współpracujących kontrahentów. Konwertery są zwykle dostarczane wraz z systemami klasy ERP. 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
EDIFACT – fragment komunikatu TDT+20+57EP12+1++HLC:172:20+++8407319:146::HAMBURG EXPRESS:DE’ RFF+VM:DIHE’ RFF+VON:51WP11’ FTX+TRA+++CEE-CHINA EUROPE EXPRESS LOOP 4’ FTX+AAI+++MASTER PETER SUNSHINE’ Komunikaty EDIFACT mają postać odpowiednio zakodowanych dokumentów tekstowych. ABy zrozumieć ich strukturę, trzeba zajrzeć do specyfikacji formatu danego komunikatu. Sam komunikat nie zawiera żadnych informacji o strukturze i znaczeniu informacji. 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
EDIFACT – przykład: Details of Transport 8051 TRANSPORT STAGE QUALIFIER M an..3 8028 CONVEYANCE REFERENCE NUMBER C an..17 C220 MODE OF TRANSPORT C 8067 Mode of transport, coded C an..3 8066 Mode of transport C an..17 C228 TRANSPORT MEANS C 8179 Type of means of transport identification C an..8 8178 Type of means of transport C an..17 C040 CARRIER C 3127 Carrier identification C an..17 1131 Code list qualifier C an..3 3055 Code list responsible agency, coded C an..3 3128 Carrier name C an..35 8101 TRANSIT DIRECTION, CODED C an..3 C401 EXCESS TRANSPORTATION INFORMATION C ... C222 TRANSPORT IDENTIFICATION C Slajd przedstawia fragment definicji komunikatu EDIFACT. Składa się ona z listy pól oraz sekcji, zawierających pola. Każde pole ma określone pewne atrybuty, np. typ wartości (an – alfanumeryczny), ilość znaków, wymagalność pola. 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
EDIFACT – przykład: 8051 Transport stage qualifier 1 Inland transport 2 At the statistical territory limit 10 Pre-carriage transport 11 At border 12 At departure 13 At destination 20 Main-carriage transport 21 Main carriage - first carrier 22 Main carriage - second carrier 23 Main carriage - third carrier 30 On-carriage transport Wiele wartości występujących w komunikatach to kody oznaczające wartości zdefiniowane w słowniku. 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
Nowa EDI Pomysł: zakodować strukturę dokumentu EDI przy pomocy elementów XML. <faktura> <dostawca> <nazwa>Krzak i Syn sp. z o.o.</nazwa> <adres>ul. Kota 7</adres> <kod>13-313</kod> <miasto>Dołowice Górne</miasto> </dostawca> ... </faktura> N1*BY*92*1287 N1*ST*92*87447 N1*ZZ*992*1287 PO1*1*1*EA*13.33**CB* 80211*IZ*364*UP*718379271641 Gdy XML zaczął być popularny i powszechnie używany, podjęto próbę wykorzystania go w elektronicznej wymianie danych. Na pierwszy rzut oka jest to tylko zmiana formatu komunikatów. Jej konsekwencje były jednak większe niż się spodziewano. 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
Tradycyjna EDI – XML EDI Format dokumentów zapisany w specyfikacji. „Samoopisujący się” format dokumentów. Zwięzłe komunikaty, zawierające tylko niezbędne dane. Rozwlekłe komunikaty – narzut na „samoopisywanie się”. Scentralizowana, trudna zmiana standardu. Możliwość tworzenia własnych odmian standardów. Zmiany standardu pociągają uciążliwe zmiany oprogramowania. Większość problemów ze zmianą standardu bierze na siebie parser XML. Komunikaty EDIFACT zawierają jedynie dane, oddzielone od siebie odpowiednimi separatorami. Znaczenie każdej danej jest opisane w specyfikacji. Komunikaty EDIFACT są więc stosunkowo zwięzłe (takie musiały być 30 lat temu, kiedy liczył się każdy bajt pamięci). W przeciwieństwie do nich, dokumenty XML zawierają nazwy elementów i atrybutów, które są w pewnym sensie informacją nadmiarową, powodującą rozwlekłość komunikatu. Dzięki temu XML jest jednak bardziej elastyczny i odporny na zmiany, bowiem aplikacje korzystające z komunikatów XML nie muszą mieć „zakodowanej w sobie” specyfikacji formatu komunikatu, lecz mogą być sparametryzowane strukturą komunikatu zawartą w samej jego treści. 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
Tradycyjna EDI – XML EDI Przetwarzanie przez specjalne aplikacje Interakcja przy pomocy przeglądarki Implementowanie od podstaw Możliwość korzystania z gotowych narzędzi Łącza dedykowane dla EDI (Value Added Networks) Internet + bezpieczne protokoły Możliwość integracji z tradycyjnymi systemami EDI Tradycyjne dokumenty EDI wymagają specjalnych aplikacji do ich przetwarzania, z reguły pisanych od zera. W przypadku XML EDI, możemy wykorzystać istniejące parsery XML-a i inne moduły programistyczne wspierające przetwarzanie dokumentów XML. Technologie EDI powstawały w czasach, gdy nie było Internetu. Dlatego tradycyjna EDI jest zwykle realizowana na dedykowanych łączach, tzw. Value Added Networks (VAN). Dostawca takich łącz dzierżawi je zwykle od korporacji telekomunikacyjnej, dodając usługi takie jak wykrywanie błędów, bezpieczeństwo komunikatów. Opłaty za takie łącza zależą zwykle od ilości przesyłanych informacji. Poziom bezpieczeństwa i dodatkowych usług oferowany przez sieci VAN można obecnie osiągnąć przy pomocy Internetu, infrastruktury PKI oraz bezpiecznych (szyfrowanych) protokołów komunikacyjnych. 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
Elastyczność XML EDI Krzak i Syn <firma nazwa=”Krzak i Syn” adres=”Kota 7” kod=”13-313” miasto=”Dołowice Górne” email=”krzak@krzak.pl” /> <firma nazwa=”Krzak i Syn” email=”krzak@krzak.pl” /> Krzak i Syn Adres: Kota 7 Kod: 13-313 Miasto: Dołowice Górne Tel. Pewne zmiany w ustalonym formacie danych mogą się obejść bez jakichkolwiek poprawek oprogramowania. Na przykład można stosować różne zestawy atrybutów opisujących firmę. Dodanie nowego atrybutu email nie powoduje błędnego działania aplikacji, która takiego atrybutu nie oczekuje – jest on przez nią ignorowany. <firma nazwa=”Krzak i Syn” adres=”Kota 7” miasto=”Dołowice Górne” /> 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
XML EDI a przeglądarki internetowe XSLT jako język opisu formatowania. Nowe zastosowanie EDI: podstawowa funkcjonalność – wymiana danych między aplikacjami przedsiębiorstw, nowe perspektywy: kontakt z klientami wyposażonymi tylko w przeglądarki, E-Commerce. Dzięki rozpowszechnieniu Internetu można myśleć o wykorzystaniu technologii XML EDI wszędzie tam, gdzie klient nie zawsze jest wyposażony w systemy komputerowe wspierające EDI, a więc np. w sklepach internetowych, w firmach kurierskich (klient śledzi drogę przesyłki), itp. 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
Inicjatywy standaryzacji XML-EDI XML jest zbyt elastyczny. Inicjatywy standaryzacyjne: ogólne – dążą do ukierunkowania tej elastyczności, aby: można było wymieniać informacje dowolnego typu, informacje jednego typu były tak samo reprezentowane; np. Electronic Business XML – ebXML; branżowe – standaryzują konkretne komunikaty: SWIFT, RosettaNet, Automotive Industry Action Group, Health Level Seven, Open Travel Alliance, ... XML pozwala zamodelować i zakodować wszystko. Niestety, ten sam byt można zakodować na wiele sposobów, różniących się choćby nazwami elementów. Inicjatywy standaryzacyjne w różny sposób próbują ograniczyć tą dowolność, która w końcu może przeszkadzać w integracji. Najważniejszym standardem, wypromowanym w ostatnich latach, jest ebXML. Większość inicjatyw branżowych stworzyła lub tworzy wersje swoich standardów zgodne z założeniami ebXML. XML 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
ebXML ebXML: Electronic Business XML Working Group: zbiór specyfikacji definiujących sposób prowadzenia biznesu i wymiany danych przez Internet, zaakceptowane 14 maja 2001 r. Electronic Business XML Working Group: założona we wrześniu 1999 r., patronat OASIS i UN/CEFACT. Electronic Business XML Working Group jest organizacją typu non-profit, powołaną w celu przygotowania zbioru specyfikacji. Obecnie prace grupy roboczej koncentrują się wokół zbierania wymagań i przygotowywania kolejnych wersji specyfikacji. www.ebxml.org 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
Podejście do standaryzacji Meta-model pozwalający na opracowywanie modeli specyficznych dla zastosowań: zbiór podstawowych schematów, elementów XML oraz procesów biznesowych, sposób definiowania słowników danych, nie definiuje konkretnych, docelowych komunikatów. Metainformacje: informacje o wersjach, metadane odpowiadające nagłówkom z istniejących systemów EDI. Ramy architektury technicznej: sposoby implementacji repozytoriów, serwisów, itp., integracja z istniejącymi technologiami EDI. Grupa ebXML zaprojektowała ramę pozwalającą na opracowywanie specyficznych sub-standardów. Jej podstawą będzie repozytorium przechowujące typowe obiekty (schematy, elementy). ebXML zakłada od początku integrację z istniejącymi technologiami. Podstawowy zbiór komponentów, używanych niezależnie od technologii, zostanie bowiem opisany w sposób niezależny od konkretnej implementacji. ebXML będzie ponadto wspierać konwersje i migracje z i do istniejących technologii (np. EDIFACT). 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
XML a relacyjne bazy danych Korzyści: integracja aplikacji, wymiana danych, łatwe transformacje danych, prezentacja danych. Problemy: czy i jak przechowywać dokumenty XML w bazie danych? metody dostępu (zadawania zapytań), efektywność. Podstawowymi składnikami aplikacji biznesowych są bazy danych. Dlatego systemy nimi zarządzające powinny w pierwszej kolejności wspierać XML, jeśli myślimy o integracji przy użyciu tej technologii. Chcemy więc przechowywać w bazach danych także dokumenty XML. Ale nie zawsze hierarchiczna struktura dokumentów XML przystaje do relacyjnej struktury bazy danych. Pojawiają się wtedy pytania, jak efektywnie zorganizować przechowywanie i dostęp do dokumentów XML. 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
Klasyfikacja wsparcia dla XML-a w bazach danych Wg wewnętrznej reprezentacji danych? XML-enabled – przechowująca dokumenty w postaci zdekomponowanej, native XML – przechowująca dokumenty w „naturalnej” postaci. Lepiej wg dostępnych operacji i zastosowania: (relacyjna) baza danych: konfiguracja struktur danych przy pomocy tabel i relacji, umożliwia eksport i import danych w postaci dokumentów XML, struktura dokumentów XML pochodną relacyjnych struktur danych, zastosowanie: integracja, wymiana danych; XML-owa baza danych: przechowuje dokumenty XML, konfiguracja struktur danych przy pomocy DTD/XML Schema, Indeksowanie elementów, atrybutów, wyrażeń XPath, wyszukiwanie z użyciem XQuery, zastosowanie: przechowywanie i przetwarzanie dokumentów strukturalnych. Gdy XML zyskał na popularności, w relacyjnych bazach danych pojawiły się funkcje pozwalające np. na generowanie dokumentów XML z zawartości bazy danych oraz na wypełnianie bazy danych na podstawie zawartości dokumentów XML. Sama baza danych pozostawała jednak relacyjna. Pojawiły się także konkurencyjne rozwiązania, reklamujące się jako bazy danych, w których XML – w przeciwieństwie do baz relacyjnych – jest naturalnym (ang. native) sposobem przechowywania danych. Zwróćmy jednak uwagę, że sposób przechowywania danych w bazie nie powinien mieć dla nas (użytkowników bazy) żadnego znaczenia. Liczą się jedynie funkcje oferowane przez bazę danych oraz ich efektywność i wydajność. Poza tym funkcje pozwalające na dostęp do danych relacyjnych za pośrednictwem dokumentów XML nie są wcale konkurencją dla funkcji pozwalających na przechowywanie i przetwarzanie dokumentów XML w bazie. Te dwie grupy funkcji się uzupełniają, każda z nich jest przydatna w pewnych zastosowaniach. 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
XML w Oracle 10g Wbudowane parsery XML (PL-SQL, Java i C++). XML-SQL Utility: generowanie XML-a bezpośrednio z bazy przy pomocy specjalnych zapytań, wypełnianie bazy na podstawie zawartości dokumentu XML. XML-SQL Servlet: ułatwia budowanie aplikacji internetowych opartych na Oracle’u. XMLType – specjalny typ danych: używany do deklarowania kolumn, tabel, perspektyw, zmiennych, indeksowanie zawartości XML, zapytania XQuery, kontrola poprawności strukturalnej względem XML Schema, przekształcenia XSLT. Firma Oracle zareagowała na pojawienie się XML-a, dołączając mechanizmy go wspierające do swojego flagowego produktu. System Oracle może stanowić wzór tego, w jaki sposób systemy zarządzania bazami danych powinny wspierać wykorzystanie XML-a. Najsłabiej związanym z samym systemem Oracle sposobem wykorzystania XML-a jest operowanie dokumentami XML we własnych aplikacjach będących klientami bazy Oracle. W tym celu programiści mogą wykorzystać jeden z parserów dostarczanych przez Oracle po to, aby np. wypełniać bazę zawartością na podstawie dokumentu przetworzonego przez parser. Korzystając z pakietu XML-SQL Utility, dokumenty XML można generować bezpośrednio z tabel relacyjnych, a także zasilać bazę przy pomocy dokumentów XML. Jest to więc dodatek XML-owy do tradycyjnej, relacyjnej bazy danych. W systemie Oracle począwszy od wersji 9i jest także dostępny specjalny typ danych – XMLType – dedykowany do przechowywania dokumentów XML. Wartości w kolumnach tego typu mogą być np. specjalnie indeksowane i odpytywane z wykorzystaniem ścieżek XPath bezpośrednio w zapytaniach SQL. Można także zadeklarować całą tabelę lub perspektywę (view) typu XMLType. Perspektywa może być założona także na zwykłych tabelach relacyjnych, wtedy Oracle udostępnia dane z tych tabel w postaci XML-a. Oracle łączy więc funkcje relacyjnej bazy danych ze wsparciem dla XML-a oraz XML-owej bazy danych. www.oracle.com/xml/ 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
Oracle XML-SQL Utility – przykład Zapytanie: SELECT xmlgen.getXML(’select * from emp’) FROM dual; Wynik: <rowset> <row id=”1”> <empno>10</empno> <name>Scott Tiger</name> <title>specialist</title> </row> ... </rowset> Domyślna struktura elementów używana w Oracle-u zawiera ustalone elementy opisujące wiersze (row, rowset) oraz elementy o nazwach odpowiadających kolumnom tabeli. Wszystkie nazwy elementów można jednak przedefiniować tak, aby zgadzały się z używanymi na zewnątrz, przez aplikację, która jest adresatem danych. 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
XMLType – przykłady zwraca: SELECT extract(value(X), '/PurchaseOrder/LineItems/LineItem/Description') FROM XMLTABLE X; zwraca: <Description>The Ruling Class</Description> <Description>Diabolique</Description> SELECT extractValue(value(t),'/Description') FROM XMLTABLE X, TABLE (xmlsequence(extract(value(X), '/PurchaseOrder/LineItems/LineItem/Description'))) t; The Ruling Class Diabolique Źródło: Oracle 9i XML Database Developer’s Guide, www.lc.leidenuniv.nl/awcourse/oracle/appdev.920/a96620/toc.htm 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
XML a bazy danych – przegląd Relacyjne bazy danych ze wsparciem dla XML-a: Oracle 8i / 9i / 10g Microsoft SQL Server 2000 DB2, IBM Sybase ASE 12.5 XML-owe bazy danych: Oracle 9i / 10g Tamino, Software AG TEXTML Server, InxiaSoft dbXML (open source) eXist (open source) Xindice, Apache Software Foundation (open source) 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych
Gdzie szukać dalej Bryan, M. et. al., Guidelines for using XML for Electronic Data Interchange www.eccnet.com/xmledi/guidelines-styled.xml EDISON – Narodowy Operator EDI www.edison.net.pl www.edi.pl Zioło, S. , Księżyk, R., Wykorzystanie języka XML w EDI Materiały na VIII Krajową Konferencję EDI-EC, Wydawca: Niedźwiedziński Consulting, Łódź, 2000 Bourret, R., XML and Databases www.rpbourret.com/xml/ Research note: The demise of the XML database www.it-analysis.com/article.php?articleid=11287 2007-01-07 Zastosowanie XML-a w zarządzaniu treścią i elektronicznej wymianie danych