fakulteta za elektrotehniko racunalnistvo in informatiko institut za informatiko laboratorij za racunalnisko posredovano komunikacijo e posta rleskovar uni mb si povzetek svetovni splet predstavlja ocean podatkov ki so v veliki vecini predstavljeni brez znanja o njihovem pomenu ob danasnjih potrebah in teznjah po sodelovanju organizacij in ljudi enakih strok po sodelovanju podjetij v globalnem elektronskem poslovanju in po krojenju spletnih storitev ter izdelkov glede na zelje in potrebe posameznikov so stare tehnologije ki so vezane v veliki meri na proizvajalca preokorne in neprimerne verjetno je v tem razlog da so prihod programskega jezika java in jezika extensible markup language xml spremljali navdusenje odobravanje pretiravanje in delovna vnema stevilnih podjetij organizacij in posameznikov v prispevku bomo pogledali kaksne prednosti prinasa xml kaksne so potrebe danasnjih spletnih aplikacij in kako jim lahko zadosti ujemanje xml in jave ter princip dela v javi z dokumenti v xml uvod nekoc davnega glede na hitrost razvoja leta je gospod tim berners lee ki je danes predsednik konzorcija svetovnega spleta the world wide web consortium w c zacel s predavanji o svoji viziji svetovnega spleta v nadaljevanju spleta pravzaprav je splet nastal kot projekt mrezne informatizacije v evropskem laboratoriju za nuklearno fiziko cern u projekt ki ga je nekaj casa poznala in uporabljala pescica ljudi danes predstavlja splet univerzum informacij dostopnih preko mreze predstavlja utelesenje cloveskega znanja po ocenah je bilo marca okrog milijonov ljudi povezanih v ta informacijski preplet vecina teh prispeva vanj najrazlicnejse podatke izreden razmah spleta gre verjetno pripisati prav dejstvu da omogoca avtorjem preprosto in poceni razsirjanje raznovrstnih dokumentov z vecjim obsegom dokumentov in njihove vsebine so se uporabniki spleta zaceli srecevati z omejitvami medija ki ne omogoca opisovanja nadgrajevanja in preverjanja strukture poljubnih podatkov javini apleti so prinesli spletnim odjemalcem mocne sposobnostmi upravljanja podatkov kar dodatno izpostavlja omejitve trenutnih nacinov predstavitve in prenosa podatkov vecina dokumentov ki so danes na spletu je shranjenih in se prenasa v formatu html hypertext markup language to je za ucenje in rabo preprost jezik ki omogoca hipertekstovne povezave preprosto oblikovanje dokumentov in vkljucevanje multimedijskih elementov html temelji na standardnem metajeziku sgml standard generalized markup language iso ki je bil oblikovan za opisovanje in rabo formatov dokumentov sgml omogoca dokumentom da opisejo svojo vsebino tj dolocijo mnozico oznak ki jih dokument uporablja in strukturne relacije med njimi jezik html ima v skladu s specifikacijami sgml definirano majhno mnozico oznak ki je standardno dolocena za vse dokumente in ni vkljucena v same dokumente po eni strani pomeni to lazje ustvarjanje novih dokumentov po drugi pa onemogoca ustvarjanje lastnih oznak ter atributov s katerimi bi podatke tudi semanticno ovrednotili opis vsebinske strukture dokumentov ki je npr potrebna za predstavitev tabel podatkovnih baz ali objektne hierarhije preverjanje pravilnosti podatkov sgml omogoca vse cesar html ne in se veliko vec zakaj torej ni v mnozicni uporabi razlog je v njegovi kompleksnosti saj poleg moznosti ki odpravljajo pomanjkljivosti html vsebuje se vrsto drugih moznosti in zahteva da so njegovi dokumenti v skladu z vsemi zahtevami njegovih specifikacij te so tako obsirne da proizvajalcem spletnih brskalnikov ni predstavljal dovolj pridobitev glede na stroske ki bi bili potrebni za implementacijo sgml zato so si lahko implementacijo namenskih aplikacij ki uporabljajo sgml privoscila le velika podjetja z velikimi podatkovnimi skladisci in potrebo po njihovi avtomatski obdelavi jezik xml konzorcij w c je za iskanje resitve v uvodu omenjenih tezav osnoval delovno skupino ki je definirala podmnozico jezika sgml posebej primerno za spletne aplikacije podmnozica ki so jo poimenovali razsirljiv opisni jezik extensible markup language xml ohranja prednosti jezika sgml razsirljivost opis strukture in preverjanje pravilnosti ob tem pa je preprostejsi za ucenje uporabo in implementacijo prvi delovni osnutek je bil pripravljen novembra skupne korenine mnozicno uporabljanega html in novega xml katerega raba se izredno hitro siri pomenijo tudi dobro zdruzljivost obstojece dokumente v html ki ustrezajo vsaj specifikaciji html lahko brez tezav pretvorimo v xml prav tako dokumente v splosnem sgml in dokumente generirane npr iz podatkovnih baz lastnosti xml uporaba jezika xml prinasa zaradi njegovih lastnosti stevilne prednosti najpomembnejse lastnosti so majhna obcutljivost na napake zaradi preprostosti jezika je datoteka s tekstom v xml dokaj neobcutljiva na poskodbe izguba nekaj zlogov se ne pomeni izgube vsebine celotnega dokumenta kot je to obicajno pri stisnjenih dokumentih ali dokumentih s strukturno kodirano vsebino dobra dokumentiranost formata specifikacije so javne in dostopne vsem samoopisnost vsebina datoteke v xml je razumljiva brez posebnega znanja taksna datoteka je pravilno oblikovana well formed da bi bila tudi veljavna valid mora vsebina ustrezati definicijam podatkov definicije podatkov so mnozica sintakticnih pravil ali slovnica ki opisuje organizacijo podatkov pravimo ji definicija vrste podatkov data type definition dtd z njo opisemo oznake ki jih uporabljamo v dokumentih njihov vrstni red oziroma hierarhijo ter atribute definicija je lahko vkljucena v dokument ali pa je v dokumentu navedena povezava nanjo xml podpira tudi koncept shem xml schemas s katerimi prav tako definiramo pravila dokumentov v xml razlika med shemo in dtd je v tem da lahko s shemo preverjamo tudi veljavnost tipov podatkov s shemo lahko torej zahtevamo da je nek podatek npr numericnega tipa in ob napacnem vnosu dokument ne bo veljaven vendar sheme niso formalni del specifikacije xml nekaj podjetij je poslalo predlog zanje konzorciju w c predlog so poimenovali xml data tovrstno implementacijo shem podpirata izdelka xjparser in internet explorer glej tabelo ucinkovitost upravljanja z velikimi in kompleksnimi dokumenti ne le da lahko opisemo besednjak dokumenta dolocimo lahko tudi relacije med posameznimi elementi na ta nacin oblikujemo jasno strukturo dokumentov kar omogoca da jih lahko ucinkovito obdelujemo ne glede na njihov obseg dolocimo lahko potrebna in opcijska polja ter privzete vrednosti za polja v dokumentu ce jih uporabnik ne izpolni mnozicna raba ker xml nima lastnika oz ni zakonsko zasciten je povsem ustrezen za splosno izmenjavo podatkov s tem resuje uporabnike odvisnosti od enega programskega izdelka saj podatkovni formati tega izdelka obicajno niso kompatibilni z drugimi izdelki veckrat celo z razlicnimi verzijami enakega izdelka ne tabela vsebuje seznam vecine standardov na osnovi xml ki so bili predlagani za splosno rabo ali pa so se v delovnih verzijah zdruzevanje podatkov iz razlicnih podatkovnih virov xml prinasa mehanizem za vkljucevanje podatkov na odjemalcevi strani to pomeni da lahko zdruzuje podatke iz razlicnih virov in jih prikaze kot en dokument podatke lahko tudi poljubno razvrsca doloceni deli so lahko skriti glede na aktivnosti uporabnika loceno oblikovanje vsebine in oblike stilne predloge stylesheets omogocajo mocne oblikovalske prijeme ki niso prepleteni z vsebino dokumenta v xml za oblikovanje dokumentov uporabljamo jezik extensible stylesheet language xsl ki je podmnozica jezika dsssl document style semantics and specification language standard iso iec napredne povezave html omogoca le enosmerne povezave na tocno dolocena mesta na datoteke ali na posebej oznacena mesta v datotekah v pravem hipertekstovnem sistemu kar je prav tako eden izmed namenov xml so omogoceni lokacijsko neodvisno poimenovanje dvosmerne povezave povezave ki jih navedemo in upravljamo zunaj dokumentov katerim pripadajo n terne hiperpovezave npr obroci gnezdene povezave tipiziranje povezav atributi povezav natancneje temu sta namenjena xlink xml linking language definira razlicne tipe povezav in xpointer xml pointer language skrbi za povezave na poljubna mesta v ciljnih dokumentih ki teh mest ne rabijo oznacevati xlink in xpointer temeljita delno na dveh zrelih standardih iz sveta zaloznistva na text encoding initiative tei in hypermedia time based structuring language hytime podpora unicode kodiranju znakov dokumenti v xml lahko vsebujejo znake poljubne svetovne pisave standard namen mathml matematicni opisni jezik smil synchronized multimedia integration language multimedijsko oblikovanje in povezave rdf resources description framework procesiranje metapodatkov vml vector markup language spletni vektorski zato fleksibilen in prostorsko nezahteven graficni format sdml signed document markup language varnost xml in elektronski podpisi xml ql query language povprasevalni jezik za xml xql razsiritve za ujemanje vzorcev in procesiranje povprasevanj za xsl xfdl extensible forms description language za predstavitve kompleksnih obrazcev cdf channel definition format microsoft ov format za posiljanje vsebine spleta brskalnikom drawml d risanje v xml cml chemical markup language opisovanje kemijskih elementov in spojin bsml bioinformatic sequence markup opisovanje in prikaz dna rna in proteinov tabela standardi na osnovi xml aplikacije ki potrebujejo jezik kot je xml aplikacije ki potrebujejo zmoznosti jezika xml lahko v grobem razdelimo na domenske aplikacije ki potrebujejo spletne odjemalce za posredovanje med dvema ali vec heterogenimi podatkovnimi bazami aplikacije razlicnih organizacij ali podjetij v neki domeni oziroma stroki uporabljajo v splosnem enako strukturo podatkov vendar se njihova predstavitev v podatkovnih bazah in na spletu razlikuje zato je trenutno nemogoce da bi zapis shranjen v podatkovni bazi ene organizacije avtomatsko prenesli iz brskalnika v aplikacijo in s tem v podatkovno bazo druge organizacije tezave zdravstvenega sistema v ameriki xml omogoca posameznim strokam da razvijejo lastne opisne jezike s tem omogoca posameznikom ki delujejo na dolocenem podrocju da izmenjujejo podatke ne da bi potrebovali specificne programe za izdelavo teh podatkov oz za branje posebnih podatkovnih formatov se vec svoje dokumente lahko posljejo komurkoli prebral jih bo namrec lahko vsak razumevanja seveda pa ne more omogociti niti xml potrebe po posebni podpori s strani spletnih brskalnikov in zahtevnih vstavkih 'plug ins' ne bo vec primer taksnega formata ki je se v razvoju je open financial exchange format ofx namenjen je izmenjavi podatkov med osebnimi financnimi aplikacijami microsoft money quicken med aplikacijami in bankami posredniskimi hisami itn drug primer je cml chemical markup language opisni jezik za potrebe organizacij podjetij in posameznikov s podrocja kemije aplikacije ki prenesejo vecji del procesiranja iz spletnega streznika na spletnega odjemalca velikokrat zahtevajo odjemalci od streznikov podatke ki morajo biti obdelani glede na potrebe in zelje uporabnika odjemalca ker so podatki obicajno shranjeni v podatkovnih bazah na streznikih jih morajo ti obdelati in predstaviti rezultate v formatu html ki ga odjemalci preberejo z brskalnikom ce zeli uporabnik pogledati podatke iz drugega vidika glede na drugacne kriterije mora ponovno zahtevati podatke in posredno njihovo obdelavo na strezniku v primeru uporabe xml lahko streznik poslje odjemalcu podatke v formatu xml in pripne ustrezen javin aplet ki te podatke obdela na odjemalcu saj hkrati s podatki dobi odjemalec tudi njihovo strukturo in pomen na ta nacin bi se strezniki precej razbremenili ustrezno bi se zmanjsali odzivni casi ter stroski virov aplikacije ki zahtevajo od spletnega odjemalca da predstavi razlicnim uporabnikom podatke v razlicnih pogledih uporabniki zelijo videti iste podatke v razlicnih pogledih ki so oblikovani glede na dolocene kriterije z uporabo xml lahko prenesemo podatke s streznika le enkrat in jih nato na odjemalcu poljubno predstavljamo to so lahko tehnicna navodila ki se prilagodijo uporabnikovi konfiguraciji in jeziku imenik urejen po poljubnem kljucu in vrsta drugih dokumentov aplikacije kjer poizkusajo inteligentni spletni agenti prikrojiti iskanje in predstavitev informacij glede na uporabnikove potrebe in zelje inteligentni spletni agenti potrebujejo znanje o strukturi dokumentov s katerimi delajo iz strukture nato sklepajo glede na svoje vgrajeno ter pridobljeno znanje in reagirajo glede na svoj namen jezika ki sta se uporabljala v vecji meri za predstavitev znanja do sedaj sta kif knowledge interchange format ki je osnovan na osnovi predikatne logike prvega reda in acl agent communication language ki je jezik za izmenjavo sporocil sporocila pa so v obliki stavkov kif potrebo po tovrstnih aplikacijah je matthew fuchs iz disney imagineering a izrazil z besedami informacija mora poznati sebe in informacija mora poznati mene moznost uporabe teh aplikacij je veliko predvsem na podrocjih kjer zeli uporabnik dobivati podatke v njemu prilagojeni obliki glede na starost interese stroko in podobno to vkljucuje zdravstvo elektronsko poslovanje zabavno industrijo ucenje ter delo na daljavo itn xml in java sinergija xml in jave xml predstavlja prenosljive podatke neodvisne od sistema ali proizvajalca java predstavlja prenosljivo programsko kodo neodvisno od sistema ali proizvajalca v teh opisih se skriva njuna sorodnost in moznost ucinkovitega povezovanja ter sodelovanja sledi se nekaj lastnosti ki upravicujejo povezavo jave in xml java podpira standard unicode kar pomeni da lahko brez tezav obdeluje mednarodne dokumente v xml procesiranje in povprasevanje v dokumentih xml je preprosto saj obstaja javina povezava do strukture dokumentov objektnega modela dokumentov w c document object model dom prenosljivost med sistemi in podobnost notranje strukture java uporablja hierarhijo objektov xml hierarhijo elementov v dokumentih xml predstavlja mehanizem ki ga potrebuje java za posredovanje najrazlicnejsih podatkov med aplikacijami princip obdelovanja dokumentov v xml z javo dokument v xml je tekstovna datoteka lahko bi ga brali in pisali vanj kot v vsako drugo tekstovno datoteko vendar to ne izkorisca prednosti xml dokumenti v xml imajo po svoji naravi hierarhicno drevesno strukturo to strukturo je smiselno obdrzati in upravljati dokument preko nje programe ki berejo dokumente v xml imenujemo parserje xml na voljo je vec parserjev razlicnih proizvajalcev tabela proizvajalec orodja za xml arbortext www arbortext com adept editor urejevalnik xml s preverjanjem veljavnosti oblikuje stilne predloge xsl datachannel www datachannel com xjparser parser ki preverja veljavnost datotek xml glede na dtd ali sheme xsl procesor xml generator vsebovan tudi v xjparser pretvarja podatkovne vire v xml extensibility www extensibility com orodja za delo s shemami xml ibm www alphaworks ibm com xml for java preverja veljavnost xml texml xml v tex in obratno lotusxsl procesira xsl xml beanmaker generira javabeans microsoft www microsoft com internet explorer parser in urejevalnik za xml delna preslikava iz xsl v html primer ki si ga lahko z njim ogledamo in prikazuje rabo xsl xml in xlink zbrana shakespearova dela http www guy murphy easynet co uk microstar www microstar com near far designer oblikovanje dtd alfred parser xml za javo oracle www oracle com oracle i parser xml oracle app server xml oracle jdeveloper xml oracle developer xml oracle webdb xml sun developer java sun com developer earlyaccess xml podjetje ki je in se veliko prispeva k xml zavzema se za tesno povezanost xml in jave java standard extension for xml standardni javin programski vmesnik api za razvoj storitev in aplikacij xml vmesnik je se v razvoju java project x parser xml napisan v javi tabela stevilni proizvajalci izdelujejo orodja za xml orodja ki so povezana z javo so izpisana posevno razvijalci v javi uporabljajo obicajno sun ov parser ki je prosto dostopen pisan v cisti javi dodani pa so tudi primeri dokumentacija in sun ova implementacija programskih vmesnikov za dom document object model in sax simple api for xml obstajata namrec dva tipa programskih vmesnikov dogodkovni programski vmesnik npr sax in drevesni programski vmesnik npr dom sun pravi dogodkovnemu pregledovalni model parsing model in drevesnemu objektni model object model za delo s tem vmesnikom potrebujemo javin prevajalnik ki podpira specifikacijo jdk ali novejso drevesni programski vmesnik preslika elemente dokumenta v drevesno strukturo v pomnilniku po preslikavi lahko dodajamo elemente ali obdelujemo obstojece programski vmesnik mora omogocati tudi obdelovanje dtd ki nadzoruje drevo sun ova implementacija tovrstnega vmesnika je v paketu com sun xml tree slabost drevesne strukture se pokaze pri obdelavi zelo obseznih dokumentov dogodkovni programski vmesnik lahko uporabljamo v povezavi z drevesno strukturo dokumenta ali brez nje z njim preglejujemo dokument od zacetnega elementa navzdol pri vsaki oznaki na katero naletimo se sprozi dogodek programski vmesnik nam omogoca da napisemo lastne streznike dogodkov ki se nanje odzivajo sun ova implementacija tega vmesnika je v paketu com sun xml parser vmesnik je primeren za obdelovanje obseznih dokumentov zakljucek v danasnjem svetu je ob poplavi informacij tehnologija za njihovo strukturiranje in preverjanje kot je xml zelo potrebna prav tako je potreben splosen prenosljiv format dokumentov ki je neodvisen od velikih proizvajalcev aplikacij prenosljivost oziroma interoperabilnost je eden kljucnih dejavnikov danasnjega elektronskega poslovanja in povezovanja organizacij ter podjetij najprimernejse okolje za obdelovanje dokumentov v xml predstavlja java saj se lahko programi npr parserji xml pisani v njej brez sprememb izvajajo na razlicnih sistemih in v razlicnih oblikah kot aplet servlet javabean enterprise javabeans ali sistemu prilagojena aplikacija obenem predstavlja xml standardno sredstvo za izmenjavo podatkov med razlicnimi aplikacijami torej omogoca interoperabilnost aplikacij velika in manjsa podjetja ter organizacije intenzivno prispevajo k razvoju standardov na osnovi xml prav tako k razvoju izdelkov na osnovi jave stevilni posamezniki spremljajo novosti in sproti dajejo svojim informacijam novo uporabnejso obliko lahko bi dejali da oblikujeta ti tehnologiji zacetek informacijske tehnologije novega tisocletja viri http www w org www informacije o spletu world wide web u http corfu forthnet gr internet fiesta statistic main html statistika interneta http www xml com xml pub w j s bosak html jon bosak xml java and the future of the web http www w org xml pregled specifikacij in razvoja xml ter z njim povezanih standardov http www w org style xsl pregled specifikacij jezika xsl http www w org tr wd xlink in http www w org tr wd xptr delovni verziji specifikacij xlink in xpointer leskovar robert t intelligent agents applied to workflow systems mipro' zbornik mednarodne konference opatija str vase mnenje o prispevku splosno odlicen vreden branja ni vreden branja dolzina predolg ravno prav prekratek strokovnost prevec strokoven ravno prav prevec splosen opombe vase ime priimek e posta podjetje