WSDL vs REST Vor- und Nachteile


107

Verbunden:

Warum sollte man REST anstelle von Webdiensten verwenden?

Was sollte ich bei der Entscheidung, ob ein Webdienst mithilfe von SOAP oder REST implementiert werden soll (womit ich HTTP / XML auf RESTful-Weise meine), beachten und woran sollte ich denken? Ich gehe davon aus, dass dies keine Einheitsgröße ist. Wie wähle ich die zu verwendende aus?


Diese Frage kann auch einige hilfreiche Antworten haben: stackoverflow.com/questions/90451/…
Rob Hruska

2
Es kommt auf den Kontext an, sowohl SOAP als auch REST haben ihren Platz. Normalerweise sehen Sie Hi-SOAP und Lo-SOAP nicht so, wie Sie von REST hören. Der Grund dafür ist die Spezifikation, und entweder folgen Sie ihr oder Sie tun es nicht. SOAP wird in Rechenzentren verwendet, in denen Interoperabilität zwischen verschiedenen Servern erforderlich ist, die nicht direkt kommunizieren können, und die Leistung ist ein wichtiger Faktor. In diesen Fällen ist es schön, SOAP über TCP durchzuführen. SOAP wurde als Transportunabhängigkeit konzipiert, daher sollten Sie es im Wesentlichen über TCP, MSMQ usw. verwenden können. REST behandelt nur HTTP.
Srikar Doddi

CodeToGlory ist richtig. Tatsächlich wurde Microsofts WCF speziell entwickelt, um SOAP über jedes Transportmedium so einfach wie einen Wert in einer Konfigurationsdatei zu machen.
Travis Heseman

Mögliches Duplikat von SOAP vs REST (Unterschiede)
Hedeshy

Antworten:


111

Die beiden Protokolle werden in der realen Welt sehr unterschiedlich verwendet.

SOAP (unter Verwendung von WSDL) ist ein schwerer XML-Standard, der sich auf die Dokumentübergabe konzentriert. Dies hat den Vorteil, dass Ihre Anfragen und Antworten sehr gut strukturiert sein und sogar eine DTD verwenden können. Der Nachteil ist, dass es sich um XML handelt und sehr ausführlich ist. Dies ist jedoch gut, wenn zwei Parteien einen strengen Vertrag benötigen (z. B. für die Kommunikation zwischen Banken). Mit SOAP können Sie auch Dinge wie WS-Sicherheit auf Ihre Dokumente legen. SOAP ist im Allgemeinen transportunabhängig, was bedeutet, dass Sie nicht unbedingt HTTP verwenden müssen.

REST ist sehr leicht und stützt sich bei seiner Arbeit auf den HTTP-Standard. Es ist großartig, einen nützlichen Webdienst schnell zum Laufen zu bringen. Wenn Sie keine strenge API-Definition benötigen, ist dies der richtige Weg. Die meisten Webdienste fallen in diese Kategorie. Sie können Ihre API versionieren, damit Aktualisierungen der API sie nicht für Benutzer beschädigen, die alte Versionen verwenden (sofern sie eine Version angeben). REST erfordert im Wesentlichen HTTP und ist formatunabhängig (dh Sie können XML, JSON, HTML usw. verwenden).

Im Allgemeinen verwende ich REST, da ich keine ausgefallenen WS- * -Funktionen benötige. SOAP ist jedoch gut, wenn Computer Ihren Webservice mithilfe einer WSDL verstehen sollen. REST-Spezifikationen sind im Allgemeinen nur für Menschen lesbar.


5
@ JohnSaunders Warum gibt es Umschläge, wenn es kein Dokument gibt? Ich glaube nicht, dass ich gesagt habe, dass eine DTD ein einzigartiges Merkmal von SOAP ist. Ich bin heute nicht wirklich in der Stimmung zu debattieren, sorry. Vielleicht lesen Sie die Kommentare zu Ihrer Antwort auf diese Frage von vor fast 3 Jahren noch einmal. Ich denke nicht, dass Schwergewicht unbedingt eine schlechte Sache ist, manchmal willst du Holyfield, aber manchmal erledigt Pacquiao den Job.
Versteh

1
SOAP funktioniert entweder mit Schnittstellen im Dokumentstil oder im RPC-Stil. Außerdem verwendet SOAP nach meinem besten Wissen überhaupt keine DTD. Und Sie haben nie "Schwergewicht" quantifiziert. Entschuldigung, ich habe gerade erst Ihre Antwort gesehen, sonst hätte ich vor drei Jahren abgestimmt.
John Saunders

