Simple Object Access Protocol is een lichtgewicht, op XML gebaseerd protocol dat wordt gebruikt om informatie uit te wisselen via internet tussen programma's die in hetzelfde of een ander besturingssysteem worden uitgevoerd. SOAP-berichten kunnen worden getransporteerd met behulp van een verscheidenheid aan protocollen, waaronder HTTP, SMTP of MIME. Alle SOAP-berichten gebruiken hetzelfde formaat, waardoor het compatibel is met verschillende besturingssystemen en protocollen.
Waarom HTTP-protocol gebruiken voor SOAP-berichten?
Traditioneel wordt een HTTP-protocol gebruikt om webpagina's via internet te verzenden. Aangezien firewalls meestal poort 80 (HTTP) -verkeer niet blokkeren, kunnen de meeste SOAP-berichten zonder problemen worden doorgegeven.
Representational State Transfer (REST)
De REST is een stateloze architectuur op basis van webstandaarden en verloopt over het algemeen via HTTP. Het werd voor het eerst beschreven door Roy Fielding in 2000. De architectuur behandelt elke entiteit als een bron, die toegankelijk is via een gemeenschappelijke interface op basis van de HTTP-standaardmethoden.
REST-architectuur
De REST-architectuur heeft meestal een REST-client en een server. De server biedt meestal toegang tot de bronnen en een client opent en wijzigt de bronnen. Middelen worden geïdentificeerd met behulp van de globale ID's (meestal Universal Resource Indicators (URI's)). De architectuur legt de nadruk op het hebben van een beperkt aantal bewerkingen tussen de client en een server om de efficiëntie van een systeem te verbeteren.
Verschil tussen webservices SOAP en REST
- SOAP is een XML-gebaseerd berichtenprotocol, terwijl REST een architecturale stijl is.
- SOAP is ontworpen voor gedistribueerd computergebruik, terwijl REST uitgaat van point-to-point communicatie waarbij de tussenpersoon geen rol van betekenis speelt.
- REST vereist niets anders dan HTTP. SOAP vereist een complete set hulpprogramma's en middleware-ondersteuning.
- Er is een ingebouwde foutverwerker in REST. Geen enkele handler aanwezig in SOAP.