Hauptunterschied: SOAP steht für Simple Object Access Protocol. SOAP-Webdienste basieren auf SOAP- und WS-Spezifikationen. Der Begriff Representational State Transfer (REST) wurde von Roy Fielding geprägt. Es bezieht sich auf eine Webanwendungsschnittstelle, die mithilfe der Konzepte und Prinzipien von HTTP und REST implementiert wird.
Web-Service kann auf viele Arten definiert werden. Um es zu verstehen, kann man es jedoch als eine Methode definieren, die für die Kommunikation zwischen Anwendungen oder Systemen verwendet wird. Es kann als eine auf Standards basierende und sprachagonistische Softwareentität beschrieben werden, die formatierte Anforderungen von anderen Entitätstypen annehmen kann, um anwendungsspezifische Antworten zu generieren. Webservices sind Anwendungskomponenten, die über offene Protokolle kommunizieren. Webservices verwenden ein standardisiertes HTTP- und XML-Messagingsystem und sind daher plattformunabhängig und sprachunabhängig.
Webdienste werden in zwei Typen unterteilt: Simple Object Access Protocol (SOAP) und Representational State Transfer (REST).
SOAP-Webdienste basieren auf SOAP- und WS-Spezifikationen. Es nutzt den WS-Trust, um die Sicherheits-Token zu erwerben. Es basiert auf den Standards. Diese Webdienste sind objektorientiert. SOAP ist im Wesentlichen eine Protokollspezifikation, mit der die strukturierten Informationen während der Implementierung von Web-Services ausgetauscht werden. Es verwendet XML für das Nachrichtenformat. SOAP wird von der Web Services Interoperability Organization (WS-I) unterstützt. SOAP konnte durch seine interne Implementierung des SOAP-Protokolls Aspekte wie Sicherheit und Adressierung berücksichtigen.
Vergleich zwischen REST- und SOAP-Web-Services:
REST-Webdienste | SOAP-Webdienste | |
Abkürzung | Repräsentativer Zustandstransfer | Einfaches Objektzugriffsprotokoll |
Standard | Kein Standard | Deklarativ (Standard-WSDL wird verwendet) |
Unterstützung | Zahlreiche Inhaltstypen | Nur XML |
Zuverlässigkeit | Anwendungsspezifisch | WS- Zuverlässiges Messaging |
Caching | Get-Operationen können auf Wunsch zwischengespeichert werden. | Nein |
Größe der Nachricht | Leicht | Vergleichsweise schwer |
Implementierung | Einfach | Komplex |
Anwendungsbereiche | Begrenzte Bandbreite und Ressourcen Total zustandslose Operationen Zwischenspeichern von Situationen | Asynchrone Verarbeitung und Aufruf Formelle Verträge Stateful Operationen |
Entwickleransicht | Ressourcenorientiert | Objektorientierter |
Transportprotokoll-Unterstützung | HTTP | HTTP, SMTP, JMS |