Jeg er citeret i Ingeniøren i dag – også online. Det er jo utroligt når man nu har så meget på hjertet at der så kun er plads til så lidt (og når det nu er sådan nogle guldkorn ) – så derfor kommer her mine komplette svar til Ingeniørens spørgsmål.
----------------------------------------------------------------------------------------
Hvad er de tre vigtigste forandringer som XML har forårsaget i de sidste ti år?
-
Konvergens blandt IT leverandørernes formater – Der har ikke været en standard inden for de sidste 10 år, der i et sådan omfang har bragt leverandører og deres applikationer sammen. Det er helt uden fortilfælde at leverandørerne i den grad entydigt har adopteret en standard.
-
Separation af process, præsentation, model, data og transport. XML er den ultimative kulmination på separation af ting der logisk set ikke hører sammen. Dette betyder enormt for udvikling, deployment, drift og administration af IT systemer.
-
Frihed til at vælge software – med introduktionen af et ”menneskelig” tekstbaserede læsbare format som XML, bliver kunder frie til at vælge software der konkurrence med andre produkter med interoperabelt som en prarmeter. Dvs. Tidligere tiders leverandør lock-in er blevet voldsomt neddroslet.
Hvilke er de tre vigtigste XML-standarder?
For at uddybe de valg, som er listet sidst i dette afsnit vil jeg godt lige vise min personlige katagorisering af Xml standarder.
Normative XML standarder og XML + namespaces
Grundlæggende kategari med XML specifikationen og flere af dens ”hjælper” standarder. XML – det der med tagging og wellformedness, som engang gjorde at en kollega sagde til mig: ”det der XML det er bare tekst filer, ikk’?”. Hvor mit svar var ”Joooohhhh,.......”, mens jeg tænkte ”....men,......”. Namespaces i XML - det der får tingene til at blive kompliceret og gør at folk nogen gange river sig i håret og siger ”det der XML – SUK!!!!!”
Dette er bl.a. også de standarder der udgør det normative ”lim” mellem mange af de andre standarder. Typisk er disse standarder ”bare” udtrykt i tekst og er ”noget” som bør være der for at de andre xml standarder til at fungere. F.eks vil signering ikke virke i XML hvis ikke standarden Canonical XML var beskrevet. En anden standard som hører hjemme i dennne kategori er XML Infoset. Infosets mæssigt er
<DanskPostNummer></DanskPostNummer>
Det samme som
<DanskPostNummer/>
Kanoniseringen har sin plads hvis man taler om signering af infosets da hash værdier beregnet ud fra de to eksempler vil blive forskellige selvom der er tale om samme ”infoset”. Overordnet fylder den beskrivende del af hvordan XML standarderne ”bør være” meget plads i næsten alle XML standarderne. Man kan sige at denne kategori er en slags bootstrap for at have et udgangspunkt hvor de andre standarder kan initialiseres fra.
Type definitionsstandarder
Type, struktur og xml vokabularier til semantik beskrivelser går i denne kategori.
Dette er XML standarder, der skal bruges til at beskrive hvordan xml instanser skal overholde strukturer og type definitioner. F.eks dette W3C XML Schema element:
<element name="DanskPostNummer">
<simpleType>
<restriction base="string">
<pattern value="[0-9]{4}"></pattern>
</restriction>
</simpleType>
</element> >
Fortæller en applikation at en xml instans af denne definition kan se sådan ud:
<DanskPostNummer>8600</DanskPostNummer>
Men ikke sådan:
<DanskPostNummer>86002323</DanskPostNummer>
Jeg har standarder, som DTD (ja, jeg ved godt at det ikke er XML), W3C XML Schema, OASIS Relax NG, Schematron i type og struktur enden af denne kategori og RDF, RDF Schema, OWL i den semantiske del. Typedefinitions standarderne er typisk drevet af software industrien og standardiseringsorganisationerne, mens standarderne i den semantiske end ikke helt har vundet indpas hos leverandørerne og er derfor drevet af universiteterne og standardiseringsorganisationerne
XML Værktøj
I denne kategori har jeg, det jeg mener er udvidelser til XML standarden. Værktøjer der ”giver god mening” – Standarder/værktøjer til linkning af dokumenter og dokumentelementer, fortrolighed, uafvislighed, traversering osv. Eksempler kunne være Xlink, Xpointer, Xinclude, Xpath, XML Encryption, XML Signature osv og xml standarder der bruges til manipulering og intelligent editering på xml dokumenter. Dette er standarder som XSLT og Xquery. Dette er altsammen standarder der gør det ”nemt” at arbejde med data håndtering i xml dokumenter. Disse vokabularier er typisk softwareleverandør drevet.
Applikationsvokabularier
I denne kategori har jeg xml vokabularier, som kan bruges som dokumentformat eller kan importeres eller eksporteres i forskellige applikationer som eks. til grafikredigering, præsentation, regneark, tekstbehandling, multimedia, formularer etc. Det er standarder som SVG, SMIL, ODF, Xforms etc. F.eks kan applikationerne - Microsoft Visio, Adobe Illustrator og SUN’s StarOffice alle gemme vektorgrafik i dokumenter der overholder SVG standarden. Igen er disse vokabularier typisk software leverandør drevet.
Forretningsvokabularier
Denne kategori indeholder det der i virkeligheden er den store gevinst ved de ”udvidelige” muligheder der er i XML. Xml vokabularier er den store gevinst der sætter organisationer i stand til at kommunikere på tværs af platforme, sprog, kultur og geografi – hvis blot de kan blive enige om hvad og hvordan et xml forretningsdokument skal fortolkes. Kategorien indeholder de vokabularier, som er tilknyttet et forretningsdomæne. Eksempler her kunne være f.eks UBL, som den danske e-faktura implementering bygger på. UBL er et forretningsvokabularie hvis ambition det er at dække alle dokumenter i en handelsproces – order, faktura, orderbekræftigelse osv. Dette kunne også være XBRL - et vokabularie til indberetning af regnskabsdata - også kaldet revisorners eget XML.
Hvor UBL er drevet af standardiseringsorganisationer og software leverandører er XBRL drevet af revisorer og deres software leverandører. Man kan også forstille sig at et forretnings vokabularie udspringer gennem græsrødderne og ikke har industri eller standardsorganisationer i ryggen. Det sidste er f.eks sket med vokabularierne til nyhedssyndikering.
XML vokabularier til distribuerede systemer
De xml vokabularier som er designet eller på anden måde adresserer kommunikation mellem distribuerede systemer.
Dette er typisk det der populært er kendt som webservices standarderne eller WS-* stakken. Dette er alle de XML standarder der ”genopfinder” alle de teknologier der bør være på plads for at lave distribuerede applikationer stabile og interoperable.
Kategorien indeholder f.eks. WSDL, SOAP, WS-Policy, WS-Security, WS-Addressing……
Flere af standarderne kan finds I mere end en kategori og det er nogle gange svært at se hvilke standarder man egenlig bruger til at løse et specfikt IT problem da standarderne tit aggregerer hinanden når de bruges i software. Heldigvis bliver software bedre og bedre til at lave abstraktioner på XML’en så brugere og systemudviklere ikke ser den, men at XML blot er en del af den infrastruktur som bruges. Når alt det er sagt så....
Mit valg blandt de 3 vigtigste XML standarder er
-
W3C Xml Schema – fordi det er den typedefinitionsstandard der er blevet arbejdet mest med blandt IT leverandørerne. Fordi det er den standard der hurtigst er blevet adopteret af alle leverandører tiltrods for at de stort set alle havde deres egne propræitære typedefinitionsstandarder. Fordi det er den standard der var nødvendig på det rigtige tidspunkt – tiltrods for standardens omfang og kompleksitet. Fordi W3C Xml Schema er grundlaget for et meget stort antal af den andre standarder og vokabularier og fordi W3C Xml Schema har formået at lave et tværindustrielt typesystem på tværs af leverandører og programmeringssprog.
-
WS-Security - fordi det var den førte standard i WS-* stakken som blev ratificeret og fordi den udover at give xml udveksling mellem distribuerede systemer uafvislighed og konfidentialitet, også er repræsentant for standarder, som giver nye forretningsmuligheder.
-
UBL - fordi jeg har nationale briller på og fordi jeg vil have et forretningsvokabularie med i mine 3 valg. I Danmark kører en af verdens største XML applikationer i form af den nationale e-Faktura, som er baseret på UBL. Flere danskere er med til at påvirke og udforme standarden og som forretningsvokabularie er UBL et mønster eksempel.
Hvad er din favorit XML-"killer app"?
Jeg har 2, som jeg bruger dagligt!
Outlook Web Access (OWA) - da Microsoft skulle lave den første tynde klient til mailserveren - Exchange - var denne baseret på samme kommunikations protokol, som blev brugt i Outlook. I slutning af 90'erne kom så XML og der blev implementeret en løsning, som baserede sig på at flytte xml filer over HTTP mellem server og browser og lade scriptsprog i browseren vise mails og andre information fra serveren. Den samme metode med de samme teknologier bliver i dag - her små 10 år senere - brugt som fundamentalt værktøj i den såkaldte "Web 2.0" bølge. OWA var visionær fader til Asyncron Javascript og XML og samtidigt var det en enterpriese applikation med et enormt antal brugere.
Nyhedssyndikering og læsning - Den måde hvor på XML vokabularier til understøttelse af nyhedssyndikering har gennemgået en evolutionær process fra græsrodsinitiativ til en enterpriese klar teknologi er virkelig imponerende. Jeg en diskretnyhedslæser på mit skrivebord, som læser udvalgte RSS og Atom feeds. Jeg forsøger at holde min browsning til et minimum og her har jeg et glimrende værktøj til nyhedsopsamling for de ting jeg har interesse for lige for tiden.
Hvor er XML henne om ti år?
På xml conferencen - XTECH - i april 2005 spåede XML medskaber, Jean Paoli, at i 2010 vil 75% af alle dokumenter blive lavet i XML. Hvis jeg så skal komme med en forudsigelse for 2016 vil det være at det tal er steget til 90 % - jeg tror der er 10 % legacy og at det bliver svært eller ikke-ønskeligt at konvertere. Jeg tror at XML vil blive en del af infrastrukturen - noget som bare er der. IT professionelle behøver ikke vide noget om XML, det vil blive skjult under "motorhjelmen". WS-* stakken vil være så komplet at kommunikation mellem systemer kan orkestreres deklarativt af system administratorer og arkitekter. Dermed vil XML være fødselshjælper til visioner om agile, service orienterede systemer og realtidsmonitorering af forretningsprocessor.
Hvad synes du om det offentlige Danmarks XML-satsning, OIOXML?
For de ting der er realiseret med henvisning til det såkaldte Projekt Digital Forvaltning har jeg blandede følelser. Jeg syntes at det er yderst positivt at der bliver opstillet visioner og planer for realisering af digitale initiativer – jeg mener dog samtidigt at noget af det er for luftigt til at blive realiseret og at det offentlige til tider bør lade sig inspirere af hvordan projekter realiseres i det private. Samtidigt er jeg glad for at være en del af det offentlige IT Danmark, som tør eksperimentere på stor skala mens jeg samtidigt er bekymret for at jeg som skatteyder får noget for pengene. Det offentlige er i en situation hvor der gerne skal effektiviseres og ydes bedre service samtidigt med at det forventes af staten at de bygger infrastruktur til det fælles bedste. Med de mange hensyn kan det til tider blive til en svær balancegang når IT projekter realiseres når men derudover også skal vurdere om der detail- eller principstyres.
Tager man f.eks. et projekt som InfoStrukturBasen – så var det et strategisk og visionært projekt. Det var ikke prøvet mere en 1-2 andre steder i verden – det var næsten et ”first-mover” projekt. Det blev fulgt til dørs af et utal af papirer og vejledninger om hvordan man brugte faciliteterne omkring Infostrukturbasen. Med disse papirer var det meningen at brugerne af Infostrukturbasen skulle få hjælp, men i stedet mener jeg at det kom til at fremstå som en unødvendig detailstyring. Med disse OIOXML vejledninger og kogebøger, der kom sammen med Infostrukturbasen fik man næsten fornemmelsen af at Danmark også fik et ”XML politi”. Jeg tror at jo mere bureaukrati og detailstyring der opstod – jo svære blev Infostrukturbasen tilgængelig. I dag har stort set alle IT leverandører deres egen implementering af et ”Enterpriese Schema Library” alá Infostrukturbasen og jeg tror at Infostrukturbasen viser at staten har de rigtige satsninger, mens at eksekveringen måske ikke helt følger trop.
Jeg kan godt lide at staten har fået formuleret de 5 hvidbogsprincipper og mener af IT systemer og dermed XML-satsningen bør følge ligge i tråd med disse. Samtidigt håber jeg at man kan tage hensyn til de pragmatiske tilgange, der er i den offentlige IT – f.eks når systemer skal integreres og at man ikke holder ensidigt fast i principper, der hindre fornuftige løsninger.
Min bottomline – XML satsning godt for kommunikation og interoperabilitet. Principper for IT udvikling og indkøb er godt – alá ”Hvidbogen”Hvi. Detailstyring gennem regulering er, for det meste, en stopklods.