Programiranje

Strežniška Java: Izdelajte porazdeljene aplikacije z Javo in XML

Razširljivi označevalni jezik (XML) je pridobil široko popularnost kot način za predstavitev podatkov v prenosni, berljivi obliki, neodvisni od prodajalca. Številni prodajalci programske opreme so napovedali "podporo za XML", kar običajno pomeni, da bodo njihovi izdelki proizvajali ali porabljali podatke XML.

XML se obravnava tudi kot lingua franca za izmenjavo podatkov med podjetji. Podjetjem omogoča, da se dogovorijo o definicijah vrst dokumentov XML (DTD) za podatke, ki jih izmenjujejo. Ti DTD-ji so neodvisni od sheme zbirke podatkov, ki jo uporabljajo podjetja.

Skupine za standarde, ki predstavljajo skoraj vsako človekovo prizadevanje, se dogovorijo o DTD za izmenjavo podatkov. Eden izmed mnogih primerov je Mednarodni svet za telekomunikacije za tisk (glej Vire), ki je opredelil XML DTD, ki omogoča, da se "informacije o novicah prenašajo z oznakami in jih je mogoče enostavno pretvoriti v elektronsko objavljivo obliko." Takšni vertikalni tržni standardi bodo različnim aplikacijam omogočali izmenjavo podatkov na nepredvidene načine.

Toda kaj koristijo prenosni podatki, nevtralni za prodajalce, če jih ne delite in obdelate? Zaželena je sposobnost komunikacije in obdelave XML med porazdeljenimi računalniki. Aplikacija, ki komunicira in obdeluje XML med računalniki, je pravzaprav a porazdeljena aplikacija.

Ta članek raziskuje takšne porazdeljene programe, napisane v Javi. Osredotočil se bom na komunikacijo XML med kodo Java, ki se izvaja v različnih navideznih strojih.

Komunikacija XML

Specifikacija XML, ki jo je določil Konzorcij za svetovni splet (W3C) (glejte Viri), določa sintakso in semantiko jezika. Za obdelavo XML je treba dokument XML razčleniti. Obžalovanja vredno bi bilo, če bi moral vsak razred Java, ki je potreboval XML, razčleniti dokument XML, glede na zapletenost sintakse in semantike XML. Za rešitev te težave je W3C definiral objektni model dokumenta (DOM) (glejte Viri). DOM je vmesnik aplikacijskega programerja za podatke XML. Na voljo je v številnih programskih jezikih, vključno z Javo. Programi Java lahko dostopajo do podatkov XML prek API-ja DOM. Razčlenjevalniki XML ustvarijo predstavitev DOM dokumenta XML.

Slika 1 prikazuje poenostavljeni model Java porazdeljene aplikacije, ki obdeluje XML. Model je zadosten za namen tega članka: raziskati komunikacijo XML. Model predpostavlja, da so nekateri podatki pridobljeni iz podatkovnega vira, kot je relacijska baza podatkov. Nekatera Java koda obdela podatke in na koncu ustvari predstavitev DOM. Ta koda je na sliki 1 predstavljena kot procesor.

Koda procesorja posreduje predstavitev DOM podatkov XML datoteki pošiljatelj. Pošiljatelj je koda Java, ki podatke XML sporoča sprejemnik. Sprejemnik je koda Java, ki sprejme podatke XML, ustvari DOM predstavitev podatkov in jih posreduje drugemu procesorju. Skratka, pošiljatelj in prejemnik povzetek komunikacija predstavitve DOM podatkov XML.

Pošiljatelj in prejemnik nista implementirana v isti Java Virtual Machine. Povezuje jih porazdeljena sistemska infrastruktura. Obstaja več pristopov k izvajanju pošiljatelja in prejemnika.

Upoštevajte, da je v modelu na sliki 1 pošiljatelj odjemalec sprejemnika. Pošiljatelj pošlje XML prejemniku. V drugem možnem modelu je sprejemnik odjemalec; zahteva dokument od pošiljatelja. V tem članku ne bom raziskal drugega modela, saj so vprašanja komuniciranja XML podobna.

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