Vous ne pouvez pas comparer REST et SOAP. REST est un style architectural alors que SOAP est un protocole.
Malheureusement, REST est devenu un synonyme de service HTTP RESTful, ce qui signifie une réalisation de l'architecture de style REST avec HTTP comme protocole (d'application).
REST est basé sur les principes suivants (contraintes et éléments) (entre parenthèses la réalisation en HTTP RESTful) [1] .
- Sans état (HTTP est un protocole sans état)
- Ressource (identifiée par les URI)
- Interface uniforme (méthodes HTTP)
- Représentation (TYPE MIME)
- HATEOS (hyperliens)
- Cache (cache HTTP)
De l'autre côté, beaucoup de gens entendent dire par SOAP qu'un service Web basé sur WSDL et SOAP faisant partie de l'architecture de service Web du W3C [2] .
- SOAP est utilisé comme protocole pour échanger des informations (essentiellement le nom de la méthode, les paramètres, les valeurs de retour, les types de données, ...).
- WSDL est un langage de définition d'interface permettant de décrire le service Web.
Quelle est la signification actuelle de SOAP *?
SOAP est une norme du W3C utilisée comme format d'échange d'informations dans les services Web du W3C. Ces services Web étaient - en particulier lors du battage publicitaire des SOA (archtitectures orientées services) autour de 2008 (+ - 3 ans) - et (malheureusement) sont toujours principalement implémentés dans des applications d'entreprise.
Cela a plusieurs raisons. À l'époque, RESTful HTTP n'était pas bien connu et avait été mal compris. Malheureusement, il est encore incompris de regarder les autres réponses
"[...] REST est beaucoup plus limité que SOAP [...]."
„L'objectif principal de REST est de représenter des ressources sur Internet [...].“
En outre, SOAP (et WSDL) font partie de la pile de protocoles de service Web du W3C, qui fournit encore plus de normes pour la mise en œuvre d'un service Web.
Est-ce que les gens développent encore de nouvelles API basées sur SOAP, ou s'agit-il principalement d'un héritage?
Donc oui, il y a toujours et il y aura aussi à l'avenir des systèmes qui utilisent SOAP (du moins dans les systèmes d'entreprise, la plupart du temps derrière les portes). Mais la majorité essaie de faire une sorte de "REPOS" de nos jours.
Quelqu'un peut-il me corriger si je me trompe à propos de cette différence entre SOAP et REST?
Dire que REST est une architecture sans état plus flexible pour le transfert de données n'est pas une bonne explication. REST est un style d'architecture avec des contraintes et des éléments spécifiques. Considérant que SOAP est un protocole d’échange d’informations.
Comme je l'ai déjà écrit, vous ne pouvez pas les comparer. Mais vous pouvez comparer un service Web HTTP RESTful avec un service Web SOAP / WSDL.