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.