2
@ JohnSaunders Kein Problem, einen schönen Tag!
Kekoa

2
REST ist wie SOAP protokollunabhängig. Es ist nicht auf HTTP angewiesen, obwohl es am häufigsten auf diese Weise verwendet wird. Ich denke, eine wichtige Tatsache, die oft nicht erwähnt wird, ist, dass SOAP vs REST ein w3c-Standardprotokoll mit einem lose definierten pragmatischen Architekturmuster vergleicht.
Joelmdev

1
@ jm2 Ich habe noch nie gesehen, dass Rest außerhalb von HTTP verwendet wird. Mich würde interessieren, wie die Verben GET / POST / PUT / DELETE / etc. arbeiten in einem Ruhe "Protokoll" ohne HTTP. Verknüpfung?
Kekoa

33

Die folgenden Links enthalten nützliche Informationen zu WSDL und REST, einschließlich Vor- und Nachteile

Ein paar wichtige Punkte sind das

1) SOAP wurde für eine verteilte Computerumgebung entwickelt, während REST für eine Punkt-zu-Punkt-Umgebung entwickelt wurde.

2) Mit WADL kann die Schnittstelle für REST-Services definiert werden.

http://www.ajaxonomy.com/2008/xml/web-services-part-1-soap-vs-rest
http://ajaxonomy.com/2008/xml/web-services-part-2-wsdl-and -wadl


3
REST wurde für verteilte Systeme entwickelt: "[...] der REST-Architekturstil (Representational State Transfer) für verteilte Hypermedia-Systeme [...]" (Fielding, 2000) ics.uci.edu/~fielding/pubs/dissertation/ rest_arch_style.htm
Thomas Eizinger

19

In Bezug auf WSDL (was "SOAP" bedeutet) als "schwer". Schwere Angelegenheiten wie? Wenn das Toolset das ganze "schwere Heben" für Sie erledigt, warum ist es dann wichtig?

Ich musste noch nie eine komplizierte REST-API verwenden. Wenn ich das tue, erwarte ich mir eine WSDL, die meine Tools gerne in eine Reihe von Proxy-Klassen konvertieren, sodass ich einfach scheinbar Methoden aufrufen kann. Stattdessen vermute ich, dass zum Konsumieren einer nicht trivialen REST-basierten API eine erhebliche Menge an "leichtem" Code von Hand geschrieben werden muss.

Selbst wenn das alles erledigt ist, haben Sie immer noch lesbare Dokumentation in Code übersetzt, mit dem damit verbundenen Risiko, dass die Menschen sie falsch lesen. Da WSDL eine maschinenlesbare Beschreibung des Dienstes ist, ist es viel schwieriger, ihn "falsch zu lesen".


Nur ein Hinweis: seit diesem Post, ich habe die Möglichkeit, die Arbeit mit einem mäßig komplizierte REST - Service hat. Ich wünschte mir tatsächlich eine WSDL oder eine gleichwertige, und ich musste tatsächlich viel Code von Hand schreiben. Tatsächlich wurde ein wesentlicher Teil der Entwicklungszeit damit verbracht, die Codeduplizierung des gesamten Codes zu entfernen, der verschiedene Servicevorgänge "von Hand" nannte.


Ich denke, dass es bei "Leichtgewicht" um Leistung geht, sagen wir zum Beispiel, um vorgeschlagene Suchbegriffe während der Eingabe zu laden. Ich bin ein .NET-Typ und ich schätze einige IDE-Funktionen, die denen ähneln, die Sie sagen (die automatisch generierten Proxy-Klassen), aber für eine REST-Ws. Gibt es so etwas?
Romias

1
Das von Ihnen vorgeschlagene Beispiel ist ein einfacher REST-Service und wahrscheinlich schwer "falsch zu lesen". Jeder, der der Meinung ist, dass SOAP schlechter abschneidet, muss dies mit Zahlen belegen. Ich hatte nicht den Eindruck, dass die REST-Fans darüber sprachen, wenn sie "Schwergewicht" sagten.
John Saunders

3
Schwergewicht ist nicht abfällig, ich habe nur gemeint, dass SOAP Ihnen viel bietet und zu einem gewissen Preis für Leistung und Komplexität kommt. Beim Boxen kann ein Schwergewicht wahrscheinlich mehr Schaden anrichten als ein Leichtgewicht, aber ein Leichtgewicht kann die Arbeit zu Zeiten erledigen, in denen kein Schwergewicht erforderlich ist. Das zusätzliche "Zeug" wie WS-Sicherheit oder Transaktionen führt zu einer zusätzlichen Komplexität, die REST einfach nicht hat.
Kekoa

