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.

Annonce

Capgemini Danmark A/S

AI Data Architect

Københavnsområdet

Politiets Efterretningstjeneste

Vil du skabe sammenhæng mellem IT-systemer, data og processer i PET?

Københavnsområdet

Navnenyt fra it-Danmark

Elbek & Vejrup A/S har pr. 1. august 2026 ansat Nathalie Kajberg Knudsen som Supportkonsulent i Evita/Forsyning. Hun skal især beskæftige sig med support af Evita/Forsyning samt bidrage til videreudviklingen af supportsetup på Evita og Appia. Hun kommer fra en stilling som support indenfor Kundeadministration og Afregning hos KMD Easy Energy. Hun har tidligere beskæftiget sig med kørselskoordinering og kørselsledelse hos FKS Slamson og Godik. Nyt job

Nathalie Kajberg Knudsen

Elbek & Vejrup A/S

Softwarevirksomheden Idura, som udvikler løsninger til digital identifikation og autentifikation, har pr. 1. august 2026 ansat Maria Binger, 44 år,  som CFO. Hun skal især beskæftige sig med den finansielle styring i takt med Iduras vækst i Danmark og internationalt med fokus på blandt andet forecasting. Hun kommer fra en stilling som Director Business Finance hos Danelec. Hun er uddannet cand.merc.aud. fra Copenhagen Business School. Hun har tidligere beskæftiget sig med finance hos Agillic, Cobham SATCOM og Saxo Bank. Nyt job

Maria Binger

Softwarevirksomheden Idura, som udvikler løsninger til digital identifikation og autentifikation,

EG Danmark A/S har pr. 17. august 2026 ansat Michael Banegas Madsen, 32 år,  som Senior Account Executive. Han skal især beskæftige sig med Ansvar for nysalg og vækst af eksisterende kunder, samt opbygning af kunderelationer på tværs af Jylland og Fyn. Han kommer fra en stilling som Senior Talent Attraction Specialist hos Danske Commodities A/S. Han er uddannet Kandidat i Corporate Communication fra Aarhus BSS. Han har tidligere beskæftiget sig med 6 års erfaring med rekruttering af tech-profiler i bl.a. Danske Commodities. Nyt job

Michael Banegas Madsen

EG Danmark A/S

Netip A/S har pr. 17. august 2026 ansat Jesper U. Sørensen som Seniorkonsulent ved netIP's kontor i Esbjerg. Han kommer fra en stilling som Chief Technology Officer hos NetSec ApS, hvor han også var partner. Nyt job