På jagt i XML-protokol junglen

XML er standarden for strukturerede data, og udviklerne så, at det var godt. Men når det kommer til udveksling af XML-data, ser situationen anderledes ud. Der er flere forskellige XML-protokoller, som alle ligner hinanden mere eller mindre. Imens spørger bekymrede borgere: Hvor er W3C i alt dette?

Forskellene

XML-RPC, SOAP, ebXML, BizTalk, WSDL, UDDI, WDDX - hvis man ikke er forvirret allerede, så kan man hurtigt blive det. Forkortelserne dækker over forskellige transportprotokoller for XML. De har alle større eller mindre ligheder, og det er ikke lige til at sige, hvilken hest man skal satse på.

HTTP under neden
I og for sig burde det ikke være så kompliceret. Alle XML-protokollerne benytter sig af HTTP som transportlag. HTTP, Hypertext Transfer Protocol, er den overførselsstandard, der ligger nede under World Wide Web. HTTP har en lang række mekanismer, der gør den velegnet til overførsel, ikke bare af HTML-sider og web-elementer, men alle typer af dokumenter, herunder XML-data.

I forbindelse med XML findes der en lang række protokoller, hvoraf blot nogle er angivet i indledningen. De benytter alle HTTP som transportlag. HTTP-protokollen er opbygget omkring en forespørgsel/svar-model, som oprindeligt var designet til mødet imellem webbrowseren og webserveren. Browseren, eller bruger-agenten som det hedder formelt, forespørger en bestemt side, og serveren svarer. HTTP-protokollen blev hurtigt udvidet med muligheder for at sende data med en forespørgsel. Det kendes for eksempel fra websider, hvor man kan uploade filer. Ved hjælp af POST-kommandoen kan data sendes som en del af forespørgslen, og næsten alle XML-protokollerne benytter denne metode. Svaret er et almindeligt HTTP-svar, hvor indholdet, body-delen, er XML.

Forskellen i XML-protokollerne ligger i, hvorledes denne XML-del er udformet. Umiddelbart kunne det se ud som om, at man blot kunne definere sin egen specifikation for udveksling af data. Men der er en række generelle forhold, som de fleste protokoller altid vil adressere, og her opstår behovet for standardisering. Et eksempel er håndtering af tilstande. HTTP-protokollen indeholder et lag for tilstandshåndtering, cookies, men disse meta-lag befinder sig i header-delen af HTTP-forespørgsler eller -svar, og en mere homogen løsning er at indbefatte tilstandsinformationen i selve de XML-data, der udveksles.

Anvendelser

Eric Prud'hommeaux, som er ansat af MIT (Massachusetts Institute of Technology) og W3-konsortiet, har foretaget en analyse af hvilke behov, de enkelte protokoller forsøger at imødekomme, ved at opdele og karakterisere disse protokoller. Den følgende beskrivelse bygger på hans iagttagelser.

Protokollerne kan opdeles i generiske protokoller, som ikke er dedikeret til en bestemt arkitektur, og applikationsprotokoller, som er skræddersyede til bestemte applikationer. Derudover kan protokollerne karakteriseres ved hvilke facetter, de indehaver. Blandt de facetter Prud'hommeaux nævner er:

  • Serialisering
    Protokollen har et format til at beskrive værdier med datatyper, og objekter.
  • Protokol
    Navnet er lidt forvirrende, men dækker over, hvorvidt protokollen indeholder tilstandsinformation.
  • Interface discovery
    Maskin-læsbar information, som sætter applikationer i stand til at tilgå og fortolke data.
  • Transaktioner
    Protokollen understøtter transaktionsstyring.
  • Remote procedure
    Mulighed for at invokere metoder på et fjernt system.

Ingen superprotokol

Prud'hommeaux har skrevet en sammenfatning af protokollerne, som vi her bringer et udsnit af:

Protokol OrganisationPrimær anvendelseFacetter
XML-RPCUserlandFjerninvokering, udveksling af "typede" data og objekter
  • serialisering
  • protokol
  • remote procedure
SOAP
Ariba, IBM, Microsoft, SAP m.fl.Mange anvendelser
  • serialisering
  • protokol
  • interface discovery
  • remote procedure
WDDXAllaireUdveksling af "typede" data og objekter
  • serialisering
  • interface discovery
XMIUnisys, Fujitsu, IBM, Oracle m.fl.UML-baseret udveksling
  • serialisering
  • interface discovery
ebXMLUN/CEFACT
oasis
E-handel
  • protokol
  • transaktioner
  • remote procedure
BizTalkMicrosoftE-handel
  • protokol

Superprotokollen lader vente på sig
Mange har forventet, at W3-konsortiet ville udvikle en XML-superprotokol, baseret på SOAP 1.2, men en sådan standard er ikke umiddelbart i horisonten. Som skemaet før viste, er der mange ting at tage hensyn til, og det er ikke ligetil at pakke alle behovene under en paraply.

Foreløbig har W3C nedsat en arbejdsgruppe, der skal kigge på spørgsmålene. Indtil videre har det givet anledning til en del arbejdspapirer omkring hvad en sådan protokol skal omfatte. Muligvis bliver resultatet ikke én protokol, men en række specifikationer til, hvad XML-protokoller skal indbefatte. Arbejdsgruppen har udarbejdet et papir, XML Protocol Abstract Model , der, som navnet siger, angiver en abstrakt model for XML-protokoller. Man kan læse mere om gruppen og dets arbejde på W3C's hjemmeside.

Læses lige nu

    Annonceindlæg fra Computerworld

    Platform X - Danmarks nye store konference for enterprise-platforme

    For første gang: Computerworld præsenterer stærkt program for Platform X

    Navnenyt fra it-Danmark

    Alcadon ApS har pr. 1. januar 2026 ansat Thomas Møller Pedersen som Key Account Manager. Han skal især beskæftige sig med teknisk support og salg inden for FTTx/Telecom i Jylland og på Fyn. Nyt job
    Alcadon ApS har pr. 1. januar 2026 ansat Per Claus Henriksen som Datacenter-specialist. Per skal især beskæftige sig med opbygning og udvikling af Alcadons datacenterforretning. Per har tidligere beskæftiget sig med forskellige facetter af datacenterbranchen. Både via PR-bureau og som ansat i datacentre. Nyt job

    Per Claus Henriksen

    Alcadon ApS

    Christian Pedersen,  emagine Consulting A/S, er pr. 1. februar 2026 udnævnt som Chief AI Officer. Han beskæftiger sig med opkvalificere emagines ansatte, udvikle interne AI-værktøjer og levere AI-projekter for kunderne. Som leder af et nye AI-team skal han også udvikle og lancere AI-produkter til markedet. Udnævnelse

    Christian Pedersen

    emagine Consulting A/S