2009-07-22 4 views

Répondre

-2

tout d'abord, alors que SOAP est spécifiquement une technologie orientée Web, REST n'a rien à voir avec HTTP, mais il est encore bien adapté pour les services Web. REST est également une architecture plutôt qu'un protocole, ce que SOAP est. Il existe donc plusieurs façons d'implémenter un service RESTful, à condition de respecter les contraintes de l'architecture. REST s'intègre beaucoup mieux dans la pile HTTP traditionnelle, car elle exige une utilisation correcte des protocoles, lorsque cela est possible. SOAP utilise simplement HTTP comme une sorte de wrapper/proxy autour de son propre protocole, ce qui n'est pas ce à quoi le protocole HTTP est destiné. SOAP essaie de contourner les limitations de HTTP, mais il ne profite pas de la majeure partie de ce que HTTP a à offrir. Par exemple, les serveurs de cache situés au milieu d'un client et le serveur de contenu doivent pouvoir mettre en cache les requêtes et les réponses sans rien comprendre au contenu de chacun, ce qui n'est pas possible avec SOAP, puisque le contenu réel être mis en cache est un sous-ensemble du contenu du message HTTP, à l'intérieur d'un tas de wrappers SOAP et de structure propriétaire. Les services RESTful n'ont pas ce problème, ils évoluent beaucoup plus naturellement. Pour obtenir la meilleure source d'informations sur REST, lisez le dissertation de Fielding et son blog, où il élimine les idées fausses les plus courantes. (Il est le gars qui a créé les spécifications REST) ​​

+0

-1: "s'intègre mieux dans la pile HTTP traditionnelle car elle nécessite une utilisation correcte" - qu'est-ce que l'ajustement a à voir avec quoi que ce soit, et comment l'utilisation correcte exigeante l'accomplit-elle? SOAP utilise HTTP comme l'un des nombreux moyens de transport possibles, un concept qui devrait être familier à quiconque comprend les protocoles réseau en couches. Pourquoi SOAP devrait-il se soucier de tirer profit de ce que HTTP a à offrir? C'est un _protocol_. Je suppose que vous ne mettrez en cache que les requêtes et les réponses GET? Quelle "structure propriétaire"? –

+1

SOAP nécessite POST qui est défini comme étant non amovible. L'utilisation du même URI à de nombreuses fins dans SOAP entrave également la mise en cache. – aehlke

0

En voici un: si vous n'avez pas d'autre utilisation que HTTP, REST sera probablement le meilleur choix.

Questions connexes