XML přináší kompatibilitu a úspory

Jazyk XML rychle proniká do každodenní praxe, a to v tuzemsku i v zámoří. Častěji než dříve jsou využívány rovn


Jazyk XML rychle proniká do každodenní praxe, a to v tuzemsku i v zámoří.
Častěji než dříve jsou využívány rovněž databáze XML dokumentů.
S rostoucím objemem XML dokumentů se stávají klíčovými dobré nástroje pro jeho
správu. Nativní XML databáze, příslušné doplňky SQL databází a integrační
nástroje třetích stran to vše může uživatelům přinášet řadu výhod, ale také je
nutit k řadě kompromisů.
Otázka využití XML ve firmách už nezní "zda", ale "kdy a jak". Stále větší
množství softwarových produktů tento jazyk podporuje a využívá pro vlastní
potřeby nebo ke komunikaci s dalšími aplikacemi často bez toho, aby se tím
uživatel musel nějak zvlášť zabývat.
To potvrzují i odpovědi manažerů zodpovědných za IT v českých firmách. "Přímo
sice XML nevyužíváme, nicméně celá řada námi používaných aplikací využívá XML
formáty interně. Jde například o různé konfigurační soubory, XHTML v
intranetových aplikacích, interní formát OpenOffice.org a podobně," říká
například Martin Kocourek, vedoucí referátu Informatika ostravské společnosti
NH-Trans, a dodává: "XML je dnes už tak rozšířený, že jeho přítomnost ani
nevnímáme."
Viditelnější nasazení XML zvolili loni například ve firmě Schwan-Stabilo ČR.
"Provozujeme ERP systém Baan IV a loni jsme se dostali do situace, že jsme
potřebovali elektronicky komunikovat s jednou z divizí holdingu Schwan-Stabilo,
která používá ERP systém Navision. Museli jsme proto Baan naučit přijímat
prodejní objednávky došlé v XML formátu elektronickou poštou a odesílat
potvrzení prodejní objednávky rovněž v XML formátu," popisuje nasazení XML
Dalibor Stuchlý, vedoucí oddělení informatiky společnosti Schwan-Stabilo ČR.
Zvolené řešení si pochvaluje: "Odpadla nám tak administrativní ruční práce
zadávání mnoha objednávkových pozic denně."

V databázích
Stále více společností řeší rovněž otázku ukládání XML dokumentů a efektivní
vyhledávání v takto vzniklých databázích. Když například začala americká
společnost Classwell Learning Group budovat databázi on-line výukových plánů a
dalších informací pro učitele, potřebovala nějakým způsobem organizovaně
ukládat velký objem digitálního obsahu a zajistit k němu přístup. Šlo o soubory
vytvořené v textových procesorech, ale třeba i o naskenované kopie z učebnic.
Jelikož bylo nutné ukládat, mít přístup a vyhledávat všechny tyto typy dat,
zvolila si XML databázový produkt.
"Pro XML jsme se rozhodli prakticky bez váhání," říká Brendan Collins, ředitel
IT firmy Classwell, divize bostonského vydavatelství Houghton Mifflin. A dnes
hodnotí toto rozhodnutí jako správné.
IT organizace využívají XML v řadě oblastí od integrace aplikací po správu
obsahu a přístupových práv. Nativní XML databáze mohou pomoci zvládnout
ukládání a správu následné záplavy XML dokumentů, ale nepředstavují možnost
jedinou. Velké databáze nyní nabízejí XML překladače, jež transformují XML
dokumenty do jednotlivých polí své relační struktury. Tento transformační
proces může eliminovat mnohé výhody plynoucí z používání XML, ale dodavatelé
SQL databází tvrdí, že již plánují začlenit do svých produktů nativní podporu
XML.

Úplnější integrace
Mezitím nabízejí další firmy nástroje, o kterých říkají, že nabízejí úplnější
integraci mezi XML i relačními databázemi.
Podle uživatelů a výrobců softwaru záleží rozhodnutí o vhodnosti datového
skladu XML pro vaše potřeby na tom, jestli máte k dispozici stabilní návrh
schématu XML dat, na míře, v jaké potřebujete ukládat a auditovat transakce v
jejich původní formě, a také na zvážení, zda daná aplikace je natolik kritická,
aby ospravedlnila náklady na oddělenou, nativní XML databázi.
XML je hierarchickým jazykem pro popis dat, využívající značky k definování
datových komponent v rámci dokumentu. Oproti tomu relační databáze jako Oracle,
Microsoft SQL server nebo IBM DB2 uspořádávají data v jasně definovaných
řádcích a sloupcích jednotlivých tabulek.
Skutečnost, že XML dokumenty nesou nejen data, ale také jejich definice,
zajišťuje jakousi samopopisovací schopnost těchto dokumentů, již lze využít pro
mnohé aplikace. "XML je v porovnání s SQL schopno se mnohem lépe vypořádat s
nestrukturovanými daty a údaji, které mohou být dynamičtější jak co do významu,
tak co do své struktury," říká Paul Hessinger, výkonný viceprezident newyorské
firmy HealthRamp. Tato společnost vyvíjí software, který umožňuje lékařům
předepisovat léky pomocí handheldů. "Trvalá data, o která se potřebujeme
postarat, ukládáme na SQL serveru. A samotný přenos dat mezi handheldem a
webových serverem je z velké části realizován pomocí XML," vysvětluje.

