W3C, XML ja tietojenkäsittely: Ihmisen ja tietokoneen yhteinen ymmärrys suoritettavasta tehtävästä ja XML-standardien merkitys tietosysteemeissä (MH) Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto
Esitelmä Hyvin lyhyt versio: XML on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita. XML-perheen perustan muodostavat ytimeltään yksinkertainen XML-merkkaus ja kokonaisuuden modulaarinen rakenne. Pidempi versio, otsikoita: W3C ja universaalit standardit Extensible Markup Language (XML) XML-perhe Sisällön kuvailu (metatiedot yms.) XML-teknologioiden kehitys XML:n rooli sovelluksissa (strategia) Tavoite: kertoa W3C:n XML-työstä ja jäsentää XML:n roolia tietojenkäsittelyssä 2
Konteksti: W3C ja Universaalit Standardit
World Wide Web Consortium (W3C) W3C kehittää yhteensopivia teknologioita (spesifikaatioita, ohjeita ja ohjemistoja) ja siten ohjaa Webin kehittymistä täyteen mittaansa 3 päätstoa, 14 aluetstoa, n. 400 jäsenorganisaatiota Jäseneksi? ks. http://www.w3c.tut.fi/joining.html 4
W3C:n olemus ja tuotteet Vaikutusvaltainen foorumi Suositukset XML-perhe, XHTML-perhe, SVG, RDF, Semanttinen Web, Webpalvelut... Ohjelmistot Validaattorit, testiaineistot, open source,... Ohjeet ja yhteydet WAI, aluetoimistot,... Jäsenorganisaatiot 5 Is : Information, Image, Involvement, Influence, and Impact A B 5
W3C:n (nykyiset) toimialueet ja aktiviteetit (Ks. http://www.w3.org/consortium/activities.) 6
W3C-työryhmät (2003) 7
Extensible Markup Language (XML)
Viisivuotias ihmelapsi... February 10 2003 V. (Ks. http://www.w3.org/2003/02/xml-at-5.html.) 9
Yhteensopivuuden lähtökohta: std-metakieli <?xml version="1.0" encoding="iso-8859-1" standalone="no"?> <!DOCTYPE kirja SYSTEM "mybook.dtd"> <?xml-stylesheet type="text/css" href="esim.css"?> <kirja aihe="fantasia" tyyppi="trilogia" julkaisuvuosi="1955"> <nimi>taru Sormusten Herrasta</nimi> <kirjoittaja>j.r.r. Tolkien</kirjoittaja> <kuvaus>fantasiasotaa Keskimaassa.</kuvaus> <taustoja> Kirjan keskeisiä henkilöitä ovat Frodo Reppuli & Gandalf. Muita ovat esim. <!-- Seuraava merkkidatalohko ei sisällä merkkausta --> <![CDATA[ edesmennyt Sauron & Saruman, ja Sormuksen Ritareista erityisesti Frodoa tavalla tai toisella seuraava nelikkö Sam & Merry & Pippin & Klonkku sekä <<perinteisempi>> sankarityyppi; Aragorn eli Konkari. ]]> </taustoja> <kuvia> <kuva url="taistelu.jpg" kuvaus="synkkää taistelua <elokuvaversio>"/> <kuva url="maisema.jpg" kuvaus="keskimaan vuoristomaisemaa < elokuvaversio>"/> </kuvia> </kirja> Esittelyosa: tyyppitieto Esiintymäosa: dokumentin sisältö (juurielementti) +lisäksi: laajennettavuus nimiavaruudet std-sovellukset... 10
XML ja rakenteisen dokumentin idea <doc><title>xml 5 vuotta </title> <body> Paljon onnea XML! </body></doc> 10011000... Sovellus / prosessointi www.w3c.tut.fi <?xml version= 1.0?> <xsl:stylesheet... XML 5 vuotta Paljon onnea XML! www.w3c.tut.fi esitys rakenteinen lähdedokumentti (käsikirjoitus) tyyli (formatointi) kuva (mediaobjekti) 11
Tyypillisiä tavoitteita: tehokkuus ja joustavuus Dokumenttien hallinnan tehostaminen automatisointi ja integrointi Monta sovellusta samalle sisällölle: prosessorit, tyyli, alustat,...? Sovellus #1 Sovellus #2?? (rakenteinen sisältö)? Sovellus #3 12
XML laajemmin ymmärrettynä XML metakielenä ja arkkitehtuurina (WS) XML yhteisöllisenä sopimuksena XHTML SVG... XML tekstiformaattina map/>dc:author</head><body><foo:title>tuote</foo:title><!--nop --><g>ite DOM Query... SOAP RDF... XML tietorakenteen std-rajapintana XML kommunikoinnin välineenä 13
XML-perhe
Tarkemmin katsottuna XML-maailma näyttää tältä: Sovellukset tiedonvälitys, verkkopalvelut, teollisuuden sovellukset, liiketoiminta,... Std-perhe & W3Csuositukset XML-perhe muut W3C-suositukset Pysyvä XML-ydin (W3C) XML 1.0, XML NS, XML Schema XML 1.0 Namespaces XML Schema T&K STD HTTP Unicode URI 15
Modulaarinen XML-perhe osana Web-teknologioita XHTML SVG SMIL MathML VoiceXML XForms... EMMA XSL-FO CSS P3P WAI... XSLT XPath XQuery... RDFS, OWL RDF CC/PP WSDL SOAP... DOM Encryption XKMS Canonical Signature XLink Base Fragments Inclusions Events XPointer... XML 1.0 Namespaces XML Schema HTTP Unicode URI 16
Yhteensopivuus syntyy kokonaisuudesta 17
Mihin XML on menossa? (Kolme esimerkkiä) Tekstiformaatit (esim. grafiikka, websivut) 1)... Web / XML... 2)...... 3) (Loogiseen) malliin/viestinkäsittelyyn perustuvat sovellukset Kanaviin/putkiin perustuvat sovellukset (e.g. julkaisutoiminta) Semantic Web Web Services? 18
Kaksi XML-tuoteperhettä (vrt. s. 10 edellä) Semantic Web Web Services Periaatteita: yhtenäinen perusta, logiikkaan ja kompositioon perustava skaalautuvuus ja dynaamisuus (huomaa haun rooli ideoissa!) 19
Sisällön kuvailu (metatiedot yms.)
Semanttinen yhteensopivuus XML ratkaisee yhteensopivien tietorakenteiden esityspulman ja on helposti laajennettavissa XHTML, SVG, SOAP, XForms,... Tämä ei vielä riitä yhteensopivan tiedon esittämiseen perustuu sopimukseen dokumenttien tyypistä (DTD/Schema) Ratkaisu: RDF (Resource Description Framework) yksinkertaisin järkevä syntaksi sanoa jotain sanoa mitä? metatietosanastot (esim. DC) tulkinta Kaksi täydentävää kehityskaarta (ns. Semanttinen Web) attribuuttipohjainen metatieto: RDF & RDF Schema, yhtenäiset käsitejärjestelmät: OWL (ontologiat) Miksi tärkeää? 1) informaatio lisääntyy, ymmärrys ei ( koneet!) 2) yhteensopivuus = tiedon yhdistelyn perusta 21
Mikä on metatietoa? Metatieto on tietoa jota ei löydy tai jota ei voida helposti poimia käsikirjoituksista tms. Metatieto ja tieto -erottelua ei ole pakko lainkaan tehdä dokumenttien tyyppitiedot tekstiformaatti ja ko. formaatin kontrolloitu sanasto lisätty, kuvaileva (meta)tieto metatiedon käyttöä ohjaava skeema (tms.) sovellusalueen ontologia jne. tyyppi käsikirjoitus Mediaobjektit viimeksi muokattu: 2003-11-26 Se päivämäärä jolloin tietosisältö viimeksi muuttui, tyyppi: xsd:date paperikoneen käyttöohjeen tuotantoprosessi 22
Metatieto sisällönhallinnan osana Dokumenttistandardit eivät automaattisesti koodaa/tue niiden tuotamisen prosesseja -- tarvitaan lisätietoja prosessien ja työvaiheiden dokumentointi tuotantoprosessin, sovelluksen ja lähdeaineiston metatiedot prosessin dokumentointi Käsikirjoitukseen liittyvä metatieto käsikirjoitus Tuotantoprosessiin liittyvä metatieto Mediaobjekteihin liittyvä metatieto Mediaobjektit Sovellukseen liittyvä metatieto 23
Metatieto ja sen sovellukset Yksinkertaiset sovellukset haut, näkymät (profilointi) ja tiedon ulkoistaminen Edistyneemmät sovellukset integrointi, päättely, analysointi, business-äly yms. Kaksi lähestymistapaa attribuuttipohjainen metatieto tiettyihin sovelluksiin kohdennetut ontologiat Tavoite: lisätä tiedonhallinnan automatisointia Mallinnuksen rooli tietorakenne vs. tieto: <html> <head> <body>... persons:ossi hobbies:favourite-movie movies:cast-away 24
SW:ssä keskeistä on tiedon yhdistäminen Ominaisuuksia: lausumat ovat universaaleja (syntaksi JA sanasto) lausumia voidaan yhdistellä (nimiavaruudet!) tulkintaan vaikuttaa USEITA tekijöitä (myös valinta ja luottamus) tiedon julkaisija eri lähteiden valinta tiedon tulkitsija Kuvalähde. Berners-Lee, W3C, http://www.w3.org/2003/talks/0922-rsoc-tbl/overview.html 25
XML-teknologioiden kehitys
Miksi ja miten tähän on päädytty? Laajassa mittakaavassa ideoita ja sovelluksia ei voi sanella tai pakottaa kehitystä voi vain OHJATA Structured documents Document-based Data Choreography??? Text Formats Binary Formats Mixing Applications Services Data-oriented Processes the Web is born Sovellusprofiilit, sisällön määrä, rakeisuus ja sovellusten monimuotoisuus, standardien tarve, semanttisen kuvailun tarve 27
W3C:n virstanpylväät 1/3 (XML:n osa korostettu) 28
W3C:n virstanpylväät 2/3 (XML:n osa korostettu) 29
W3C:n virstanpylväät 3/3 (XML:n osa korostettu) Since May 2003: June SOAP 1.2 REC PNG 2nd Ed, Proposed REC July: Aug: Sept-Oct: Gone Fishing... OWL Candidate REC MathML 2.0 Proposed Edited REC... XML Events REC XForms REC CC/PP Structure and Vocabularies 1.0... 30
Uusia ja tulevia(?) suosituksia (~XML) Recent RECS XML Events XForms 1.0 Soap 1.2 XPointer SVG 1.1 SVG Tiny, SVG Basic XML Encryption/Decryption XML Signature... Proposed RECS: CC/PP Structs & Vocab 1.0 PNG (2nd Edition) Proposed edited RECS MathML Version 2.0 (2nd Edition) Candidate RECS XForms 1.0 Basic Profile OWL (various) DOM Level 3 Validation, XPath CSS3: TV 1.0, Color, Ruby, Text, Mobile 1.0, Media Queries, Selectors VoiceXML 2.0 XML 1.1, XML Namespaces 1.1 XInclude 1.0 Speech Recognition Grammar 1.0 XML Fragment Interchange Muuta mielenkiintoista WSDL 1.2, XQuery 1.0, XKMS, DOM Level 3, RDF (various),... Lisää, ks. http://www.w3.org/tr/ 31
XML:n rooli sovelluksissa (strategia?)
W3C-suositukset ja tietojenkäsittelyn prosessit Sisällönhallinta & W3C-aktiviteetit, yhtymäkohtia: I18N, URI, XML, XLink, Device Independece, Graphics, XHTML, Math, Multimodal Interaction, Style, Synchronized multimedia, Voice Browser, XForms, Semantic Web, Web Services, XML Encryption, XML Signature, WAI Technical Activity,... Suuntaa-antava piirre: standardinomaisuus W3C-suositukset eivät (suoraan) osoita prosesseja jotka esim. tuottavat hyviä sovelluksia, vaan määrittelevät prosessien lopputuotteen tai kahden prosessin rajapinnan SVG 1.1 -dokumentti julkaisuskenaario SVG Mobile 33
Teknologinen potentiaali vs. toteutuma XML-perhe on tyypillinen esimerkki universaaleista standardeista teknologinen perusta sovelluksille mutta ei suoraan toteutusta poikkeuksen muodostavat kuvailukielet: esim. SVG on hyvin lähellä sovelluksia ( valmis vektorigrafiikan kuvailukieli) XML-teknologioiden suunnittelun perusperiaatteita yhteensopivuus minimalistinen suunnittelu A modulaarisuus kestävä kehitys (esim. XML-perhe laajenee, muttei rikkoudu) saavutettavuus ja laiteriippumattomuus B Soveltajan tehtäväksi jää arvioida, poimia ja rakentaa XML-perheestä, menetelmistä ja työkaluista omaan toimintaansa soveltuva XML-strategia 34
Esimerkki: Julkishallinnon XML-strategia Julkishallinto ja XML visio vuoteen 2006 Julkishallinto on, käyttämällä laajasti XML-teknologiaa, tehostanut toimintaprosessejaan ja lisännyt tietojärjestelmien yhteentoimivuutta ja yhteiskäyttöä. Näin on parannettu asiakkaiden sekä sidosryhmien palvelua sekä tehostettu omaa toimintaa. Tätä tarkoitusta varten on määritelty julkisia, standardoituja XML - rajapintoja ja toimintaprosesseja, niitä tukevia julkisia sanastoja sekä organisoitu niiden soveltamisen edellyttämä keskitetty tuki. Visio ei yksin riitä! tavoitteet, toimenpiteet, yhteydet muihin strategioihin ja valtion tietotekniikan suosituksiin, jalkauttaminen, pilotointi, jne. arviointi, kehittäminen, ylläpito,... 35
Lopuksi
Yhteenveto W3C asettaa Webin perusteknologioita, XML on yksi näistä ~ tieto- ja viestintätekniikan yleiset teknologiat (ei pelkkä Web ) XML tarjoaa rikkaan perheen yhteensopivia teknologioita monipuolisen tietojenkäsittelyn tarpeisiin Teknisenä ratkaisuna XML edistää merkittävästi eri järjestelmien yhteensopivuutta, mutta edellyttää silti yleensä sovelluskohtaista toteutustyötä ja suunnitelmallista käyttöönottoa 37
Kiitos! Jäikö joku W3C-asia mietityttämään? Allekirjoittaneen tavoittaa helposti: http://www.w3c.tut.fi Ossi@w3.org The bane of my existence is doing things that I know the computer could do for me." -- Dan Connolly, The XML Revolution 38
Liite 1: lisätietoja ja osoitteita eteenpäin W3C http://www.w3.org/ (kotisivu) http://www.w3c.tut.fi/ (W3C Suomen toimiston kotisivu) W3C-aktiviteetit http://www.w3.org/consortium/activities (yleiskuva) http://www.w3.org/xml/activity (XML) W3C:n suositukset ja raportit sekä teknistä tietoa http://www.w3c.org/tr/ (specs) http://www.w3.org/qa/thematrix (spec-tietoa jäsennettynä) Jäseneksi! http://www.w3c.tut.fi/joining.html http://www.w3.org/consortium/prospectus/joining 39
Liite 2: Uusinta uutta, esimerkki: XForms XML-pohjaiset lomakkeet: XForms (REC 14.10.2003) Ks. HTML:ää monipuolisempi logiikan, esitystavan & datan erottelu XML Schema -tietotyypit & tarkistukset jo paljon toteutuksia, Basic-profiili tulossa täysin XML-pohjainen laiteriippumattomuus, saavutettavuus otettavissa heti käyttöön http://www.w3.org/markup/forms/ http://www.w3.org/markup/forms/2003/xforms-faq.html http://www.w3.org/markup/forms/2003/xforms-for-htmlauthors.html 40