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.




Brancheguiden
Brancheguide logo
Opdateres dagligt:
Den største og
mest komplette
oversigt
over danske
it-virksomheder
Hvad kan de? Hvor store er de? Hvor bor de?
KEYBALANCE A/S
Udvikling og salg af økonomisystemer samt CRM og MPS. Systemer til blandt andet maskinhandlere, vvs-branchen, vognmænd, låsesmede,handelsvirksomheder

Nøgletal og mere info om virksomheden
Skal din virksomhed med i Guiden? Klik her

Kommende events
Computerworld Cloud & AI Festival 2025

Med den eksplosive udvikling indenfor cloud & AI er behovet for at følge med og vidensdeling større end nogensinde før. Glæd dig til to dage, hvor du kan netværke med over 2.400 it-professionelle, møde mere end 50 it-leverandører og høre indlæg fra +90 talere. Vi sætter fokus på emner som AI; infrastruktur, compliance, sikkerhed og løsninger for både private og offentlige organisationer.

17. september 2025 | Læs mere


IT og OT i harmoni: Sikring uden at gå på kompromis med effektiviteten

IT og OT smelter sammen – men med risiko for dyre fejl. Få metoder til sikker integration med ERP, kundesystemer og produktion. Tilmeld dig og få styr på forskellene og faldgruberne.

24. september 2025 | Læs mere


NIS2: Vi gør status efter tre måneder og lærer af erfaringerne

Vær med, når vi deler oplevelser med implementering af NIS2 og drøfter, hvordan du undgår at gentage erfaringerne fra GDPR – og særligt undgår kostbar overimplementering.

30. september 2025 | Læs mere