it-swarm.com.de

Hauptunterschiede zwischen SOAP und RESTful-Webdiensten in java

Folge der Frage an diesen Beitrag :

Im Moment habe ich eine kleine Vorstellung von den Unterschieden zwischen SOAP und RESTful Services.

Meine Frage ist, wann ich SOAP und wann RESTful verwenden soll. Welches ist "besser", wenn es um Leistung/Geschwindigkeit oder die Bearbeitung von Anfragen geht?

Ich implementiere zum ersten Mal in RESTful (Java) und möchte mehr darüber erfahren. Ich habe mich schon einmal mit SOAP befasst.

247

REST wird fast immer schneller sein. Der Hauptvorteil von SOAP besteht darin, dass Dienste einen Mechanismus bereitstellen, mit dem sie sich selbst gegenüber Kunden beschreiben und für ihre Existenz werben können.

REST ist viel leichter und kann mit nahezu jedem Tool implementiert werden, was zu einer geringeren Bandbreite und einer kürzeren Lernkurve führt. Die Kunden müssen jedoch wissen, was sie senden und was sie erwarten.

Im Allgemeinen ist SOAP nützlicher, wenn Sie eine API für die Außenwelt veröffentlichen, die entweder komplex ist oder sich wahrscheinlich ändert. Ansonsten ist REST normalerweise die bessere Option.

247
dj_segfault

REST vs SOAP Web Services

Ich sehe, dass viele neue Web-Services heutzutage eher mit einer REST-Architektur als mit einer SOAP-Architektur implementiert werden. Lassen Sie uns eine Sekunde zurücktreten und erklären, was REST ist.

Was ist ein REST Web-Service?

Das Akronym REST steht für Representational State Transfer. Dies bedeutet im Grunde, dass jede eindeutige URL eine Darstellung eines Objekts ist. Sie können den Inhalt dieses Objekts mit einem HTTP-GET abrufen. Zum Löschen können Sie dann einen POST, PUT oder DELETE verwenden, um das Objekt zu ändern (in der Praxis verwenden die meisten Dienste hierfür einen POST ).

Wer verwendet REST?

Alle Webdienste von Yahoo, einschließlich Flickr, werden von der del.icio.us API verwendet. Pubsub, Bloglines, Technorati und sowohl eBay als auch Amazon verfügen über Webdienste für REST und SOAP.

Wer benutzt SOAP?

Google ist bestrebt, seine Webdienste konsequent für die Verwendung von SOAP zu implementieren, mit Ausnahme von Blogger, das XML-RPC verwendet. Sie finden SOAP Webservices auch in vielen Unternehmenssoftware.

REST vs SOAP

Wie Sie vielleicht bemerkt haben, gibt es die von mir erwähnten Unternehmen, die REST -APIs verwenden, noch nicht sehr lange, und ihre APIs sind dieses Jahr meistens herausgekommen. Also REST ist definitiv der trendige Weg, einen Webdienst zu erstellen, falls das Erstellen von Webdiensten jemals trendig sein könnte (seien wir ehrlich, Sie verwenden Seife zum Waschen und ruhen sich aus, wenn Sie müde sind). Die Hauptvorteile von REST Webservices sind:

Leichtgewichtig - nicht viel zusätzliches XML-Markup Vom Menschen lesbare Ergebnisse Einfach zu erstellen - keine Toolkits erforderlich SOAP hat auch einige Vorteile:

Einfach zu konsumieren - manchmal rigide Typprüfung, hält sich an einen Vertrag. Entwicklungstools Für den Konsum von Webdiensten ist es manchmal einfacher, zwischen diesen zu wechseln. Zum Beispiel ist der AdWords-Webdienst von Google (in CF) sehr schwer zu nutzen. Er verwendet SOAP -Header und eine Reihe anderer Dinge, die es schwierig machen. Umgekehrt kann es manchmal schwierig sein, den REST - Webservice von Amazon zu analysieren, da er stark verschachtelt ist und das Ergebnisschema je nach dem, wonach Sie suchen, erheblich variieren kann.

Für welche Architektur Sie sich auch entscheiden, stellen Sie sicher, dass Entwickler einfach darauf zugreifen und gut dokumentiert sind.

Freitag, P. (2005). "REST vs SOAP Web Services". Abgerufen von http://www.petefreitag.com/item/431.cfm am 13. Juni 201 =

69
salman khalid

SOAP

Der SOAP-Standard (Simple Object Access Protocol), eine XML-Sprache, die eine Nachrichtenarchitektur und Nachrichtenformate definiert, wird von Webdiensten verwendet und enthält eine Beschreibung der Vorgänge. WSDL ist eine XML-basierte Sprache zur Beschreibung von Webdiensten und zum Zugriff darauf. Läuft auf SMTP, HTTP, FTP usw. Benötigt Middleware-Unterstützung, gut definierte Mechanismen zum Definieren von Diensten wie WSDL + XSD, WS-Policy SOAP gibt XML-basierte Daten zurück

