737 Stimmen

Representational State Transfer (REST) und Simple Object Access Protocol (SOAP)

Kann mir jemand erklären, was das ist? REST und was ist SOAP in einfachem Englisch? Und wie funktionieren Webdienste?

12voto

David G Punkte 6149

Mir gefällt die Antwort von Brian R. Bondy. Ich wollte nur hinzufügen, dass Wikipedia eine klare Beschreibung von REST . In dem Artikel wird es von SOAP unterschieden.

REST ist ein Austausch von Zustandsinformationen, der so einfach wie möglich ist.

SOAP ist ein Nachrichtenprotokoll, das XML verwendet.

Einer der Hauptgründe, warum viele Leute von SOAP zu REST gewechselt haben, ist, dass die WS-*-Standards (WS-Splat genannt), die mit SOAP-basierten Webservices verbunden sind, EXTREM kompliziert sind. Siehe wikipedia für eine Liste der Spezifikationen. Jede dieser Spezifikationen ist sehr kompliziert.

EDIT: aus irgendeinem Grund werden die Links nicht korrekt angezeigt. REST = http://en.wikipedia.org/wiki/REST

WS-* = http://en.wikipedia.org/wiki/WS- *

6voto

Sayan Punkte 2008

Nun, ich beginne mit der zweiten Frage: Was sind Webdienste? aus offensichtlichen Gründen.

WebServices sind im Wesentlichen Teile der Logik (die man vage als Methode bezeichnen kann), die bestimmte Funktionen oder Daten offenlegen. Der implementierende Client (technisch gesprochen, Verzehr von ist das Wort) muss nur wissen, was die Parameter sind, die Methode akzeptiert und welche Art von Daten sie zurückgibt (wenn sie überhaupt welche zurückgibt).

Die folgenden Link sagt alles über REST & SOAP auf eine äußerst klare Art und Weise.

REST vs. SOAP

Wenn Sie auch noch wissen wollen, wann Sie sich wofür entscheiden sollten (REST oder SOAP), ist das ein Grund mehr, es durchzugehen!

5voto

pbreitenbach Punkte 11048

SOAP und REST beziehen sich beide auf Möglichkeiten, wie verschiedene Systeme miteinander kommunizieren können.

REST verwendet dazu Techniken, die der Kommunikation Ihres Browsers mit Webservern ähneln: GET zum Anfordern einer Webseite, POST in Formularfeldern, usw.

SOAP sieht etwas Ähnliches vor, aber alles geschieht durch das Hin- und Herschicken von XML-Blöcken. Eine weitere Schlüsselkomponente von SOAP ist WSDL, ein XML-Dokument, das beschreibt, welche Funktionen und Datenelemente unterstützt werden. WSDLs können verwendet werden, um programmatisch herauszufinden, welche Funktionen unterstützt werden, und um Stubs für den Programmiercode zu erzeugen.

3voto

aehlke Punkte 14161

Das Problem mit SOAP ist, dass es im Widerspruch zu den Idealen des HTTP-Stacks steht. Jede Middleware sollte in der Lage sein, mit HTTP-Anfragen zu arbeiten, ohne den Inhalt der Anfrage oder der Antwort zu verstehen, aber zum Beispiel wird ein normaler HTTP-Caching-Server nicht mit SOAP-Anfragen arbeiten, ohne zu wissen, welche Teile des SOAP-Inhalts für das Caching wichtig sind. SOAP verwendet HTTP lediglich als Wrapper für sein eigenes Kommunikationsprotokoll, wie ein Proxy.

2voto

StingyJack Punkte 18514

Ich denke, das ist so einfach, wie ich es erklären kann. Bitte, jeder ist willkommen, mich zu korrigieren oder dies zu ergänzen.

SOAP ist ein Nachrichtenformat, das von nicht miteinander verbundenen Systemen (z. B. über das Internet) zum Austausch von Informationen/Daten verwendet wird. Es arbeitet mit XML-Nachrichten, die hin und her gehen.

Webdienste senden oder empfangen SOAP-Nachrichten. Sie funktionieren unterschiedlich, je nachdem, in welcher Sprache sie geschrieben sind.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X