web-dev-qa-db-fra.com

Principales différences entre SOAP et les services Web RESTful dans java

Question de suivi à ce post :

Pour le moment, j'ai une petite idée des différences entre SOAP et les services RESTful.

Ma question est de savoir quand je devrais utiliser SOAP et quand je devrais utiliser RESTful; lequel est "meilleur" en termes de performance/vitesse ou de traitement des demandes?

J'implémente pour la première fois en RESTful (Java) et je veux en savoir plus à ce sujet; J'ai déjà eu affaire à SOAP.

247
Gandalf StormCrow

REST va presque toujours être plus rapide. Le principal avantage de SOAP est qu’il fournit un mécanisme permettant aux services de se décrire eux-mêmes aux clients et d’annoncer leur existence.

REST est beaucoup plus léger et peut être mis en œuvre à l'aide de presque tous les outils, ce qui réduit la bande passante et accélère la courbe d'apprentissage. Cependant, les clients doivent savoir quoi envoyer et à quoi s'attendre.

En général, lorsque vous publiez une API complexe ou susceptible de changer vers le monde extérieur, SOAP sera plus utile. Autre que cela, REST est généralement la meilleure option.

247
dj_segfault

REST vs SOAP Services Web

Je constate qu'un grand nombre de nouveaux services Web sont mis en œuvre à l'aide d'une architecture de style REST plutôt que d'une architecture SOAP. Revenons un peu en arrière et expliquons ce que REST est.

Qu'est-ce qu'un service Web REST

L'acronyme REST signifie Représentational State Transfer, ce qui signifie que chaque adresse URL unique représente un objet. Vous pouvez obtenir le contenu de cet objet en utilisant un HTTP GET, pour le supprimer, vous pouvez ensuite utiliser un POST, un PUT ou un DELETE pour modifier l'objet (en pratique, la plupart des services utilisent un POST ).

Qui utilise REST?

Tous les services Web de Yahoo utilisent REST, y compris Flickr, l'API del.icio.us l'utilise, pubsub, bloglines, technorati, et eBay et Amazon disposent de services Web pour REST et SOAP.

Qui utilise SOAP?

Google semble cohérent dans la mise en œuvre de ses services Web pour utiliser SOAP, à l'exception de Blogger, qui utilise XML-RPC. Vous trouverez également SOAP services Web dans de nombreux logiciels d'entreprise.

REST vs SOAP

Comme vous l'avez peut-être remarqué, les sociétés que j'ai mentionnées utilisent REST les api n'ont pas été créés depuis très longtemps, et leurs apis sont principalement sortis cette année. Donc, REST est définitivement le moyen à la mode de créer un service Web, si la création de services Web peut être un jour à la mode (avouons-le, vous utilisez du savon pour vous laver et vous vous reposez lorsque vous êtes fatigué). Les principaux avantages des services Web REST sont les suivants:

Léger - pas beaucoup de balisage xml supplémentaire Résultats lisibles par l'homme Facile à construire - aucune boîte à outils requise SOAP présente également certains avantages:

Facile à consommer - parfois rigide - vérification du type, adhère à un contrat Outils de développement Pour consommer des services Web, il est parfois plus facile de les mélanger. Par exemple, le service Web AdWords de Google est vraiment difficile à consommer (de toute façon dans CF), il utilise des en-têtes SOAP et un certain nombre d'autres choses qui le rendent assez difficile. À l'inverse, le service Web REST d'Amazon peut parfois s'avérer difficile à analyser, car il peut être hautement imbriqué et le schéma de résultat peut varier considérablement en fonction de ce que vous recherchez.

Quelle que soit l'architecture que vous choisissiez, assurez-vous que les développeurs y ont facilement accès, et qu'elle soit bien documentée.

Freitag, P. (2005). "REST vs SOAP Web Services". Extrait de http://www.petefreitag.com/item/431.cfm le 13 juin 201 =

69
salman khalid

SOAP

Le standard SOAP (Simple Object Access Protocol), un langage XML définissant une architecture et des formats de message, est utilisé par les services Web; il contient une description des opérations. WSDL est un langage basé sur XML permettant de décrire les services Web et d’y accéder. fonctionnera sur SMTP, HTTP, FTP, etc. Nécessite un support de middleware, un mécanisme bien défini pour définir des services tels que WSDL + XSD, WS-Policy SOAP renverra des données XML