REST REST-Webdienste (Representational State Transfer). Sie sind Web Services der zweiten Generation. RESTful-Webdienste kommunizieren über HTTP als SOAP-basierte Dienste und erfordern keine XML-Nachrichten oder WSDL-Service-API-Definitionen. Für REST ist keine Middleware erforderlich, nur HTTP-Unterstützung. WADL-Standard, REST können XML, Nur-Text, JSON, HTML usw. zurückgeben

43
kapil das

REST ist eine Architektur. REST liefert lesbare Ergebnisse. REST ist zustandslos. REST -Dienste können problemlos zwischengespeichert werden.

SOAP ist ein Protokoll. Es kann auf JMS, FTP, HTTP ausgeführt werden.

42
Kalidoss.M
  1. REST hat keine WSDL-Schnittstellendefinition.

  2. REST ist über HTTP, aber SOAP kann über beliebige Transportprotokolle wie HTTP, FTP, SMTP, JMS usw. erfolgen.

33
CharithJ
  • REST steht für Representational State Transfer wobei als SOAP für Simple Object Access Protocol .

  • SOAP definiert seine eigene Sicherheit , wobei als REST Sicherheit vom zugrunde liegenden Transport erbt.

  • SOAP unterstützt keine Fehlerbehandlung, aber REST verfügt über eine integrierte Fehlerbehandlung .

  • REST ist leicht und erfordert kein XML-Parsing . REST kann von jedem Client verwendet werden, auch von einem Webbrowser mit Ajax und Javascript. REST verbraucht weniger Bandbreite und benötigt nicht für jede Nachricht einen SOAP -Header.

    • REST ist für alle Protokolle nützlich, die einen URI bereitstellen. Ignorieren Sie Punkt 5 für REST, wie unten in der Abbildung angegeben.

SOAP vs REST

24
IRSHAD

Ruhe VS SOAP

SEIFE:

► SOAP ist ein einfaches Objektzugriffsprotokoll, das unter TCP/UDP/SMTP ausgeführt wird.
► SOAP Lesen und Schreiben von Anforderungsantwortnachrichten im XML-Format.
► SOAP verwendet die Schnittstelle, um die Dienste zu definieren.
► SOAP ist sicherer, da es seine eigene Sicherheit und klar definierte Standards hat.
► SOAP folgt dem RPC- und Dokumentstil, um Webdienste zu definieren.
► SOAP verwendet SOAP-UI als Client-Tools zum Testen.

REST

► REST ist eine Übertragung des Repräsentationsstatus, die zugrunde liegende HTTP-Protokolle verwendet.
► REST ist zustandslos.
► REST ist ein Architekturstil, der zum Beschreiben und Definieren von Webdiensten verwendet wird.
► REST kann Anforderungsantwortnachrichten in JSON/XML/Plain HTML lesen und schreiben.
► REST verwendet URI für jede Ressource, die im Webdienst verwendet wird. Eine Ressource kann eine Bildtextmethode usw. sein.
► REST verwendet eine Reihe von VERBs wie GET, POST, PUT, DELETE von HTTP.
► REST ist im Vergleich zu SOAP UI einfach zu entwickeln und zu verwalten.
► REST verfügt über einfache Client-Tools oder Plugins, die problemlos in den Browser integriert werden können.
► REST Dienste sind cachefähig.

23
Waqas Ahmed

Unterschied zwischen Ruhe und Seife enter image description here

14
yogesh wadhwa

Soap Web-Services:

  1. Wenn Ihre Anwendung ein garantiertes Maß an Zuverlässigkeit und Sicherheit benötigt, bietet SOAP zusätzliche Standards, um diese Art von Betrieb sicherzustellen.
  2. Wenn beide Seiten (Dienstanbieter und Dienstverbraucher) sich auf das Austauschformat einigen müssen, gibt SOAP die starren Spezifikationen für diese Art der Interaktion an.

RestWeb-Services:

  1. Völlig zustandslose Operationen: Für zustandslose CRUD-Operationen (Erstellen, Lesen, Aktualisieren und Löschen).
  2. Cachesituationen: Wenn die Informationen zwischengespeichert werden müssen.
8

Der SOAP-Webdienst führt immer eine POST -Operation durch, während Sie mit REST bestimmte http-Methoden wie GET, POST, PUT, DELETE auswählen können. Beispiel: Um einen Artikel mit SOAP zu erhalten, sollten Sie eine Anfrage-XML erstellen. Im Fall von REST können Sie die Artikel-ID einfach in der URL selbst angeben.

6
Anil Kumar B

REST ist zum größten Teil einfacher zu verwenden und flexibler. Im Gegensatz zu SOAP muss REST kein XML verwenden, um die Antwort bereitzustellen. Wir können REST-basierte Webdienste finden, die die Daten in CSV (Command Separated Value), JSON (JavaScript Object Notation) und Really Simple Syndication (RSS) ausgeben. Die Ausgabe, die wir benötigen, können wir in einer Form erhalten, die innerhalb der Sprache, die wir für unsere Anwendung benötigen, leicht zu analysieren ist. REST ist effizienter (kleinere Nachrichtenformate verwenden), schneller und näher an anderen Webtechnologien in der Designphilosophie

2
vidya k n