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

    Økonomistyrelsen

    IT-arkitekt med fokus på integrationer

    Københavnsområdet

    Netcompany A/S

    Linux Operations Engineer

    Københavnsområdet

    Netcompany A/S

    Test Consultant

    Københavnsområdet

    Annonceindlæg tema

    Forsvar & beredskab

    Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.

    Navnenyt fra it-Danmark

    Pinksky har pr. 1. maj 2026 ansat Alexander Skou Henkel, 39 år,  som Rådgivende konsulent. Han skal især beskæftige sig med optimering af forretningsprocesser i Microsoft platformen. Han kommer fra en stilling som IT forretningskonsulent hos Evobis ApS. Han har tidligere beskæftiget sig med forretningsudvikling i Microsoft platformen. Nyt job
    Netip A/S har pr. 1. april 2026 ansat Claus Berg som Account Manager ved netIP's kontor i Esbjerg. Han kommer fra en stilling som Client Manager hos itm8. Nyt job

    Claus Berg

    Netip A/S

    Alexander Hoffmann, SVP, Technology & IT hos GlobalConnect, er pr. 1. maj 2026 forfremmet til EVP, Tech, IT & Security. Han skal fremover især beskæftige sig med at lede den fortsatte udvikling af en mere integreret og software-drevet infrastrukturplatform. Forfremmelse

    Alexander Hoffmann

    GlobalConnect

    Renewtech ApS har pr. 1. marts 2026 ansat Emil Holme Fisker som Customer Service Specialist. Han skal især beskæftige sig med at levere høj kvalitets kundeservice og hjælpe Renewtechs kunder med at få de rette løsninger til deres behov. Han kommer fra en stilling som Key Account Manager hos Camro A/S. Han er uddannet som salgselev hos Camro A/S. Han har tidligere beskæftiget sig med at udvikle gode kunderelationer, opsøgende salg og udvikling af salgsaktiviteter. Nyt job

    Emil Holme Fisker

    Renewtech ApS