SOAP-Nachrichten im REST-basierten Web-Service

9

Haftungsausschluss: Ich bin wirklich verwirrt zwischen REST und SOAP-basierten Diensten.
Nach dem Lesen vieler Tutorials (die einander widersprechen) auf dem REST-basierten Web-Service fragte ich mich, ob wir SOAP zum Senden / Empfangen von Nachrichten im REST-basierten Web-Service verwenden können / sollen? Ich habe folgende Links versucht 1) Ссылка

2) Ссылка

    
xyz 22.09.2011, 20:40
quelle

1 Antwort

17

Mit "SOAP-basierten Diensten" gehe ich davon aus, dass Sie WS-I Basisprofil Webdienste verstehen. Diese Unterscheidung ist wichtig, da SOAP sowohl mit REST als auch mit WS-I BP Web Services verwendet werden kann. Lass es mich erklären.

SOAP ist ein XML-basiertes Messaging-Format für den Austausch von Daten. Soap definiert auch ein Mittel zum Ausführen von Fernprozeduraufrufen. SOAP ist ein offener Standard des W3C . SOAP ist bezüglich der zugrunde liegenden Transportschicht agnostisch. Häufig wird HTTP als Transportschicht verwendet, aber es kann problemlos über SMTP und TCP sowie andere Transporte ausgeführt werden.

REST ist ein Architekturstil (kein Standard), also seien Sie vorsichtig, REST und SOAP nicht direkt zu vergleichen, weil Sie vergleichen Äpfel nicht mit Äpfeln. REST nimmt HTTP und benutzt es so, wie es gedacht war, mit all seinen Feinheiten und Reichhaltigkeit. Der REST-Architekturstil kann verwendet werden, um Daten in einem beliebigen Format zu übertragen - es erfordert kein bestimmtes Datenformat. SOAP ist also ein perfektes Serialisierungsformat für einen REST-Webservice. Aber viele Leute verwenden JSON, XML, Klartext und viele andere Formate mit REST. Sie können auch Binärdaten problemlos über REST austauschen, wie z. B. Bilddateien. Das Schöne daran ist, dass Sie das Datenformat auswählen, das für Ihre Anwendung am sinnvollsten ist.

Beachten Sie, dass, da REST ein Muster und kein Standard ist, viel darüber diskutiert wird, was es bedeutet, wirklich RESTful zu sein. Es gibt ein Konzept namens Richardson Maturity Model , das eine Reihe von Schritten zum REST-Ideal hinlegt. Durch Vergleich mit Richardsons Modell können wir genau sehen, wie RESTful eine bestimmte REST-Implementierung ist. WS-I BP-Webservices sind in dieser Größenordnung auf Stufe 0 (dh nicht sehr RESTful überhaupt, nur HTTP als dumme Transportschicht zu verwenden).

Ich würde dies über die Auswahl von REST vs WS-I Basisprofil Webdiensten sagen - es kommt auf Ihre Zielgruppe an . Wenn Sie eine B2B-Schnittstelle in einem Unternehmen entwickeln, werden WSI-BP-Webdienste häufiger angezeigt. Da es einen zugrunde liegenden Standard gibt, und aufgrund der ausgereiften Unterstützung von Unternehmensanbietern (wie IBM, Oracle, SAP, Microsoft) und aufgrund des Grads der Framework-Unterstützung insbesondere in .NET und Java, ist WSI-BP sehr sinnvoll Wenn Sie etwas schnell in Gang setzen müssen und Kunden die Verbindung in einer Unternehmensumgebung erleichtern möchten, handelt es sich bei den Daten, die ausgetauscht werden, um Geschäftsdaten, die seriell als SOAP serialisiert werden.

Auf der anderen Seite würde ich sagen, dass es einen Trend von WSI-BP hin zum RESTful-Stil gibt, wenn Sie Web-Services dem breiteren Webpublikum zugänglich machen. Da REST nur davon ausgeht, dass der Client HTTP unterstützt, kann die Interoperabilität mit einer möglichst großen Zielgruppe gewährleistet werden. REST bietet Ihnen auch die Skalierbarkeit des Webs selbst, mit der Unterstützung für das Zwischenspeichern von Ressourcen usw., wodurch es sich für eine große Zielgruppe viel besser skalieren lässt als WSI-BP-Webdienste.

    
saille 22.09.2011, 21:09
quelle

Tags und Links