3
"Sichern Sie das mit Zahlen" - klassischer Flammenköder. Ich bin ein Fan von beidem, aber keiner ist eine Einheitsgröße.
Kekoa

4
@kekoav: Ich antwortete Romias, dass er dachte, "Leichtgewicht" sei Leistung. Ich hatte das Gefühl, dass dies von jedem unterstützt werden sollte, der so denkt. Auch hier würde ich keine bessere Leistung annehmen, ohne sie zu messen, und ich würde beispielsweise keine Transaktionen im Vergleich zu keinen Transaktionen oder WS-Sicherheit im Vergleich zu HTTPS messen. Es ist kein Flammenköder, vorzuschlagen, dass eine Aussage überprüft wird.
John Saunders

15

Dies gehört wahrscheinlich wirklich als Kommentar in einige der oben genannten Beiträge, aber ich habe noch nicht den Repräsentanten, um das zu tun, also geht es weiter.

Ich finde es interessant, dass viele der häufig für SOAP und REST genannten Vor- und Nachteile (IMO) sehr wenig mit den tatsächlichen Werten oder Grenzen der beiden Technologien zu tun haben. Der wahrscheinlich am häufigsten zitierte Profi für REST ist, dass es "leicht" oder eher "menschlich lesbar" ist. Auf einer Ebene ist dies sicherlich richtig, REST hat eine niedrigere Eintrittsbarriere - es gibt weniger erforderliche Struktur als SOAP (obwohl ich denen zustimme, die gesagt haben, dass gutes Werkzeug hier weitgehend die Antwort ist -, ist ein Großteil des SOAP-Werkzeugs zu schlecht ziemlich schrecklich).

Über diese anfänglichen Eintrittskosten hinaus ergibt sich der REST-Eindruck meiner Meinung nach aus einer Kombination der Form der Anforderungs-URLs und der Komplexität der Daten, die von den meisten REST-Diensten ausgetauscht werden. REST fördert tendenziell einfachere, besser lesbare Anforderungs-URLs, und die Daten sind tendenziell auch besser verdaulich. Inwieweit sind diese jedoch REST inhärent und inwieweit sind sie nur zufällig. Die einfachere URL-Struktur ist ein direktes Ergebnis der Architektur - sie kann jedoch auch auf SOAP-basierte Dienste angewendet werden. Die besser verdaulichen Daten sind eher auf das Fehlen einer definierten Struktur zurückzuführen. Dies bedeutet, dass Sie Ihre Datenformate besser einfach halten sollten, oder dass Sie viel Arbeit haben werden. Also hier die zusätzliche Struktur von SOAP,

Für den Austausch strukturierter Daten zwischen Computersystemen bin ich mir nicht sicher, ob REST von Natur aus besser ist als SOAP (oder umgekehrt), sie sind einfach unterschiedlich. Ich denke, der obige Vergleich von REST vs SOAP mit dynamischer vs. statischer Typisierung ist gut. Wo dyanmische Sprachen dazu neigen, Probleme zu bekommen, ist die langfristige Wartung und Instandhaltung eines Systems (und langfristig spreche ich nicht ein oder zwei Jahre, ich spreche 5 oder 10). Es wird interessant sein zu sehen, ob REST im Laufe der Zeit vor denselben Herausforderungen steht. Ich neige dazu zu glauben, dass ich mich beim Aufbau eines verteilten Informationsverarbeitungssystems für SOAP als Kommunikationsmechanismus interessieren würde (auch aufgrund der Schichtung des Übertragungs- und Anwendungsprotokolls und der Flexibilität, die es bietet, wie oben erwähnt).

An anderen Stellen scheint REST jedoch angemessener zu sein. AJAX zwischen dem Client und seinem Server (unabhängig von der Nutzlast) ist ein wichtiges Beispiel. Die Langlebigkeit dieser Art von Verbindung ist mir nicht besonders wichtig, und Benutzerfreundlichkeit und Flexibilität sind ein Höchstmaß. Ebenso, wenn ich einen schnellen Zugriff auf einen externen Service benötigte und nicht dachte, dass ich mich um die Wartbarkeit der Interaktion im Laufe der Zeit kümmern würde (wieder gehe ich davon aus, dass REST mich hier mehr kosten wird, in eine Richtung oder eine andere), dann könnte ich REST wählen, nur damit ich schnell ein- und aussteigen kann.

