RAPORTTI 1.11.2002
Ossi Nykänen (ossi@w3.org)
W3C Suomen toimisto
Tiivistelmä. Tämä raportti on kirjoitettu suppeana selvitystyönä XML-strategiatyöryhmän työn tueksi. Raportti esittelee lyhyesti nykyiset ja työn alla olevat XML-suositukset, kokoaa yhteen XML:n kehittymisen seuraamista helpottavia resursseja, arvioi XML-suositusten nykytilaa sekä esittää lyhyen suosituksen yleisestä XML-strategiasta.
Raportti on kirjoitettu hypertekstimuotoisena ja se löytyy sähköisessä muodossa W3C Suomen toimiston kotisivuilta osoitteesta http://www.w3c.tut.fi/reports/2002/1101xml-strategy/.
HUOM: Raportin tietoja ei aktiivisesti ylläpidetä -- raportti kuvaa siis XML-työn tilanteen sellaisena kuin se oli 1.11.2002.
Aiheeseen liittyviä Suomen sisäasiain- ja valtionvarainministeriön resursseja:
1 Yleistä
1.1 W3C
1.2 XML
2 Valmistuneet XML-suositukset
3 Valmisteilla oleva XML-suositukset
4 Arvio XML:n nykytilasta
5 Suositus XML-strategiaksi
6 Tietoja World Wide Web Consortoimista
7 Lopuksi
World Wide Web Consortium (W3C) kehittää yhteisiä ja yhteensopivia Webin pelisääntöjä ja teknologioita (spesifikaatioita, ohjeita, ohjelmistoja sekä työkaluja). Keskeinen osa W3C:n työstä on erilaisten Webin kehittymistä ohjaavien teknisten spesifikaatioiden määrittely ja suositusten asettaminen.
W3C toimii konsensuksen ja avoimuuden periaatteilla (työ organisoidaan W3C:n prosessimäärittelyn (W3C process document) mukaisella tavalla). Käytännössä tämä pyrkii varmistamaan sen, että W3C-suositukset ovat yleisesti hyväksyttyjä, vapaasti käytettäviä ja myös käyttökelpoisia käytännössä. W3C suositus (recommendation) on huolellisen ja laajamittaisen työn tulos jolla on tukenaan W3C-jäsenorganisaatioiden merkittävä kannatus sekä jo useita referenssitoteutuksia. Käytännössä W3C:n suosituksilla on laajasti tunnustettu, standardinomainen status.
W3C kehittää ja asettaa suosituksia useista erityyppisistä teknologioista (ks. W3C activities). Eräs keskeisimmistä on modernin Webin perusarkkitehtuurin ja yhtenäisen kieliopin määrittelevä XML-suositus.
Extensible Markup Language (XML) on lähinnä sovelluskehittäjille suunnattu W3C-teknologia joka tähtää tietoa välittävien järjestelmien tekniseen yhteensopivuuteen. XML koostuu useista erillisistä teknisistä määrityksistä jotka muodostavat protokollapinoa muistuttavan hierarkian.
Laajasti tarkasteltuna XML määrittelee modulaarisen XML-perheen (suositus- ja teknologiaperheen), joka erityisesti mahdollistaa mm. seuraavia asioita:
Vaikka XML:n ydinosan määrittelytyön voidaan katsoa jo olevan valmistunut, laajan XML-standardiperheen kehitystyö jatkuu yhä.
Tämä raportti luo tiivistetyn katsauksen W3C:n XML-työn nykytilaan ja kerää yhteen eri aktiviteettien työn valmistumisen määritellyt (tavoite)aikataulut. Tämä raportti ei tarkastele XML:n varaan rakentuvia dokumentti- tai grafiikkakieliä (esim. XHTML, SVG ja SMIL) eikä W3C-muistioita (ks. notes), lukuun ottamatta mainintaa SOAP ja WSDL -muistioista.
W3C:n teknisistä spesifikaatioista löytyy tietoja esim. W3C:n sivuilta (ks. W3C Technical Reports and Publications ja The Matrix of W3C specifications [erittäin hyvä spesifikaatioiden valmistumista seuraava W3C-palvelu]) tai W3C Suomen toimiston W3C suositusarkistosta. Viimeisin tieto XML-perheestä löytyy tietenkin W3C:n XML-kotisivulta. Yhtenäinen englanninkielinen katsaus XML-perheen käsitteisiin, spesifikaatioihin ja teknologioihin on esim. professori Airi Salmisen XML Family of Languages: Overview and classification of W3C Specifications . Laajan arkiston XML-sovelluksia ja ohjelmistoja tarjoaa esim. Cover Pages: Extensible Markup Language (XML).
W3C organisoi kehitys- suositustyötä viiden toimialueen puitteissa etenevien aktiviteettien muodossa. XML-työ tapahtuu erityisesti seuraavissa aktiviteeteissä:
Käytännössä kukin aktiviteetti käsittävää useita työryhmiä, jotka viime kädessä tuottavat W3C-suosituksia, referenssiohjelmistoja yms. tuloksia. Oheinen taulukko luettelee W3C:n XML:ään liittyvät suositukset (tilanne 1. marraskuuta 2002):
Taulukko 1. XML-aiheiset W3C-suositukset.
| nimi | status | valmistui | kuvaus |
| Extensible Markup Language (XML) 1.0 (Second Edition) | suositus | 2000-10-06 | XML-kielioppi; perusmääritys jonka varaan koko XML-perhe rakentuu. |
| Namespaces in XML | suositus | 1999-01-14 | Tekninen määritys XML-nimiavaruuksista; XML 1.0:n kaltainen perussuositus ja keskeinen osa XML:ää. |
| DOM Level 1 | suositus | 2000-11-13 | Matalan tason XML-ohjelmoinnissa tarvittavia rajapintoja. |
| DOM Level 2 | suositus | 2000-11-13 | Matalan tason XML-ohjelmoinnissa tarvittavia rajapintoja. |
| XML Base | suositus | 2001-06-27 | XML-dokumentista löytyvien URI-viittausten sievennysmekanismi. |
| XML Schema | suositus | 2001-05-02 | Joukko XML-skeemat määritteleviä spesifikaatioita (joita tarvitaan dokumenttien validoinnin eli semanttisen rakenteen testaamisessa). |
| Canonical XML Version 1.0 | suositus | 2002-04-15 | Tekninen määritys XML-dokumentin rakenteen normaalimuodosta jota tarvitaan esim. XML-allekirjoituksissa. |
| Decryption Transform for XML Signature | suositus | 2002-04-15 | Kryptattujen dokumenttien (osien) allekirjoittamismekanismin määrityksessä tarvittava tekninen suositus. |
| Exclusive XML Canonicalization Version 1.0 | suositus | 2002-07-18 | Tekninen määritys XML-dokumentin rakenteen normaalimuodosta jota tarvitaan esim. XML-allekirjoituksissa. |
| XML-Signature Syntax and Processing | suositus | 2002-02-12 | Suositus XML-allekirjoitusten käsittelysäännöistä ja kieliopista. |
| XML Linking Language (XLink) Version 1.0 | suositus | 2001-06-27 | Suositus XML-hyperlinkeistä (hyperteksti sekä yleiset resurssienväliset relaatiot). |
| XML Information Set | suositus | 2001-10-24 | Toisten spesifikaatioiden referenssisuositus joka määrittelee miten XML-dokumentin osiin tulee määritysteknisesti viitata. |
| XML Path Language (XPath) Version 1.0 | suositus | 1999-11-16 | Lausekekieli ja määritys XML-dokumenttien osiin viittaamiseksi. (Elimellinen osa esim. XSLT-suositusta.) |
| Associating Style Sheets with XML documents Version 1.0 | suositus | 1999-06-29 | Prosessointiohje tyylien liittämiseksi XML-dokumentteihin. |
| Extensible Stylesheet Language (XSL) Version 1.0 | suositus | 2001-11-15 | Julkaisutoiminnassa tarvittava formatointikieli. |
| XSL Transformations (XSLT) Version 1.0 | suositus | 1999-11-16 | XML-dokumenttien muunnoksissa (esim. monikanavajulkaiseminen) tarvittava mallipohjainen, ohjelmoitava tyylikieli. |
| Resource Description Framework (RDF) Model and Syntax Specification | suositus | 1999-02-22 | XML-metatietojen kieliopin määrittelevä suositus. |
Vahvasti tiivistäen voidaan todeta että XML-ydinosaan liittyvä standardointityö on jo kutakuinkin valmistunut. Erityisesti XML-muotoisen tiedon käsittely, tiedon semanttisen rakenteen tarkistaminen sekä XML-julkaisutoiminta ovat jo vakiintuneet paitsi suositusten, myös käyttöön otettujen konkreettisten sovellusten muodossa.
Vuoden 2002 alkupuolella suosituksen statuksen saavuttanut tärkeä teknologioiden joukko, XML-salaus ja allekirjoitukset laajentavat XML-sovellusten kenttää merkittävästi mutta vaativat tuekseen vielä toistaiseksi keskeneräisten teknologioiden valmistumista.
Melko uusia, suurta mielenkiintoa herättäneitä W3C:n aktiviteetteja ovat esim. Semanttinen Web, erityisesti Web-ontologiat (Semantic Web, jonka ydinosa, RDF 1.0, tosin on ollut suositus jo pitkään, ks. taulukko 1) sekä Web-palvelut (Web services). Erityisesti Web-palvelut ovat merkittävä teknologia koska se periaatteessa tarjoaa yksinkertaisen ja yhtenäisen menetelmän esim. erilaisten tietopalveluiden integroimiseksi.
W3C:n XML-työ ei kuitenkaan rajoitu taulukossa 1 esitettyihin otsikoihin (joiden osalta työn siis voidaan katsoa osittain jo valmistuneen). Valmisteilla on suosituksia liittyen seuraaviin XML-teknologioihin:
Yksityiskohtaisemmin tarkasteltuna tilanne on seuraava:
Taulukko 2. Työn alla olevat XML-suositukset. (pr=proposed recommendation, cr=candidate recommendation, lcwd=last call working draft, wd=working draft [ks. The W3C Recommendation Track], kysymysmerkki päivämäärän perässä tarkoittaa että työryhmän työ on viivästynyt tai odottaa toista työtä)
| nimi | status | työryhmän työn päättymisajankohta | kuvaus |
| Decryption Transform for XML Signature | pr (2002-10-03) | 2002-12-31 | Salaukseen liittyvä tekninen suositus. |
| Document Object Model (DOM) Level 3 | wd (2002-07-12) | 2003-06-30 | Joukko XML-ohjelmointiin liittyviä rajapintasuosituksia. |
| RDF Vocabulary Description Language 1.0: RDF Schema | wd (2002-04-30) | 2003-03-31 (?) | Metatietojen skeemamäärittely. |
| SOAP Version 1.2 Part 1: Messaging Framework | wd (2002-06-26) | 2002-12-31 | Ohjelmistojen välisten XML-viestien tekninen määrittely (esim. Web-palveluiden perusta). |
| SOAP Version 1.2 Part 2: Adjuncts | wd (2002-06-26) | 2002-12-31 | Ohjelmistojen välisten XML-viestien tekninen määrittely (esim. Web-palveluiden perusta). |
| SOAP 1.2 Attachment Feature | lcwd (2002-09-24) | 2002-12-31 | Ohjelmistojen välisten XML-viestien tekninen määrittely (esim. Web-palveluiden perusta). |
| OWL Web Ontology (requirements, reference, abstract, features) | lcwd (2002-07-29) | 2003-03-31 (?) | Web-ontologioihin liittyviä määrittelyjä (yhtenäinen perusta peruskäsitteistön esittämiseen). |
| Web Services Architecture Usage Scenarios | wd (2002-06-09) | 2004-01-31 | Web-palveluiden arkkitehtuurin käyttötapaukset. |
| Web Services Description Language (WSDL) Version 1.2 | wd (2002-06-09) | 2004-01-31 | Web-palveluiden kuvailu- ja julkaisukieli. |
| Web Services Description Language (WSDL) Version 1.2: Bindings | wd (2002-06-09) | 2004-01-31 | Web-palveluiden kuvailu- ja julkaisukieli. |
| XML Fragment Interchange | cr (2001-02-12) | 2003-09-30 | Suositus XML-resurssien (osien) käsittelystä. |
| Extensible Markup Language (XML) 1.1 | cr (2002-10-15) | 2003-09-30 | XML 1.0:n merkistön täsmennys. |
| XML Encryption Syntax and Processing | pr (2002-10-03) | 2002-12-31 | XML-tiedon Salaus ja käsittely. |
| XML Events: An Events Syntax for XML | wd (2002-08-12) | 2004-08-31 | XML-dokumenttien tapahtumankäsittely. |
| XML Inclusions (XInclude) Version 1.0 | cr (2002-09-17) | 2003-09-31 | XML-dokumenttien (osien) upottaminen osaksi XML-dokumentteja. |
| XML Key Management (2.0) Requirements | wd (2002-04-18) | 2002-11-30 | Vaatimusmäärittely avainten hallintajärjestelmille. |
| XPointer (framework, element, xmlns, xpointer) | wd (2002-06-10) | 2002-12-31 (?) | Spesifikaatioita XML-dokumenttien osiin viittamiseksi. |
| XML-Signature XPath Filter 2.0 | pr (2002-08-27) | 2002-12-31 | Dokumenttien salattavaksi tarkoitettujen osien kuvausmekanismi. |
| XML Query (useita spesifikaatioita) | wd (2002-08-16) | 2003-09-30 | XML-kyselykieli (vrt SQL). |
On syytä todeta, että vaikka W3C:n ohjaama Web-palveluiden standardointityö on vielä kesken, esim. SOAP 1.1 ja WSDL 1.1 on julkaistu W3C-muistioina (note), mikä käytännössä on lisännyt yleistä mielenkiintoa ko. teknologioita kohtaan, sekä käytännön sovelluksia. (Muistio on tekninen dokumentti joka on lähetetty W3C:lle tiedoksi ja jonka julkaiseminen [W3C:n johtajan harkinnan mukaisesti] ei välttämättä tarkoita että W3C suosittelisi tai kehittäisi tietyn tyyppistä teknologiaa.)
XML:n elinvoimaisuus perustuu ensisijaisesti XML:n teknisiin ratkaisuihin (yksinkertaisuus, avoimuus, modulaarisuus, laajennettavuus) sekä teknologian poikkeuksellisen laajaan hyväksyntään (rakenteisen tiedon de facto standardi, erityisesti Web-kielioppi sekä laaja ohjelmistotuki). Ilman mainospuheita voidaan sanoa että XML-ydinosa on jo sekä tekniikaltaan että sovelluksiltaan vakiintunutta.
Tällä hetkellä erityisen vahvalla pohjalla ovat:
XML-perustan varaan on määritelty lukuisia suosittuja W3C-teknologioita, esim. XHTML, SVG ja SMIL (XML on oleellisesti vahvistanut HTML-teknologiaa modulaarisen, XML-kielioppiin perustuvan XHTML-perheen myötä). Myös monet muut organisaatiot kehittävät ja standardoivat omia XML-johdannaisia sovelluksiaan. Karkea työnjako on se, että W3C kehittää kehittää ja suosittaa perusteknologioita joiden varassa muut toimivat.
XML-sovellusten seuraava merkittävä kehitysaskel voidaan ennustaa tapahtuvan sähköisten allekirjoitusten, salauksen ja erityisesti Web-palveluiden (Web services) suositusten ilmestymisen myötä. W3C:n työryhmien aikataulujen mukaan tämä työ valmistuu suurimmalta osin vuoden 2004 kevääseen mennessä (koska kyse on uudesta teknologiasta, ovat viivästykset tietenkin aina mahdollisia).
Tiivistäen voidaan sanoa että XML-dokumenttien allekirjoittaminen ja salaaminen luovat vahvan perustan esim. XML-pohjaiselle kaupankäynnille, Web-palvelut puolestaan tarjoavat teknisen kehikon toteuttaa Semanttinen Web -aktiviteetin tavoitteita. Erityisen merkittäviä Web-palvelut ovat sähköisten palveluiden rakentamisen näkökulmasta: teknisesti ne tarjoavat ohjelmistoteknisiä välineitä esim. piilottaa ja integroida erilaisia osajärjestelmiä, mikä mahdollistaa loppukäyttäjille tarjottavien palveluiden suoraviivaisen yhtenäistämisen.
Tulevaisuuden ennustaminen on tietenkin vaikeaa ellei mahdotonta, vaikka W3C:n kehitystyö ja työhön sitoutuminen systemaattisen perustan ennusteille tarjoaakin. Varovaiseen optimismiin on kuitenkin aihetta sillä W3C-suosituksilla on koko konsortion konsensus takanaan. Käytännössä tämä näkyy suositusten laajamittaisen noudattamisen ja niiden perusteella tuotettavien ohjelmistojen ja sisältöjen rikkautena.
XML on erittäin suositeltava perusratkaisu tekstimuotoisen tiedon ja eri ohjelmistojen välisen tiedonsiirron yleiseksi perustaksi. Vaikka tiedon semanttiseen yhteneväisyyteen ei olisikaan tarkoitus pyrkiä, XML tarjoaa merkistö- ja kielioppitasolla helppokäyttöisen, yhtenäisen ja yhteensopivan ratkaisun joka myös tätä korkeammalla sovellustasolla ohjaa ongelmanratkaisua yhteensopivaan suuntaan. Loppukäyttäjille toimiva XML-pohjainen ratkaisu näkyy kuitenkin vain välillisesti; hyvinä palveluina ja yhteensopivina järjestelminä.
Erityisen hyvin XML:n voidaan katsoa soveltuvan julkaisutoiminnan ns. narratiivisten dokumenttien perustaksi (ainakin niiden julkaisumuodon osalta), eri tietojärjestelmien keskinäisen tiedonsiirron standardoiduksi välineeksi, sekä resursseihin liittyvän metatiedon kuvaajaksi. XML tietojärjestelmien sisäisenä ratkaisuna on syytä arvioida tapauskohtaisesti. XML ei sinällään ole esim. perinteisten, massiivisten relaatiotietokantojen korvaaja, vaan on syytä pikemminkin nähdä esim. tiedon välittäjänä eri järjestelmien välillä.
XML on ei ole yksittäinen tekniikka, vaan kokonainen perhe teknologioita. Tämä tulee ottaa huomioon kun laajamittaista XML-strategiaa suositellaan. Kannattavaa lienee tuotantokäytössä toistaiseksi pysyttäytyä jo valmistuneiden XML-teknologioiden piirissä ja aktiivisesti seurata keskeneräisten teknologioiden kehittymistä ja käyttöönottoa ja täydentää XML-strategiaansa tarvittaessa. Käytännön tasolla XML-strategiassa tullee huomioida myös konkreettisten XML-sovellusten kytkökset muihin standardeihin ja teknologioihin (esim. yksinkertainenkin XML-julkaisujärjestelmä poikkeuksetta tukeutuu XML:n ohella myös muihin teknologioihin ja standardeihin sekä lopulta myös tiettyihin tietokoneohjelmiin). Lopuksi tulee arvioida XML:n käyttöönotto ja soveltaminen nykyisten tietojärjestelmien, käytäntöjen ja toimintamallien suhteen.
XML:n ohella W3C suosittaa myös muita XML-strategiassa huomionarvoisia teknologioita ja suosituksia, joista tässä yhteydessä on syytä viitteellisesti mainita mm. XHTML, PNG, SMIL, SVG, CSS, RDF, MathML sekä WAI.
W3C perustettiin ohjaamaan Webin kehittymistä täyteen mittaansa. Se kehittää yhteisiä sopimuksia jotka edistävät Webin kehitystä ja varmistavat sen eri osien yhteensopivuuden. W3C on kansainvälinen liikeyritysten ja organisaatioiden muodostama yhteistyökonsortio jonka toiminnasta vastaavat MIT Laboratory for Computer Science (MIT LCS) Yhdysvalloissa, National Institute for Research in Computer Science and Control (INRIA) Ranskassa ja Keio University Japanissa. W3C tarjoaa mm. seuraavia palveluja: sovelluskehittäjille ja loppukäyttäjille tarkoitettu World Wide Web -tietopankki, standardien esittelemiseksi ja niiden käytön edistämiseksi tarkoitettuja koodien referenssitoteutuksia sekä useita erilaisia uuden teknologian esittelyyn kehitettyjä prototyyppi- ja esimerkkisovelluksia. Nykyään W3C:n jäseninä on yli 450 organisaatioita. Saadaksesi lisätietoja World Wide Web Consortiumista, katso http://www.w3.org/
Tämä raportti saattaa sisältää puutteita tai vanhentunutta tietoa. Ajan tasalla oleva tieto W3C-spesifikaatioista löytyy verkosta osoitteesta http://www.w3.org/TR/ (W3C Technical Reports and Publications).