Ich habe zuvor eine REST-API implementiert und es hat mir sehr gut gefallen. Wenn Sie REST über SOAP implementieren , ist Ihr Client / Server im Allgemeinen orthogonaler, was bedeutet, dass Sie den Server wesentlich freier ändern können, ohne dass dies Auswirkungen auf Ihre Clients hat. Diese Orthogonalität beruht auf der Verwendung einer abstrakteren und bereits genau definierten Kommunikation über HTTP-Verben. Durch die Verwendung von in Ihre REST-Antworten eingebetteten Hyperlinks ist es außerdem einfacher, Ihre API relativ schmerzfrei zu erweitern und zu erweitern. Kunden sollten diesen eingebetteten Links folgen, um zu neuen Ressourcen zu gelangen, so wie ein Mensch Links auf einer Webseite folgt, um weitere Informationen zu erhalten.
Nachdem dies gesagt war, hatte ich einige Kollegen, denen gesagt wurde, sie müssten SOAP verwenden und sie beschwerten sich die ganze Zeit darüber. Also habe ich mich etwas eingehender mit den beiden befasst.
Im Allgemeinen stellte ich fest, dass REST für stark verteilte Anwendungen mit Hunderten, Tausenden oder Millionen von Clients gut geeignet ist . Ein Grund ist die oben erwähnte Orthogonalität, ein anderer ist das Caching, das Sie kostenlos erhalten, da Sie HTTP verwenden.
SOAP ist möglicherweise der schnellste Weg, wenn Sie schnell eine kleinere API für einen oder zwei Clients benötigen und sich keine Sorgen über die Skalierbarkeit machen. Es passt möglicherweise auch besser zu Ihnen, wenn Sie nicht über eine ressourcenorientierte Architektur verfügen , da Sie möglicherweise einige Zeit benötigen, um Ihre App zu restrukturieren und sogar REST implementieren zu können.