RESTE Services Web RESTful (Representational State Transfer). ce sont des services Web de deuxième génération. Les services Web RESTful communiquent via HTTP par rapport aux services basés sur SOAP et ne nécessitent pas de messages XML ni de définitions d'API de service WSDL. pour REST aucun middleware n'est requis, seul le support HTTP est nécessaire.WADL Standard, REST peut renvoyer XML, texte brut, JSON, HTML, etc.

43
kapil das

REST est une architecture. REST donnera des résultats lisibles par l'homme. REST est sans état. Les services REST peuvent facilement être mis en cache.

SOAP est un protocole. Il peut fonctionner sur JMS, FTP, Http.

42
Kalidoss.M
  1. REST n'a pas de définition d'interface WSDL [Web Description Language].

  2. REST est sur HTTP, mais SOAP peut être utilisé sur tous les protocoles de transport tels que HTTP, FTP, SMTP, JMS, etc.

33
CharithJ
  • REST signifie transfert d'état représentationnel , où SOAP signifie protocole d'accès d'objet simple .

  • SOAP définit sa propre sécurité où REST hérite de la sécurité du transport sous-jacent.

  • SOAP ne prend pas en charge la gestion des erreurs, mais REST possède une gestion des erreurs intégrée .

  • REST est léger et n'exige pas l'analyse XML . REST peut être utilisé par n'importe quel client, même un navigateur Web avec Ajax et Javascript. REST consomme moins de bande passante , un en-tête SOAP n'est pas nécessaire pour chaque message.

    • REST est utile pour tout protocole fournissant un URI. Ignorez le point 5 pour REST comme indiqué ci-dessous dans l'image.

SOAP vs REST

24
IRSHAD

Rest VS SOAP

SAVON:

► SOAP est un protocole d'accès d'objet simple fonctionnant sous TCP/UDP/SMTP.
► SOAP lire et écrire des messages de réponse à la demande au format XML.
► SOAP utilise l'interface pour définir les services.
► SOAP est plus sécurisé car il possède sa propre sécurité et des normes bien définies.
► SOAP suit RPC et le style de document pour définir les services Web.
► SOAP utilise SOAP-UI comme outil client pour les tests.

REST

► REST est un transfert d'état représentatif utilisant les protocoles HTTP sous-jacents.
► REST est apatride.
► REST est un style architectural utilisé pour décrire et définir les services Web.
► REST peut lire et écrire les messages de réponse à la demande en JSON/XML/Plain HTML.
► REST utilise l'URI pour chaque ressource utilisée dans le service Web. Une ressource peut être une méthode de texte, etc.
► REST utilise un ensemble de VERB comme GET, POST, PUT, DELETE de HTTP.
► REST est facile à développer et à gérer par rapport à l’interface utilisateur SOAP.
► REST a des outils clients légers ou des plugins qui peuvent facilement être intégrés dans le navigateur.
Les services ► REST peuvent être mis en cache.

23
Waqas Ahmed

Différence entre le repos et le savon enter image description here

14
yogesh wadhwa

Services Web Soap:

  1. Si votre application requiert un niveau de fiabilité et de sécurité garanti, alors SOAP propose des normes supplémentaires pour garantir ce type d'opération.
  2. Si les deux parties (fournisseur de service et consommateur de service) doivent se mettre d'accord sur le format d'échange, alors SOAP donne les spécifications strictes pour ce type d'interaction.

RestWeb-Services:

  1. Opérations totalement sans état: pour les opérations CRUD (créer, lire, mettre à jour et supprimer) sans état.
  2. Situations de mise en cache: Si les informations doivent être mises en cache.
8

Le service Web SOAP effectue toujours une opération POST alors que vous utilisez REST, vous pouvez choisir des méthodes http spécifiques telles que GET, POST, PUT, DELETE. Exemple: pour obtenir un élément à l'aide de SOAP, vous devez créer une requête XML mais, dans le cas de REST, vous pouvez simplement spécifier l'ID de l'élément dans l'URL elle-même.

6
Anil Kumar B

REST est généralement plus facile à utiliser et plus flexible. Contrairement à SOAP, REST ne nécessite pas d’utilisation de XML pour fournir la réponse. Nous pouvons trouver des services Web basés sur REST qui génèrent les données dans CSV (Command Separated Value), JSON (JavaScript Object Notation) et RSS (Really Simple Syndication). Nous pouvons obtenir les résultats dont nous avons besoin sous une forme facile à analyser dans le langage dont nous avons besoin pour notre application. REST est plus efficace (utilisez des formats de message plus petits), plus rapide et plus proche des autres technologies Web de la philosophie de conception.

2
vidya k n