Auf jeden Fall handelt es sich um tragfähige Technologien, und je nachdem, welche Kompromisse Sie für eine bestimmte Anwendung eingehen möchten, können sie Ihnen gute (oder schlechte) Dienste leisten.


5

REST ist kein Protokoll; Es ist ein architektonischer Stil. Oder ein Paradigma, wenn Sie wollen. Das bedeutet, dass SOAP viel lockerer definiert ist. Für einfaches CRUD können Sie sich auf Standardprotokolle wie Atompub stützen, aber für die meisten Dienste stehen Ihnen mehr Befehle zur Verfügung.

Als Verbraucher kann SOAP je nach Sprachunterstützung ein Segen oder ein Fluch sein. Da SOAP weitgehend einem streng typisierten System nachempfunden ist, funktioniert es am besten mit statisch typisierten Sprachen. Für eine dynamische Sprache kann es leicht mürrisch und überflüssig werden. Darüber hinaus ist die Client-Bibliotheksunterstützung außerhalb der Welt von Java und .NET nicht so gut


Gibt es einen triftigen Grund für eine schlechte Toolunterstützung außerhalb von Java und .NET? Fehlt in der WSDL-Datei etwas, das beispielsweise die Erstellung eines Ruby-Proxys verhindern würde?
John Saunders

Technisch nein, aber jemand muss es implementieren, und weder Sun (sorry, Oracle) noch Microsoft werden irgendjemanden dafür bezahlen, Client-Bibliotheken in Ruby zu implementieren. Das SOAP-Protokoll ist ziemlich komplex. Hinzu kommt, dass die gesamte Komplexität im Typsystem liegt, das aus Sicht der dynamischen Sprache nur Müll ist. Man kann also sagen, dass SOAP die statischen Typsysteme dynamischen Sprachen aufzwingt. REST ist umgekehrt.
troelskn

4

Für mich sollten wir vorsichtig sein, wenn wir das Wort Webdienst verwenden. Wir sollten immer angeben, ob es sich um einen SOAP-Webdienst, einen REST-Webdienst oder eine andere Art von Webdiensten handelt, da wir hier über verschiedene Dinge sprechen und die Leute nicht mehr verstehen, wenn wir alle Webdienste genannt haben.

Grundsätzlich sind SOAP-Webdienste seit Jahren sehr gut etabliert und folgen einer strengen Spezifikation, die beschreibt, wie mit ihnen basierend auf der SOAP-Spezifikation kommuniziert wird. Jetzt sind REST-Webdienste etwas neuer und sehen im Grunde genommen einfacher aus, da sie kein Kommunikationsprotokoll verwenden. Grundsätzlich senden und empfangen Sie bei Verwendung eines REST-Webdienstes einfaches XML. Die Leute mögen es, weil sie die XML-Datei so analysieren können, wie sie es möchten, ohne sich mit einem komplexeren Kommunikationsprotokoll wie SOAP befassen zu müssen.

Für mich sind REST-Services fast so, als würden Sie ein Servlet anstelle eines SOAP-Webdienstes erstellen. Das Servlet empfängt Daten und gibt Daten zurück. Das Format der Daten basiert auf XML. Wir können uns auch vorstellen, etwas anderes als XML zu verwenden, wenn wir wollen. Zum Beispiel könnten Tags anstelle von XML verwendet werden, und das wäre nicht mehr REST, sondern etwas anderes (könnte in Bezug auf das Gewicht sogar noch leichter sein, da XML von Natur aus nicht leicht ist). Würden wir das immer noch einen Webdienst nennen? Ja, wir könnten, aber das wird keinem aktuellen Standard folgen, und dies ist das Hauptproblem hier, wenn wir anfangen, alle Webdienste aufzurufen, aber wir können es so machen, wie wir es wollen, dann verlieren wir auf der Interoperabilitätsseite der Dinge. Das bedeutet, dass das Format der Daten, die mit dem Webdienst ausgetauscht werden, nicht mehr standardisiert ist.

Was die Leute mit SOAP nicht mögen, ist, dass sie es schwer verstehen und die Abfragen nicht manuell generieren können. Computer können dies jedoch sehr gut, daher müssen wir hier klar sein: Sollen Webdienstabfragen und -antworten direkt von den Endbenutzern verwendet werden, oder stimmen wir zu, dass Webdienste unter der API liegen, die von Computersystemen auf der Grundlage einiger normalisierter Systeme aufgerufen wird Standards?


