200 likes | 345 Views
Moderní značkovací jazyky a jejich aplikace. RNDr. Tomáš Pitner, Dr. Masarykova univerzita v Brně, Fakulta informatiky Botanická 68a, 602 00 Brno tel: 05/41512360 e-mail:tomp @ fi.muni.cz. XML jako nosná technologie (bezdrátové) komunikace budoucnosti. Úvod do značkovacích jazyků
E N D
Moderní značkovací jazyky a jejich aplikace RNDr. Tomáš Pitner, Dr. Masarykova univerzita v Brně, Fakulta informatiky Botanická 68a, 602 00 Brno tel: 05/41512360 e-mail:tomp@fi.muni.cz
XML jako nosná technologie (bezdrátové) komunikace budoucnosti • Úvod do značkovacích jazyků • XML a související standardy • Datové modelování pro XML • Metadata v/pro XML • XML v obchodních aplikacích
Proč XML? • Velký podíl (až 90 %) z dat vyměňovaných v rámci podniků nebo mezi nimi tvoří nikoli data s přesně (a explicitně) popsanou pevnou strukturou, ale semistrukturovaná data, dokumenty: • faktury, objednávky • dotazníky, marketingové materiály • katalogy (zboží) • webové prezentace... • Rutinní používání globálních sítí: potřeba najít intuitivní, otevřený, volně přístupný a jednoduchý standard lidsky čitelných a strojově zpracovatelných dat. • Přenositelné a zpracovatelné stávající síťovou infrastrukturou (protokoly, WWW servery, prohlížeče...). • Stávající HTML formát nevyhovuje (omezen na specifikaci formátování dokumentu pro prezentaci).
Co je a co přináší XML? • Východiskem z mnoha těchto problémů je XML. • Start: leden 1998 - konsorcium W3C ustavilo základní standard XML 1.0. • XML je standard, jak tvořit vlastní značkovací jazyky pro výměnu, ukládání, zpracování a prezentaci dat. Příslušná aplikační doména si definuje jazyk (formát) specifický pro danou problémovou oblast. • XML umožňuje definovat flexibilní, přitom ale dobře rozpoznatelné a zpracovatelné struktury dat (dokumentů). • XML je od počátku použitelný pro dokumenty v různých národních jazycích a kódováních. • Konceptuálně vychází ze SGML (Structured Generalized Markup Language) • => tudíž příbuzný s HTML => je vhodný pro výměnu dat v globálních sítích (Internetu).
Významné aplikace XML • Věda, výzkum, technické obory, např.: • přírodní vědy (značkovací jazyk pro zápis vzorců v matematice - MathML, chemii) • humanitní vědy (např. genealogický ML) • technické obory (např. technická grafika) • informační systémy (např. modelovací jazyk XMI) • komunikace (např. WML - Wireless Markup Language) • Aktuální seznam je udržován konsorciem Oasis-Open na • http://www.oasis-open.org/cover • Další zdroje: • http://www.w3c.org, http://www.xml.com, http://www.xml.org, http://xmlsoftware.com, http://www.ibm.com/xml, http://www.microsoft.com/xml
HyTIME SGML XML - rodina standardů DSSSL CSS TEI HTML XLink XML XSL XPointer XSLT XQL XHTML RDF XSchema XPath převzato z Pokorný, J.: XML a databáze, Informatické kolokvium, FI MU, Brno, 2000
Struktura XML dat • XML data jsou semistrukturovaná - struktura může být dána • explicitně (např. DTD nebo Schematem - vně nebo přímo uvnitř dokumentu) • implicitně (přímo strukturou dokumentu) • Příklad XML dokumentu -- soubor ”mesta.xml”: <?xml version="1.0" encoding="Windows-1250" ?> <!DOCTYPE MESTA SYSTEM "mesta.dtd"> <MESTA> <MESTO><NAZEV>Praha</NAZEV><OBYVATEL>1200000</OBYVATEL></MESTO> <MESTO><NAZEV>Brno</NAZEV><OBYVATEL>370000</OBYVATEL></MESTO> <MESTO><NAZEV>Ostrava</NAZEV><OBYVATEL>150000</OBYVATEL></MESTO> </MESTA> • Příklad jeho DTD -- soubor ”mesta.dtd”: <!ELEMENT MESTA (MESTO*)> <!ELEMENT MESTO (NAZEV, OBYVATEL)> <!ELEMENT NAZEV (#PCDATA)> <!ELEMENT OBYVATEL (#PCDATA)>
Modelování XML dat • Dokument vyhovující modelu (DTD) se nazývá platný(valid) • Slabším požadavkem je správné utvoření/sestavení XML dokumentu (well-formed); což znamená zhruba: • správná XML hlavička, • správné vnoření elementů, • používání přípustných znaků v názvech elementů/atributů, • používání přípustných znaků v těle elementů/atributů • Budoucnost je v XML datech s explicitním modelem (alespoň DTD)
Modelování XML dat • XML dokument lze reprezentovat • stromem (tam se neprojeví reference IDREF/S -> ID) či • orientovaným grafem (vč. modelování referencí) • objektovým modelem (vzorem model podle ODMG) • funkcionálně (jako typované funkce) • schematem jako relační databázi • Tyto modely (zejm. grafové) mohou/nemusí brát v úvahu pořadí (sub)elementů: • uspořádané (spíše dokumenty) • neuspořádané (spíše (relační) databáze)
Základní principy modelů XML dat • Objektový pohled (používá se dědičnosti, odvozování) • nadtřída (obecnější typ) -> třída -> podtřída (speciálnější typ) • Gramatická pravidla (používá se BK gramatik - např. u DTD) • element X obsahuje subelementy Y, Z v tomto pořadí... • Tvrzení a vzory (Assertions and Rules) • Kombinace (zejména objektového přístupu a gramatik) • výhody obou (tradice DTD + přirozenost objektů) • toto je přístup návrhu XML-Schema
Praxe modelování: jazyky definice XML dat (DDL pro XML) • Základním nástrojem popisu modelu byl a zatím zůstává DTD (Document Type Definition/Description) - kodifikováno jako součást XML 1.0 standardu v lednu 1998 • Konkrétní instance XML dokumentu může být (zejména ve vnitřní paměti) reprezentována stromem v modelu DOM (Document Object Model) • Budoucnost pravděpodobně patří nějaké variantě XML-Schema (ze stejné dílny jako XML samo - tedy W3C)
Dotazování nad XML daty (DML pro XML) • Na zvoleném modelu podstatně závisí snadnost a efektivita dotazování • Co je vlastně dotazování nad XML? • F([XML Dokument/množina dok.], dotaz) -> [XML Dokument/množina dok.] • Dotazovací jazyky pro XML data: • velký počet • není standard • Společné rysy: • značná vyjadřovací síla (minimálně srovnatelná s SQL) • příbuzná syntaxe jako SQL • často doplněno o prvky fulltextového vyhledávání • XML jako databáze -> zcela nové problémové okruhy: • efektivní ukládání, indexování, transformace...
Standardy použití XML v elektronickém obchodu • Konsorcium ebXML, http://www.ebxml.org • nejvýznamnější std. aktivita v oblasti eB/XML • Common Business Processes • Common Semantics • Common Vocabulary • Common Character Encoding • Common Expression • Common Security Implementations • Common Data Transfer Protokol • Common Network Layer • Konkureční projekty: RosettaNet, BizTalk, XML.ORG, Open Application Group
Standard pro mikroplatby • Obvykle pro „per-fee-links“ a jiné drobné platby • Nelze použít jiných způsobů elektronického placení, ale • nižší nároky na zabezpečení • Pracovní skupina při W3C http://www.w3.org/TR/WD-Micropayment-Markup/
Standardy WAP a WML pro mobilní komunikaci • Cíl: přizpůsobit internetové technologie možnostem mobilních zařízení • Elektronický organizér, handheld, palmtop, "chytrý" mobilní telefon • Fórum pro bezdrátové aplikace http://www.wapforum.org • Standard WML (Wireless Markup Language) - jazyk typu XML • jazyk WML Script (obdoba JavaScriptu) • Protokol WAP (Wireless Application Protocol)
VoiceXML - jazyk popisu hlasové informace • Vytvořen společnostmi AT&T, IBM, Lucent Technologies a Motorola, spolupracuje též Intel. • Přijat jako standard VoiceXML 1.0 konsorciem W3C. • Cílem je vytvoření obsáhlé platformy značkovacích jazyků pro dialogy, gramatiky přirozených jazyků, syntézu řeči, sémantiku přirozených jazyků, multimodální dialogy a množinu standardizovaných znovupoužitelných dialogů • => Integrované informační služby (portály) na bázi XML: • využívají XHTML, WML, VoiceXML,...
Související standardy Platform for Privacy Preferences Project (P3P) • Projekt W3C, standardizace komunikace za účelem stanovení vyhovujících praktik - např. nakládání s osobními daty získatelnými návštěvou webového místa. Protocol Extension Protocol (PEP) • Standard PEP nabízí metodu, jak rozšiřovat výchozí, veřejné a všeobecně uznávané standardy komunikace v sítích WWW (HTTP) pro specifické potřeby komunikujících stran.
Příklady hotových řešení EO na bázi XML webMethods B2Bi XMLSolutions SoftQuad eCatalog GENTRAN Web Suite XMLdb Portal for POP3 Gateway/Extensible Messaging Platform3.0 XtremeCredit V 1.2
Problémy XML (1.): Bezpečnost • Standard XML 1.0 nedefinuje žádné prostředky pro zajištění základní bezpečnostní funkcionality (integritu, důvěrnost, možnost vzájemného ověření totožnosti odesílatele a příjemce...). • Bezpečnost se řeší na jiných aplikačních úrovních (např. SSL). • To ale nezajišťuje "pokročilejší" bezpečnostní služby. • Je možné využít některých dílčích standardů pro zabezpečení XML dat - např. elektronického podpisu částí nebo celých dokumentů ve formátu XML (IETF-W3C DSig: XML Signatures).
Shrnutí • Dohodnout standard pro výměny informací v obchodním styku na bázi platformově neutrálního XML je mnohem snazší, než se shodnout na používání proprietárního standardu prosazovaného často jedním výrobcem. • XML se díky jednoduchosti a otevřenosti vbrzku stane klíčovou součástí většiny aplikací, kde jde o výměnu dat mezi nezávislými systémy různých výrobců - zdaleka ne jen na Internetu. • Klíčovou vlastností nastupujících IS budovaných na bázi XML bude především schopnost zvládnout poskytování mnohostranných informačních služeb na celé řadě úrovní, ať už horizontálních (web, WAP, voice) nebo vertikálních (B2B, B2C, middleware).