Co se děje s XML?

kKdyž to všechno začalo, bylo XML malou a jednoduchou technologií a mnozí věří, že právě to bylo důvodem jeho úsp...


kKdyž to všechno začalo, bylo XML malou a jednoduchou technologií a mnozí věří,
že právě to bylo důvodem jeho úspěchu. Nicméně ani XML nestojí na místě a
navzdory pochybnostem některých z jeho původních tvůrců se standardy stávají
stále rozsáhlejšími a komplexnějšími.
Nedávné oznámení Microsoftu o podpoře XML v produktech rodiny Office je pouze
jednou z posledních známek toho, že XML se rapidně rozšiřuje do všech koutů IT
prostoru, dokonce i do těch, které byly ještě donedávna ryze proprietární.
Ačkoliv základní specifikace XML zůstala po dobu téměř 5 let nezměněna, na
jejím základě byla vybudována rozsáhlá nadstavba příbuzných standardů.

Model vrstev
Někdy je užitečné přemýšlet o celé architektuře XML jako o struktuře, která má
4 vrstvy: XML jádro, základní XML toolkit, schéma a dotazování a XML aplikace.
Nejdůležitější součástí jádra XML je specifikace samotné syntaxe XML, která
definuje syntaxi "hranatých závorek" XML dokumentů, stejně jako trochu
tajemnější specifikace pro Document Type Descriptions. Do této vrstvy náleží
rovněž specifikace XML Namespaces, která popisuje, jak se mohou různé
organizace využívající XML vyvarovat rozporů mezi různými slovníky, společně s
XML Infoset, což není ani tak standard jako spíše způsob modelování informací,
které jsou v XML dokumentech obsaženy.
Brzy bude tato vrstva obohacena o XML 1.1 a XML Namespaces 1.1. Jak už
číslování naznačuje, bude se jednat spíše o malé změny současné specifikace a
nové funkce pravděpodobně mnohé uživatele vůbec nezasáhnou. XML 1.1 je navrženo
tak, aby uspokojilo dvě zanedbávané menšiny: uživatele etiopského písemného
systému a uživatele mainframů IBM.
Změny zasáhnou ty firmy, které produkují XML parsery. Je zde určité riziko, že
během období přechodu firma zjistí, že přijímá XML 1.1 dokumenty od některého
ze svých obchodních partnerů ještě před tím, než upgraduje na použití XML 1.1
parseru, a to možná dokonce ještě dříve, než bude XML 1.1 parser dostupný pro
určitou výpočetní platformu.
Je samozřejmě možné argumentovat, že uživatelé, kterým změny přinesou nějaký
užitek, jsou v menšině oproti těm, kteří se budou muset vyrovnat s narušením,
které přechod na novou verzi způsobí. Ovšem vzhledem k tomu, že specifikace
byla stabilní po dobu 5 let a World Wide Web Consortium (W3C) dělá vše pro to,
aby si udrželo svoji pověst, není proč si stěžovat.

Základní XML toolkit
Vrstva číslo 2 je tím, co zde můžeme nazvat základním XML toolkitem. Nástroje,
které obsahuje, pak lze klasifikovat jako DOM, SAX, XPath a XSLT. Ty jsou zde
také už několik let a většina XML programátorů je s nimi dobře obeznámena. Je
dostupné množství implementací, které pokrývají všechny populární platformy při
zachování dobré úrovně interoperability mezi nimi. Pravdou ale je, že obzvláště
DOM trpí tím, že má v rámci specifikace mnoho variant a modulů, jakož i hodně
rozšíření od různých výrobců. Např. uživatelé pracující na platformě Microsoftu
často ani netuší, zda využívají standardní funkce DOM, nebo nadstavby
Microsoftu.
XPath a XSLT nyní procházejí obdobím výrazného upgradu směřujícího k vytvoření
XPath 2.0 a XSLT 2.0. Ačkoliv produkty založené na verzích 1.0, byly úspěšné,
jejich možnosti jsou omezené a uživatelé dlouho čekali na možnosti jako
seskupování dat podle společných hodnot či podporu regulárních výrazů. Jedním z
důvodů, proč vývoj nových verzí trval tak dlouho, je vliv specifikací XML
Schema a XQuery (viz níže).
Pracovní skupiny W3C učinily kontroverzní rozhodnutí úzce propojit příští verze
XSLT a XPath se specifikacemi XML Schema. To mění systém typů, který formuje
páteř jakéhokoliv programovacího jazyka, což vyžadovalo některé výrazné
technické změny, které si vyžádaly dlouhou dobu pro své schválení. Nicméně v
průběhu letošního roku by mělo k dokončení těchto specifikací dojít.
SAX je zajímavý jakožto vzácný příklad standardu, který byl vytvořen
jednotlivci spolupracujícími bez formální organizace, která by jejich aktivitu
zaštítila a podporovala. I když to však fungovalo dobře při vytváření původní
specifikace, objevují se známky toho, že tvorba dodatečných upgradů už může být
při použití tohoto modelu těžší. Každopádně se možná ukáže, že tak lze předejít
rostoucí komplikovanosti, jíž trpí prakticky všechny ostatní specifikace.