1
Das wäre nicht mehr REST?
Steven Shaw

3

SEIFE : Es kann auch über SMTP transportiert werden, dh wir können den Dienst auch im einfachen E-Mail-Textformat aufrufen

Es muss ein zusätzliches Framework / eine zusätzliche Engine in einem Webdienst-Consumer-Computer vorhanden sein, um SOAP-Nachrichten in die jeweilige Objektstruktur in verschiedenen Sprachen zu konvertieren.

SICH AUSRUHEN : Jetzt unterstützt WSDL2.0 auch die Beschreibung des REST-Webdienstes

Wir können verwenden, wenn Sie Ihren Dienst als leichtgewichtig gestalten möchten, z. B. Anrufe von Mobilgeräten wie Mobiltelefonen, PDAs usw.


Danke, dass du das angesprochen hast, @Jenith. Niemand scheint dies ansprechen zu wollen. WSDL hat mit Beschreibung zu tun. REST ist ein Paradigma. Für andere: Weitere Informationen finden Sie in der Einführung unter ibm.com/developerworks/webservices/library/ws-restwsdl . Die ursprüngliche Frage zeigt dabei (unter Berücksichtigung des Eintrittsdatums), dass der Fragentitel schlecht gewählt ist (wahrscheinlich wird WSDL 1.0 im Auge behalten).
Sonny

3

Für Unternehmenssysteme, in denen Ihr System auf Ihre Unternehmen beschränkt ist, ist es einfacher und angemessen, Seife zu verwenden, da Sie fast die Kontrolle über Kunden haben. Es ist einfacher, da es eine Vielzahl von Tools gibt, die Klassen (Proxys) erstellen und so aussehen, als würden Sie Ihr reguläres OOP ausführen, das Ihrer Java- oder .net-Umgebung entspricht (in der die meisten Unternehmen verwenden).

Ich würde REST für Anwendungen mit Internetverbindung verwenden, um Schnittstellen (wie Twitter-API) verfügbar zu machen, da Clients Javascripts oder HTML oder andere verwenden können, bei denen die Eingabe nicht streng ist. REST liberaler zu sein macht mehr Sinn.

Auch für Kunden mit Internetanschluss (World Wide Web) ist es einfacher, JSON oder XML zu analysieren, die aus einer Rest-Oberfläche stammen, als reine XML-Dateien, die aus einer Seifenschnittstelle stammen. Es ist schwierig, Proxys für Javascript zu verwenden, und Javascript unterstützt natürlich keine Objekte. Wenn Sie REST mit Javascript verwenden, analysieren Sie normalerweise nur den JSON-String und schon sind Sie ausgeschaltet. Internet-Schnittstellen sind normalerweise sehr einfach (daher meistens einfach zu analysieren) und erfordern normalerweise keine Konsistenz, weshalb REST ausreichend ist.

Für Unternehmensanwendungen halte ich REST nicht für angemessen, da Transaktionen, Sicherheit, strenge Typisierung und Schemata bei der Entwicklung von Unternehmensanwendungen eine sehr wichtige Rolle spielen, weshalb SOAP besser für sie geeignet ist.

Mein Fazit ist, dass SOAP für Enterprise-Systeme ist, REST für das Internet oder das WWW. Sie können es austauschbar verwenden, aber es fällt Ihnen möglicherweise schwer, das richtige Werkzeug für den Job nicht zu verwenden.

Entschuldigung für mein schlechtes Englisch.


2

Zur Verteidigung von REST folgt es genau den Prinzipien von HTTP und Adressierbarkeit, z. B. Leseoperationen verwenden GET, Aktualisierungsoperationen verwenden POST usw. Ich finde, dass dies ein weitaus saubererer Ansatz ist. Das Oreilly-Buch RESTful Web Services erklärt dies weitaus besser als ich. Wenn Sie es lesen, würden Sie den REST-Ansatz bevorzugen


1

Das Toolset auf der Client-Seite wäre eins. Und die Vertrautheit mit SOAP-Diensten die andere. Heutzutage gehen immer mehr Dienste den RESTful-Weg, und das Testen solcher Dienste kann mit einfachen cURL-Beispielen durchgeführt werden. Es ist jedoch nicht allzu schwierig, beide Methoden zu implementieren und die größtmögliche Nutzung durch Clients zu ermöglichen.

Wenn Sie eine auswählen müssen, würde ich REST vorschlagen, es ist einfacher.


