Programovanie

Java na strane servera: Vytváranie distribuovaných aplikácií v prostredí Java a XML

Extensible Markup Language (XML) si získal širokú popularitu ako spôsob reprezentácie údajov v prenosnom čitateľnom formáte neutrálnom voči predajcovi. Mnoho dodávateľov softvéru oznámilo „podporu XML“, čo obvykle znamená, že ich produkty budú produkovať alebo konzumovať dáta XML.

XML sa tiež považuje za jazyk lingua franca pre výmenu údajov medzi podnikmi. Umožňuje podnikom dohodnúť sa na definíciách typov dokumentov XML (DTD) pre vymieňané údaje. Tieto DTD sú nezávislé od databázovej schémy používanej podnikmi.

Skupiny pre normalizáciu, ktoré zastupujú takmer každé ľudské úsilie, sa dohodli na DTD pre výmenu údajov. Jedným z mnohých príkladov je Medzinárodná tlačová telekomunikačná rada (pozri Zdroje), ktorá definovala XML DTD, ktorý umožňuje „prenos spravodajských informácií pomocou značiek a ľahkú transformáciu do elektronicky publikovateľného formátu“. Takéto vertikálne trhové normy umožnia rôznym aplikáciám vymieňať si údaje nepredvídanými spôsobmi.

Aké dobré sú však prenosné údaje neutrálne voči predajcom, ak ich nezdieľate a nespracúvate? Schopnosť komunikovať a spracovávať XML medzi distribuovanými počítačmi je žiaduca. Aplikácia, ktorá komunikuje a spracováva XML medzi počítačmi, je v skutočnosti a distribuovaná aplikácia.

Tento článok skúma takéto distribuované aplikácie napísané v prostredí Java. Zameriam sa na komunikáciu XML medzi kódom Java bežiacim na rôznych virtuálnych strojoch.

Komunikácia XML

Špecifikácia XML definovaná konzorciom World Wide Web Consortium alebo W3C (pozri Zdroje) definuje syntax a sémantiku jazyka. Na spracovanie XML je potrebné analyzovať XML dokument. Bolo by poľutovaniahodné, keby každá trieda Java, ktorá potrebovala na spracovanie XML, musela analyzovať dokument XML, vzhľadom na zložitosť syntaxe a sémantiky XML. Na vyriešenie tohto problému W3C definovala Document Object Model (DOM) (pozri Zdroje). DOM je rozhranie aplikačného programátora s údajmi XML. Je k dispozícii z mnohých programovacích jazykov vrátane Java. Programy Java majú prístup k údajom XML prostredníctvom rozhrania DOM API. Analyzátory XML vytvárajú DOM reprezentáciu dokumentu XML.

Obrázok 1 zobrazuje zjednodušený model distribuovanej aplikácie Java, ktorá spracováva XML. Model je dostatočný na účely tohto článku: preskúmať komunikáciu XML. Model predpokladá, že niektoré údaje sa získavajú zo zdroja údajov, napríklad z relačnej databázy. Niektorý kód Java spracováva údaje a nakoniec vytvára reprezentáciu DOM. Tento kód je na obrázku 1 znázornený ako procesor.

Kód procesora odovzdáva DOM reprezentáciu údajov XML do servera odosielateľ. Odosielateľom je kód Java, ktorý komunikuje údaje XML so serverom prijímač. Prijímačom je kód Java, ktorý prijíma údaje XML, vytvára DOM reprezentáciu údajov a odovzdáva ich ďalšiemu procesoru. Skrátka odosielateľ a príjemca abstraktné komunikácia DOM reprezentácie XML dát.

Odosielateľ a príjemca nie sú implementované v rovnakom prostredí Java Virtual Machine. Sú prepojené distribuovanou systémovou infraštruktúrou. Existuje niekoľko prístupov k implementácii odosielateľa a príjemcu.

Upozorňujeme, že v modeli na obrázku 1 je odosielateľom klient prijímača. Odosielateľ odovzdá XML príjemcovi. V ďalšom možnom modeli je prijímač klient; vyžiada si dokument od odosielateľa. Druhý model v tomto článku nebudem skúmať, pretože problémy s komunikáciou XML sú podobné.

$config[zx-auto] not found$config[zx-overlay] not found