Schéma a dotazování
O 3. vrstvě můžeme někdy mluvit jako o "správě informací v XML", protože
reprezentuje přítomnost XML coby klíčové technologie ve způsobu, jakým firmy
řídí svůj informační majetek. To je rozdíl oproti původní roli XML jakožto
syntaxe pro označování běžných dokumentů.
Dvěma hlavními komponentami této vrstvy jsou XML Schema, které popisuje
strukturu informací, a XQuery, dotazovací jazyk pro přístup k XML datům. XML
Schema bylo jako standard přijato v květnu 2001, jde o vysoce komplexní
specifikaci a až dosud existuje relativně málo implementací, a ty jsou ještě
nekompletní.
Srovnatelně komplexní a úzce související s XML Schema je XQuery, specifikace
navržená pro dotazování v XML databázích, která je zkonstruována tak, aby mohla
hrát stejnou roli ve světě XML, jako hraje SQL ve světě relačních dat. Zrod
XQuery byl poměrně zdlouhavý pravděpodobně proto, že v něm bylo zainteresováno
množství firem.
XML Schema i XQuery rozpoutaly poměrně velkou polemiku. Jde o velmi komplexní
standardy, který není jednoduché porozumět a už vůbec ne je implementovat,
pročež nejsou příliš přístupné pro open source komunitu, ačkoliv právě ona
odvedla velký kus práce pro použitelnost a dostupnost XML vrstev 1 a 2, a
potažmo tedy pro jejich úspěch.
Nicméně u velkých firem mají W3C specifikace velmi širokou podporu a jak se
zdá, budou tyto standardy v dohledné době adoptovány. To podtrhuje i oznámení
Microsoftu týkající se nového balíku Office vyplývá z něj, že pokud budete
chtít využívat výhod XML, budete se zřejmě muset naučit žít s XML Schema, i
když se jej možná nenaučíte milovat.

XML aplikace
Čtvrtou vrstvou je oblast, kterou zde pro jednoduchost nazveme XML aplikacemi.
Do této oblasti zařadíme všechny specifikace vyšší úrovně, které představují
využití XML, jako jsou např. standardy, jež podpírají architekturu webových
služeb, a specifikace XSL Formatting Objects pro publikování založené na XML ve
vysoké kvalitě. Můžeme sem zařadit rovněž nesčetné specializované XML slovníky
pokrývající snad každou myslitelnou oblast od finančních informací, obchodních
reportů a přenosu zpráv až po specializované slovníky jako MusicXML pro
publikování hudby či HumanML, který popisuje "lidské charakteristiky".
Jsou zde samozřejmě i mnohé další specifikace, které do této struktury
nezapadají zcela přesně např. standardy XPointer a XLink pro hyperlinking.
XPointer, který umožňuje, aby dokument obsahoval odkazy na obsah jiného
dokumentu, byl několikrát přepsán a současná verze už snad může přilákat
pozornost a zajistit širší podporu, než tomu bylo u jejích předchůdců. XLink,
který staví na XPointeru s cílem definovat model pro hyperlinking mezi
dokumenty, stále trpí díky faktu, že víceméně nikdo neví, jak vlastně zapadá
mezi ostatní specifikace rodiny XML.
Už mnohokrát bylo řečeno, že na standardech je dobré to, že je jich tak mnoho,
aby si člověk mohl vybrat. A výjimkou není ani XML: z původní specifikace XML
1.0, která měla kolem 40 stránek, roste do rozsáhlé knihovny dokumentů, z nichž
mnohé obsahují stovky stran.
Vrstvy 1 a 2 ve struktuře, o které jsme se zde zmiňovali, se ukazují jako
poměrně stabilní a i nadále tak budou základem pro většinu XML programátorů.
Nové verze 2.0 specifikací XPath a XSLT se nejspíše také uchytí.
XML Schema a XQuery začnou pravděpodobně nabývat na důležitosti s tím, jak se
XML bude stále více stávat středobodem ve strategii a architektuře velkých
firem. Avšak jak naznačuje např. nadšení spojené s zmiňovaným nedávným
oznámením Microsoftu, vrstva 4, tedy aplikace, jsou tím, z čeho plynou skutečné
výhody pro byznys.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.