Projekty, v nichž se počítá s využitím XML komponent, dnes probíhají v bezpočtu podniků. Navíc je ve formátu XML ukládáno stále větší množství kriticky důležitých obchodních dat, poněvadž všechny velké databázové systémy už tuto technologii podporují. V případě společnosti Microsoft je funkcionalita v balíku Office 2003 související s XML zřejmě tím nejdůležitějším krokem vpřed. A konečně, XML je základem webových služeb, formátu webových zpráv RSS a mnoha dalších protokolů sloužících pro výměnu dat.
Přitom může XML nabídnout na první pohled jen málo něčeho skutečně nového: Například XML Information Set jde jen sotva dále než S-Expressions, které zavedl programovací jazyk Lisp už před zhruba 20 lety. Na XML založené webové služby nabízejí přibližně stejné technické možnosti jako přibližně 10 let stará architektura CORBA (Common Object Request Broker Architecture). Technologicky vzato se vlastně XML nehodí ani pro relační databázový model, ani pro objektově orientovaný softwarový vývoj.
A přesto: XML je nasazováno stále častěji a nabývá na důležitosti i v podnicích, které se tuto technologii dosud zdráhaly používat. Tato situace je srovnatelná s řetězovou reakcí, k níž došlo svého času i u P2P výměnných sítí. Čím více uživatelů si takový systém nainstalovalo, tím atraktivnějším se celé řešení stávalo pro ostatní účastníky. Nárůst hodnoty, k němuž dochází díky tomuto efektu, pak kompenzuje případné technologické výhody jiných možných řešení. A konečně, XML je použitelné v tolika různých oblastech, že dnes mohou zodpovědní IT manažeři jen stěží ignorovat výhody, které s sebou přináší související standardizace.
Nejdůležitější však je, že XML odstranilo historicky vytvořené hranice mezi dokumenty a daty. Nehraje zde roli, zda mají být informace zpracovány uživatelem nebo strojem -- XML je možné nasadit v obou případech. Neboli, jak konsorcium W3C (World Wide Web Consortium) shrnuje ve své analýze XML v deseti bodech (www.w3.org/XML/1999/XML-in-10-points): „XML není vždy ideálním řešením. Avšak vždycky se vyplatí jeho nasazení zvážit.“ IT průmysl si tuto vzal radu k srdci a XML je dnes ve většině aplikací nabízeno přinejmenším jako metoda pro export, import či výměnu dat.
Hierarchický popis
Lepšímu porozumění atraktivitě XML napomáhá pohled na důvody jeho nasazení. XML data jsou často charakterizována jako samopopisná nebo dokonce samointerpretovatelná, neboť každá hodnota je spojena se jménem nějakého elementu nebo atributu. Protože mají všechna data čitelný popis, je možné je jako triviální atributy pokládat za revoluční metody. Klíčovým faktorem je, že XML značky mají vždy určitý význam.
Alternativní formáty, které slouží pro ukládání informací bez takovéto dokumentace, vyžadují velké úsilí a nezbytné metod na straně příjemce dat, aby si dokázal poradit se změtí dat. Srozumitelný popis dat vede k jejich snazší interpretaci, takže program dokáže pochopit „smysl“ informací. XML opatří veškeré informace značkami, které může přečíst jakýkoliv program i uživatel. Analogicky s reálným světem je nicméně jasné, že schopnost přečíst značky není totéž jako jim porozumět. Jestliže například někdo vyzná ve značkách soudních spisů, neznamená to ještě, že je s to vyhledávat akta v archivu bez pomoci knihovníka.
V této souvislosti je třeba poznamenat, že uživatelé nebo programy se při zpracování XML dokumentů nemusejí vždy shodnout na významu popisovaných informací. Aplikace schopná pracovat s formátem XML může s těmito metadaty nakládat způsobem, který se jí jeví jako smysluplný -- nezávisle na tom, jaký byl záměr autora. To může vést k nepředpokládanému opakovanému použití dat.
Autoři XHTML stánek například často nasazují atribut class v kombinaci s kaskádovými styly CSS (Cascading Style Sheet), aby opticky uspořádali příslušný úsek či odstavec. Když má atribut class hodnotu „cena“, aby zdůraznil cenové údaje, může pak tuto skutečnost zužitkovat libovolný program, aby dokázal systematicky extrahovat prodejní ceny určitých výrobků z dané webové stránky. Tato značka nicméně nemusí nic vypovídat o podmínkách prodeje nebo o použité měně, v níž jsou ceny uvedeny. Jedná se tedy jednoduše o značku, která pomůže znalému čtenáři (ať už osobě či programu) porozumět smyslu popisu. Tato jednoduchá myšlenka se však osvědčila jako velmi účinná a široce využitelná i přesto, že se nedá mluvit o zcela univerzální srozumitelnosti.
Další podstatný aspekt související s rozšířením XML spočívá v tom, že tento jazyk umožňuje popsat informace hierarchickým způsobem. Mnohé koncepty nebo objekty je možné modelovat ve formě stromových diagramů - kupříkladu produkty, které určitý podnik vyrábí, sestávají z komponent a subkomponent, které lze klasifikovat do posledního šroubku. Organizace se segmentují na pobočky, oddělení a pracovní skupiny. Publikované informace se zase dělí na vydání, odstavce, kapitoly, nadpisy a paragrafy.
XML umožňuje uchopit základní vztahy mezi takovými daty jasným a jednoduchým způsobem. A není k tomu často nezbytný ani žádný sofistikovaný databázový systém využívající sdružené dotazy (Join) na samostatné tabulky a indexová pole.
XML je ideální v situaci, kdy mají být informace využívány společně v rámci různých aplikací a platforem. Komunikace funguje nezávisle na tom, v jakých programovacích jazycích byly napsány aplikace, i na tom, zda jsou data součástí dokumentu, databáze, zprávy nebo protokolu pro přenos dat. XML je dobrým kompromisem mezi formátem, jenž je čitelný pro stroj i pro člověka. Oběma chce nabídnout efektivní řešení, avšak výsledek může být pro komunikující strany obtížně srozumitelný. V praxi to znamená, že XML činí data nezávislými na aplikaci, v níž byla vytvořena. Jiné programy mohou zpracovávat informace z různých zdrojů podstatně jednodušeji bez toho, aby k tomu potřebovaly speciální filtry nebo ovladače. Boj s odlišnými datovými formáty díky tomu patří minulosti.
Stoupající požadavky
Velký potenciál je současně i největším problémem XML, neboť jeho možnosti jsou nezřídka přeceňovány. Tato technologie není v žádném případě univerzálním klíčem k interoperabilitě nebo všeobjímajícím dorozumívacím jazykem, na němž stojí celý IT svět. S podobnými výroky se lze dnes poměrně často setkat, ačkoliv ke skutečnosti mají ještě daleko - XML není jazykem, jemuž rozumí úplně každý. Podobá se latinské abecedě: Pomocí jejích znaků je možné tvořit slova či věty v různých jazycích, ale to, že jsou použity stejná písmena, automaticky neznamená, že například textu tohoto článku porozumí španělsky mluvící čtenář. Ale třeba překladatel už má život výrazně jednodušší, pokud každý jazyk nepoužívá odlišné znaky. Slovník a gramatické vědomosti pak postačují k tomu, aby bylo možné text přečíst správně.
Také XML nabízí něco zdánlivě nijak atraktivního, ale přesto velmi důležitého: standardizovaný způsob, jak lze informace popisovat a vyměňovat mezi aplikacemi, podniky a uživateli. V případě podniků dnes představuje největší výzvu skutečnost, že se musejí snažit o maximální využití nabízených výhod pro dosažení vyšší produktivity. A protože hraje XML v současných IT infrastrukturách významnou roli, je třeba vyvinout značné úsilí, aby bylo možné obejít omezení současné podoby standardu.
V současných prostředích, kde datová komunikace probíhá vzhledem k omezené šířce pásma relativně pomalu, se orientace XML na zprávy ukazuje jako limitující faktor. XML data jsou zpravidla mnohem objemnější než optimalizované binární formáty. S tím dochází i ke konfliktu zájmů u aplikací, které jsou odkázány na vysokou rychlost zpracování. XML popis totiž výrazně zpomaluje interpretaci dat. Aby bylo možné se s tímto problémem vyrovnat, mohou vývojáři buďto optimalizovat vlastní metody zpracování dat nebo se snažit přizpůsobovat příslušné specifikace. Jak se v současnosti ukazuje, vyvíjejí úsilí v obou směrech.
Různé organizace dnes jako na běžícím pásu vydávají vzájemně se překrývající specifikace založené na XML, které často nejsou ani dostatečně ověřeny, což nijak nepřispívá k urychlení vývoje celého odvětví Podpora standardu XML je považována za největší krok vpřed u aplikací kancelářského balíku Microsoft Office 2003 i příslušných serverových produktů |
Dalším faktorem je nutnost dosažení souladu mezi hierarchickým datovým modelem XML a existujícími návrhovými a programovacími modely. Z různých hledisek zde existují konflikty týkající se dostupných nástrojů a metod - software je dnes převážně vyvíjen s využitím objektově orientovaného přístupu a data jsou vnořena do objektů. Silnou stránkou XML je nezávislé předávání dat a striktní oddělení programového kódu.
Při ukládání dat je převážně využíván relační model, který určuje hierarchii mezi informacemi v různých tabulkách.
Samotné XML však přímo specifikuje vzájemné vztahy dat. Jazyk SQL 3 se míří podobným směrem a SQLX dokonce nabízí přímou podporu XML. Stále nicméně chybějí lepší metody a nástroje, pročež se dosud nedá mluvit o zcela konzistentní podpoře XML v aktuálních DBMS (Database Management System).
Tím se dostáváme k dalšímu problému: Standardizace funguje nejlépe, když je možné využít osvědčené metody. Někteří dodavatelé jsou bohužel i po mnohých zkušenostech z vývoje internetových technologií nepoučitelní. Namísto toho, aby se výrobci omezili na hrstku vyzkoušených standardů, jsou neustále publikovány nové, často zatím ne zcela ověřené specifikace. Takto jsou dnes různými organizacemi vydávány tucty vzájemně se překrývajících specifikací -- ať už za nimi stojí zmiňované World Wide Web Consortium (W3C), Web Services Interoperability Organisation (WS-I), Organization for Structured Information Standards (OASIS) nebo dokonce International Oraganisation for Standardisation (ISO). Všechny navrhují a předkládají metody a protokoly, jejichž specifikace se často mění před tím, než jsou vůbec první produkty na trhu.
Také samotné XML je neustále „v pohybu“. Odnedávna je k dispozici nová verze jeho specifikace 1.1. Ta je naštěstí pro uživatele méně důležitá než pro vývojáře komponent infrastruktury. Jisté je, že je okolí standardu XML natolik dynamické, že s rostoucí komplexitou vyvstávají potenciální komplikace. IT manažeři mohou jenom doufat, že se síla volného trhu postará o promptní sladění dalšího vývoje - mnohé komplexní a redundantní technologie by měly být pro dobro uživatele vyřazeny.
Už dnes se ale rýsují alespoň dvě oblasti, u nichž by data kódovaná pomocí XML měla do budoucna zajistit značnou přidanou hodnotu: Agregace informací a sémantická integrace. Termín informační agregace charakterizuje sdružování dat z různých zdrojů. Jak bylo řečeno, většina aplikací už dnes dokáže XML alespoň importovat a exportovat - zpracovávají XML i bez toho, aby přesně rozuměly obsahu. Takto například protokol SOAP využívaný pro komunikaci webových služeb dovoluje zabalit XML zprávu, přičemž pouze obsahuje v hlavičce informace o směrování, šifrování atd.
Sémantický web lze popsat jako zveřejnění obsahu relační databáze s tím, že k dispozici bude i popis jednotlivých atributů. To by mělo firmám umožnit manipulovat s externími heterogenními webovými daty jednotným způsobem -- stejně, jako pracují s daty interními. Srozumitelnost dat pro počítač by měly zajistit standardy, které strojům umožní najít spojitosti mezi daty z mnoha databází (především RDF, Resource Description Framework). K internetovým zdrojům a dokumentům tak budou připojeny informace, které budou pro počítač představovat podklad pro vyvozování vztahů mezi různými informačními zdroji. Počítače budou k tomuto účelu využívat popisy informací dostupné na webu v podobě definovaných slovníků a ontologií. Klíčovým aspektem je právě tvorba ontologií, jež můžeme popsat jako zařazení slova do širších souvislostí. Neobejde se bez značného úsilí uživatelů a vývojářů z nejrůznějších oborů, které povede k vytvoření obecných slovníků, jež budou moci systémy využít k rozpoznání obsahu webového dokumentu. |
Většina specifikací technologií webových služeb představuje v zásadě popis SOAP hlaviček a jejich zpracování. Další technologie jako XPath, XSLT a XQuery (zde ještě není standardizace dokončena) umožňují lokalizovat v databázích nebo ve frontě zpráv XML data, která odpovídají určitému vzoru. Kombinace těchto technik umožnila vývoj nových prvků infrastruktury, například XML databází nebo XML middlewaru. Ty slouží pro centrální zpracování zpráv -- zajišťují sběr a sladění informací z různých aplikací atd.
Mnohem větší výzvu očekávají vývojáři v oblasti sémantické integrace. Na bázi metadat by měl být totiž strojově interpretovatelný význam obsahu. V současnosti ještě vládnou nejasnosti ohledně toho, jak tuto myšlenku technicky zrealizovat. Pracovní skupiny W3C už na možnostech uskutečnění tohoto záměru intenzivně zapracovaly a první výsledek představily pod označením sémantický web. Jeho nasazení vyvolalo velké nadšení v akademických kruzích a získalo si i podporu úřadů v Evropě či USA. Značně zdrženlivě však dosud reaguje komerční sféra -- ačkoliv jsou teoretické výhody zřejmé, zjevně jen málo podniků vidí praktické takové využití sémantického webu, které by přineslo výhody přiměřené nákladům na vývoj a implementaci.
Proto existují jiné přístupy, jak dosáhnout srozumitelnosti obsahu dat vůči počítači. Informace jsou například analyzovány empirickými metodami, aby bylo možné vysvětlit na základě metadat obsah. Další vývojové projekty spoléhají na XPath, XSLT a XQuery, aby dokázaly sestavit neformální taxonomii. Překládají přitom data z různých zdrojů do standardního formátu, který je ve shodě s existujícími obchodními procesy.
Světlé zítřky
XML dnes představuje uznávanou a osvědčenou standardní technologii pro výměnu dat a dokumentů, integraci aplikací nebo popis obchodních procesů. Seznam oblastí jeho aplikací se navíc neustále rozrůstá. Výrobci podnikového softwaru už tento trend dávno rozpoznali a nijak se netají svými úspěchy ohledně implementace XML do svých řešení. Příklady aplikací ukazují, že výměna informací nezávislá na systému a platformě je dnes realizovatelná tak jednoduše, jako nikdy předtím.
Nové stránky Computerworld.cz.