SOAP, der betyder Simple Object Access Protocol, er en anden type API, der bruges af topvirksomheder. Men det er ikke så populært længere, da det ser ud til at være aftagende i moderne apps. Vil du lære mere om denne klassiske API-arkitektur, på trods af at du er REST-fan?
Sid godt, mens vi forklarer, hvad SOAP er, og se, om den stadig er i brug i dag.
Hvad er SOAP API, og hvordan virker det?
SOAP er afhængig af webservice description language (WSDL), et udvideligt markup-sprog (XML) til at sende data mellem software.
Og i betragtning af den stive struktur af XML, er data transmitteret af SOAP API verbose og ser mere komplekse ud end den mere vogue Representational State Transfer (REST) arkitektur.
Når du sender til eller modtager data fra en SOAP API, transmitterer du tætpakkede varer pakket ind i individuelle identifikationsmærker. Ordningen af data i SOAP følger et stift adgangsmønster og struktur i en dedikeret fil. Dette gør SOAP meget protokol-drevet.
Ud over at overføre data over hypertekstoverførselsprotokollen (HTTP), understøtter SOAP også mere primitiv protokoller, herunder filoverførselsprotokol (FTP), transmissionskontrolprotokol (TCP) og simpel postoverførselsprotokol (SMTP). Så det tilbyder overførselsfleksibilitet på tværs af forskellige netværk og platforme.
Når det er sagt, mens andre overførselsprotokoller gør primitiv dataudveksling mulig, er det mere praktisk at betjene SOAP over et HTTPS-netværk.
SOAP bruger webservicesikkerhed (WS), en dedikeret udvidelse til kryptering af beskeder. Så dette udfylder hullet, mens der sendes data ved hjælp af andre dataoverførselsprotokoller end HTTPS.
Det kombinerer også dette med SSL (Secure Socket Layer), et sikkerhedstoken, der betjener websteder over HTTPS. Så sikkerhedsmæssigt har SOAP en fordel i forhold til REST, som udelukkende er afhængig af HTTPS for sikkerhed.
Relaterede:Hvad er en XML-fil, og hvordan kan du åbne og bruge den?
Derudover er formatet af de data, der returneres af en SOAP API, let programmeret. Dette gør det nemt at integrere på tværs af flere programmeringsteknologier.
SOAP API er således udvidelig, agnostisk og protokolneutral.
SOAP-arkitekturen
SOAP har som enhver API-ramme en generisk struktur. Når det er sagt, ligner arkitekturen af en SOAP API den for en HTML DOM.
En SOAP API har følgende struktur:
- Kuvert: Dette fortæller dig, at en indgående eller udgående XML er SOAP-data. Du kan tænke på dette som hovedet i en HTML DOM.
- Header: Den indeholder flere headeroplysninger om XML.
- Legeme: Dette er nyttelasten eller hovedindholdet i en SOAP-meddelelse.
- Fejl: Håndterer fejl og anmodningsstatusser inden for SOAP API.
Er SOAP API stadig i brug i dag, og hvorfor?
Oprindeligt designet til og brugt af Microsoft i 1998, betragtes SOAP som gammelt og komplekst. Og den er drastisk blevet erstattet af den mere fleksible REST-arkitektur, som betjener mere end 70 procent af offentlige API'er i dag.
Ikke desto mindre bruger nogle topvirksomheder stadig SOAP - især som en overførselsagent mellem interne tjenester.
SOAP API understøtter både statsløs og stateful kommunikation. Denne bifasiske evne er en anden grund til, at den i nogle tilfælde forbliver den valgte ramme.
Når du bruger det i en stateful dataudveksling, tillader det effektiv informationssporing på tværs af flere anmodninger. Selvom denne komplekse operation kan tilstoppe serveren, gør den stadig SOAP til en foretrukken mulighed, når man bygger komplekse applikationer, der har brug for et ekstra lag af sikkerhed og kæde.
En statsløs overførsel overbelaster på den anden side ikke serverens hukommelse. Så denne funktion er lige så praktisk, hvis målet er at reducere runtime og få en bedre serverydelse.
Men frem for at bruge SOAP til at håndtere statsløs kommunikation, foretrækker webtjenester nu at bruge REST-rammen, som er mere fleksibel og fuldstændig statsløs.
Microsoft Dynamics-programmet bruger for eksempel SOAP API til at levere business-to-business-løsninger til store virksomheder.
Da SOAP er ACID-kompatibel, stateful, tilbyder WS-sikkerhedskryptering og leveres med SSL, er det en populær API-arkitektur til bank- og finansielle applikationstransaktioner.
SOAP API's stateful karakter opretholder databaseintegriteten under transaktioner. Selv når der opstår en fejl i en anmodning, sporer den den og vender kompromitterede data.
Relaterede:Hvad står API for? Eksempler på, hvordan man bruger API'er
Dette forklarer uvægerligt betydningen af dets overholdelse af ACID-konceptet (Atomicitet, Konsistens, Integritet og Holdbarhed):
- Atomicitet: Tildeler relevans til hver proces i en anmodning. På den måde annullerer fejlen i en anmodningsenhed en hel proces.
- Konsistens: Sikrer, at databaseforespørgsler og -metoder følger definerede regler.
- Integritet: Vedligeholder databasens tilstand, selv når anmodningerne er samtidige.
- Holdbarhed: Bevarer en vellykket anmodning i sin tilstand, selv når serveren fejler.
Skal du bruge SOAP API i dine programmer?
SOAP hersker i API-domænet som en af de mest sikre meddelelseskanaler mellem software. På trods af at den er kompleks, langsom, gammel og tung, er den stadig uundværlig i mange virksomheder i dag. Mens moderne API'er er nemme at bruge, kan SOAP API trods alt være dit bedste bud i nogle situationer.
Og udover at oprette en selv, kan du finde dig selv i et scenarie, hvor det er den eneste anvendelige mulighed, der kan levere en løsning i din software. Så at lære mere om SOAP er en værdifuld tilføjelse til din API-viden.
Hvis du leder efter en forklaring på, hvad Rest API er, og hvordan du kan bruge det, er du på det rigtige sted.
Læs Næste
- Programmering
- API
- Dataindsamling
- Webanalyse

Idowu brænder for alt smart teknologi og produktivitet. I sin fritid leger han med kodning og skifter til skakbrættet, når han keder sig, men han elsker også at bryde ud af rutinen en gang imellem. Hans passion for at vise folk vejen rundt om moderne teknologi motiverer ham til at skrive mere.
Abonner på vores nyhedsbrev
Tilmeld dig vores nyhedsbrev for tekniske tips, anmeldelser, gratis e-bøger og eksklusive tilbud!
Klik her for at abonnere