Volba přístupu
Podle Jake Freivalda, ředitele marketingu společnosti iWay Software, XML rovněž
usnadňuje změny typu nebo formátu údajů ukládaných v databázi. V XML databázi
lze například přidání firemní adresy uskutečnit pouhým vytvořením další sady
popisných značek v rámci dokumentu. V relační databázi by naproti tomu bylo
nutno vytvořit novou sadu tabulek pro tyto adresy a dále definovat, jaký vztah
mají tyto nové tabulky k tabulkám již v databázi existujícím.
Na druhou stranu je ovšem třeba přiznat, že jakmile jsou data ve formátu XML,
může být obtížné přistupovat k nim novými či flexibilními způsoby, protože
metoda popisu dat v XML je hierarchická. Například pod značkou "pacient" může
mít dokument podznačku "jméno", která dále může obsahovat vlastní podznačky
"křestní jméno," "příjmení", "iniciály" a "přezdívka". Libovolný dotaz, který
nerozumí této hierarchické struktuře, bude muset prohledat všechna slova v
každém jednotlivém dokumentu, čímž může klesat výkonnost systému.

Nativní XML databáze
Jedním ze způsobů ukládání XML dat jsou nativní XML databáze, které zajišťují
ukládání, prohledávání, přístup a stahování XML dokumentů v jejich úplné a
původní podobě. Tím dochází ke zvýšení výkonu, neboť nativní XML databáze je
schopna optimalizovat dotazování týkající se například zákazníků tím, že
prohledává pouze data s odpovídajícími značkami a podznačkami identifikujícími
zákazníky, namísto prohledání úplného textu dokumentu. Ukládání XML dokumentů v
jejich celistvosti také oproti jejich rozdělování na jednotlivá pole databáze
činí snazším auditování nebo rekonstrukci transakcí, protože všechny detaily
jsou zachovány ve svém původním pořadí a posloupnosti. Implementace snadno
pochopitelných a stabilních XML schémat nebo návrhů databází je také lépe
dosažitelná v rámci nativních XML databází, než je tomu u databází relačních,
kde je třeba překládat XML dokumenty do řádků a sloupců.

V praxi
Brendan Collins z Classwellu zvolil nativní XML databázi Tamino od německé
firmy Software AG. Jak říká, zpočátku měla problémy se spolehlivostí a občasným
poškozováním dat, ale postupně se situace dramaticky zlepšila. Přesto bylo ale
třeba v Classwellu napsat vlastní rozhraní pro ukládání dat a také pro kontrolu
verzí XML dokumentů.
Nedostatek podobných nástrojů je jen jednou z nevýhod nativních XML databází.
Analytik IDC Carl Olofson předpovídá, že velmi malý trh nativních XML databází
(pouhých 42 milionů dolarů v roce 2002) poroste jen velmi pomalu na zhruba 77
milionů dolarů v roce 2007. Důvodem je podle něj skutečnost, že výrobci
relačních databází a dalšího softwaru zahrnou podporu XML do svých vlastních
produktů.
"Dokud není vytvořena nativní podpora XML, velcí dodavatelé databází nabízejí
alespoň překladové vrstvy, které buď rozkouskují daný XML dokument na
dostatečně malé části tak, aby se vešly do jednotlivých polí relační databáze,
nebo naopak nahustí celý XML dokument do jediného jejího pole," říká Ron
Schmelzer, starší analytik společnosti ZapThink, jež se zabývá výzkumem trhu.
Americká firma Cengent Therapeutics například využívá XML funkce databáze
Oracle ke sdílení údajů o proteinových strukturách s údaji uloženými ve své
vlastní XML databázi. Během tohoto procesu se z SQL dat vytvářejí XML
dokumenty. "Tato funkce je pro nás klíčová dovoluje nám ukládat stávající data
a provádět dotazy z nové XML databáze," vysvětluje Kal Ramnarayan,
viceprezident a ředitel vědeckého výzkumu Cengentu.
Takovéto řešení by ale naopak zřejmě nevyhovovalo Jerrymu Lettowovi, IT
architektovi společnosti Hewlett-Packard, který nyní vytváří intranetový portál
na bázi XML. Ten má sloužit ke sdílení citlivých finančních informací pro
tisíce klíčových manažerů. Lettow potřebuje kontrolovat transakce tak, aby byl
schopen dokázat, které informace pro tento portál poskytuje která určitá
finanční aplikace.
"Pokud bychom použili Oracle," říká Lettow, "museli bychom vstoupit a položit
dotaz, který speciální unikátní identifikátor byl přiřazen uložené informaci ve
struktuře řádků a sloupců oraclovské databáze." Obává se rovněž, že Oracle se
bude držet svého proprietárního XML dotazovacího jazyka namísto toho, aby
využil standardu XQuery, který byl vytvořen konsorciem W3C.

