Nøgleforskel: SOAP står for Simple Object Access Protocol. SOAP web services er baseret på SOAP og ws- * specifikationer. Betegnelsen repræsentativ statsoverførsel (REST) er blevet udarbejdet af Roy Fielding. Det refererer til en webapplikations grænseflade, der implementeres ved at bruge begreberne og principperne for HTTP og REST.
Webservice kan defineres på mange måder. Men for at forstå det kan man definere det som en metode, der bruges til kommunikation mellem applikationer eller systemer. Det kan beskrives som en standardbaseret og sprog agonistisk software enhed, der er i stand til at acceptere formaterede anmodninger fra andre typer enheder til at generere applikationsspecifikke svar. Webtjenester er applikationskomponenter, der kommunikerer ved hjælp af åbne protokoller. Web-tjenester bruger et standardiseret HTTP- og XML-messaging-system og er derfor platformafhængige og sprogafhængige.
Webtjenester er klassificeret i to typer: Simple Object Access Protocol (SOAP) og Representational State Transfer (REST).
SOAP web services er baseret på SOAP og ws- * specifikationer. Det gør brug af WS-Trust til at erhverve sikkerhedsbrikkerne. Det er baseret på standarderne. Disse webtjenester er objektorienterede. SOAP er grundlæggende en protokolspecifikation, der bruges til at udveksle de strukturerede oplysninger under implementeringen af webtjenester. Det anvender XML til meddelelsesformatet. SOAP understøttes af Web Services Interoperability Organisation (WS-I). SOAP har været i stand til at tage sig af aspekter som sikkerhed og adressering gennem intern implementering af SOAP-protokollen.
Sammenligning mellem REST og SOAP Web Services:
REST Web Services | SOAP Web Services | |
Forkortelse | Repræsentativ statsoverførsel | Simple Object Access Protocol |
Standard | Ingen standard | Deklarativ (standard WSDL bruges) |
Support | Talrige indholdstyper | Kun XML |
Pålidelighed | Ansøgningsspecifik | WS-Pålidelige meddelelser |
Caching | Få operationer kan blive cachelagret, hvis det ønskes. | Ingen |
Meddelelsens størrelse | Letvægts | Relativt tungt |
Implementering | Enkel | Kompleks |
Anvendelsesområder | Begrænset båndbredde og ressourcer Helt statsløse operationer Caching situationer | Asynkron behandling og påkaldelse Formelle kontrakter Statslige operationer |
Udviklervisning | Ressourceorienteret | Objektorienteret |
Transportprotokol support | HTTP | HTTP, SMTP, JMS |