1

Die vorherigen Antworten enthalten viele Informationen, aber ich denke, es gibt einen philosophischen Unterschied, auf den nicht hingewiesen wurde. SOAP war die Antwort auf "Wie schaffen wir einen modernen, objektorientierten, plattform- und protokollunabhängigen Nachfolger von RPC?". REST entwickelte sich aus der Frage: "Wie können wir die Erkenntnisse, die HTTP für das Web so erfolgreich gemacht haben, für verteiltes Computing nutzen?"

Bei SOAP geht es darum, Ihnen Tools zur Verfügung zu stellen, mit denen verteilte Programmierung wie ... Programmierung aussieht. REST versucht, einen Stil zur Vereinfachung verteilter Schnittstellen festzulegen, sodass verteilte Ressourcen wie verteilte HTML-Seiten aufeinander verweisen können. Ein Weg, dies zu tun, ist der Versuch, Operationen (meistens) auf "CRUD" für Ressourcen zu beschränken (erstellen, lesen, aktualisieren, löschen).

REST ist noch jung - obwohl es auf "von Menschen lesbare" Dienste ausgerichtet ist, schließt es Introspection-Dienste usw. oder die automatische Erstellung von Proxys nicht aus. Diese wurden jedoch nicht standardisiert (wie ich schreibe). SOAP bietet Ihnen diese Dinge, aber (IMHO) gibt Ihnen "nur" diese Dinge, während der von REST auferlegte Stil aufgrund seiner Einfachheit bereits die Verbreitung von Webdiensten fördert. Ich selbst würde Neulinge dazu ermutigen, sich für REST zu entscheiden, es sei denn, es gibt bestimmte SOAP-Funktionen, die sie verwenden müssen.

Wenn Sie also meiner Meinung nach eine "Greenfield" -API implementieren und nicht so viel über mögliche Clients wissen, würde ich REST als den Stil wählen, den es fördert, um Schnittstellen verständlich und einfach zu entwickeln. Wenn Sie viel über Client und Server wissen und es spezielle SOAP-Tools gibt, die beiden das Leben leichter machen, wäre ich in Bezug auf REST jedoch nicht religiös.


-1: Dies beantwortet die Frage nicht wirklich. Es sagt wenig oder gar nichts über "Warum sollte ich einen über den anderen wählen"?
John Saunders

1
Ich habe mich darauf konzentriert, Informationen bereitzustellen, die andere nicht bereitgestellt haben - habe aber aufgrund Ihrer Aufforderung eine Schlussfolgerung hinzugefügt.
Shaunc

0

Sie können Ihre WSDL-speienden WCF-Webkomponenten einfach auf andere Verwendungszwecke umstellen, indem Sie einfach Ihre Konfigurationseinstellungen ändern. Sie können über HTTP und dann auch Pipes, TCP, benutzerdefinierte Protokolle usw. benennen, ohne Ihren Code ändern zu müssen. Ich glaube, dass WCF-Komponenten auch einfacher für Dinge wie Sicherheit, bidirektionale Anrufe, Transaktionen, Parallelität usw. eingerichtet werden können.

REST beschränkt Sie so ziemlich auf HTTP (was in vielen Fällen in Ordnung ist).


0

Ich weiß, dass diese Diskussion alt ist, aber nachdem ich alle Antworten gelesen und kommentiert habe, glaube ich, dass jeder den wichtigsten Punkt über den Unterschied zwischen den beiden Systemen übersehen hat: SOAP verwendet komplexe Typen, um Ihnen nicht nur die Daten zu geben, sondern auch zu validieren es und halten Sie es in der strengen Typenbezeichnung, für die es definiert wurde. Eine WSDL gibt Auskunft über das Datenformat und den Datentyp, ermöglicht das Hinzufügen von Regeln im Reg-Ex-Musterstil und definiert, wie oft ein Datenelement in einer Anforderung / Antwort zulässig sein darf und darf . Ruhe dagegen hat keinen dieser Mechanismen.

SOAP ist komplex und schwer, da Sie damit komplexe schwere hierarchische Daten senden können. REST ist einfacher Text, wobei der Ursprung und der Endpunkt die Regeln sortieren.

SOAP ist geschäftsunabhängig, da alle Datenregeln in das Dokument eingebettet sind.

Der Unterschied zwischen SOAP und REST besteht darin, dass SOAP ein in sich geschlossenes geschäftsorientiertes Schema ist. REST ist ein Textdokument.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.