Třetí cesta
Lettow namísto toho zvolil třetí cestu: použil nástroj jiného dodavatele k
propojení vlastních relačních a XML světů. Podle jeho názoru je snazší nalézt
příslušnou informaci za pomoci XML Information Hubu, dodávaného společností
Ipedo. XML dokumenty jsou zde totiž ukládány vcelku. Několik dodavatelů nabízí
podobná řešení k překládání a správě dat z různých zdrojů na XML dokumenty.
Jednou budou podle Schmelzera všichni dodavatelé nabízet nativní podporu XML.
"Aby ale tato podpora byla skutečně nativní, databáze musí být schopna
zpracovat libovolně zvolený XML dokument a vložit jej do svého datového skladu
bez jakékoliv modifikace, a následně být schopna tento dokument vyhledat a
poskytnout, aniž by jej rozkouskovala, narušila či nějakým způsobem pozměnila,"
říká. "Je databáze schopna zvládnout libovolné proměnné uvnitř XML dokumentů
například velké množství značek a mnoho úrovní hierarchie?" ptá se Schmelzer.
Dalším klíčovým prvkem je podle něj podpora nově vznikajících standardů
například XQuery.
Collins rovněž varuje, že nelze podceňovat práci potřebnou při implementaci
XML. I když jemu využití XML z dlouhodobého hlediska ušetří peníze, upozorňuje,
že vytvoření návrhu patřičného schématu může znamenat spoustu práce a to tím
více, čím více obsahu firma má.
Vynaložit dostatečné úsilí k tomu, aby se zdařilo navrhnout správné schéma hned
napoprvé, doporučuje Tim Mathews, spoluzakladatel a viceprezident marketingu
společnosti Ipedo. "Jestliže využíváte relační databázi s podporou XML, při
změně schématu budete muset zahodit a znovu uložit veškerá data, což může být
zcela nepřijatelná možnost pro produkční databáze, u nichž se vyžaduje neustálá
dostupnost," vysvětluje.
"Ještě než si zákazník vybere XML datový sklad, musí se ponořit hluboko do dané
problematiky, aby pochopil, jakým způsobem jsou XML dokumenty ukládány a jak v
nich lze vyhledávat," říká Lettow. "Ukládá databáze data tak, jak je nahrajete,
nebo je rozděluje na malé části? Mohu dostat ven přesně to, co jsem dovnitř
uložil, nebo budu muset vytvořit spousty dalšího kódu a speciálních procesů,
abych byl schopen znovu vytvořit původní dokument?" Celé úsilí se ale podle něj
vyplatí což prý poznává stále více společností.

Uvažujte o nativní XML databázi, pokud:
Jste schopni XML data strukturovat na základě stabilního, obecně přijatelného
schématu.
Je třeba XML dokumenty uchovávat v jejich původní podobě pro účely auditování
či archivace.

Uvažujte o relační databázi s podporou XML, pokud:
Je obtížné přesně definovat používaná XML schémata.
Investice do nástrojů třetích stran jsou příliš nákladné.
Podkladová relační data je nutno uchovávat po dlouhou dobu v jejich původním
formátu.

Zvažte integrační nástroje třetích výrobců, jestliže:
Sdílená data jsou natolik kritická, že to odůvodňuje nutné výdaje.
Musíte integrovat mnoho zdrojů dat, jako například SQL nebo běžné soubory a
texty v rámci společného XML schématu.
Nemůžete si dovolit čekat, až výrobci databází poskytnout sami příslušnou
podporu.









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