Y a-t-il des règles de pouce pour décider entre deux écoles de pensée: SOAP et REST?Thumb-rules pour décider entre implémentations de service Web: SOAP/REST?
Répondre
Cela dépend de beaucoup de facteurs. L'un n'est pas meilleur que l'autre. Here is a list of differences I wrote before.
Ce ne sont pas des «règles du pouce», mais David Chappell a donné une présentation fantastique sur SOAP vs REST lors du keynote DevSummit d'ESRI cette année. Si vous avez du temps, je vous recommande fortement de l'écouter.
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)
-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"? –
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
En voici un: si vous n'avez pas d'autre utilisation que HTTP, REST sera probablement le meilleur choix.
- 1. Implémentations existantes du service OSGi Configuration Admin?
- 2. Quelles sont les principales implémentations XSL-FO? Comment puis-je décider parmi eux?
- 3. Différences entre implémentations de socket winsock et BSD
- 4. Injecter plusieurs implémentations de service avec Castle Windsor
- 5. Différence entre le service Web java (jax-ws) et le service Web .net?
- 6. Implémentations de démarques pour C/C++
- 7. 2.0 Proxy de service Web pour le service WCF
- 8. Quelle est la différence entre les options de Visual Studio: Service Web ASP.NET et service WCF
- 9. Variable de service Web partagée pour la durée de vie du service Web?
- 10. Client de service Web Spring pour appeler le service Web de l'axe Apache
- 11. Interface de service Web
- 12. Python Server Pages Implémentations
- 13. Autorisation/Licence de service Web
- 14. Service Web de repos
- 15. Déploiement du service Web de référencement du service Web asp.net
- 16. Implémentations d'interface utilisateur de type bureautique pour les applications Web Java?
- 17. Protocole pour sécuriser une connexion entre un appareil mobile et un service Web?
- 18. Liaison Wcf pour le service Web
- 19. Sécurisation du service Web ASP.NET
- 20. Service Web pour obtenir les coordonnées GPS
- 21. Quel cadre de service Web?
- 22. Implémentations d'identifiants de types uniformes tiers?
- 23. appeler le service web java par service web .net
- 24. Comment appeler un service Web à partir d'un service Web
- 25. Diffusion de service web asynchrone
- 26. Qu'est-ce qu'un type XML approprié pour le service Web?
- 27. VB6 Implémentations et événements
- 28. Client de service Web Java:
- 29. Exception de service Web pourquoi?
- 30. Conservation de la mémoire XML en mémoire entre les appels de service Web
Merci! C'est une liste soignée. – Swanand