Principales différences entre les services web SOAP et RESTful en java [dupliquer]

cette question a déjà une réponse ici:

  • SOAP vs REST (differences) 14 réponses

question de suivi de this post :

pour l'instant, j'ai une petite idée des différences entre les services SOAP et RESTful.

ma question Est de savoir quand je dois utiliser SOAP, et quand je dois utiliser RESTful; lequel est "meilleur" en termes de performance/vitesse ou de traitement des requêtes?

je mets en œuvre pour la première fois dans RESTful(java) et je veux en savoir plus à ce sujet; j'ai déjà traité avec SOAP avant.

239
demandé sur Community 2010-01-25 14:45:50

11 réponses

le repos sera presque toujours plus rapide. Le principal avantage du SOAP est qu'il fournit un mécanisme pour les services de se décrire aux clients, et de faire la publicité de leur existence.

REST est beaucoup plus léger et peut être mis en œuvre en utilisant presque n'importe quel outil, conduisant à une bande passante plus faible et une courbe d'apprentissage plus courte. Toutefois, les clients doivent savoir ce qu'à envoyer et à quoi s'attendre.

en général, lorsque vous publiez une API à le monde extérieur qui est complexe ou susceptible de changer, le SAVON sera plus utile. En dehors de cela, le repos est généralement la meilleure option.

239
répondu dj_segfault 2010-01-25 13:59:11

RESTE vs SAVON Services Web

je vois beaucoup de nouveaux services web sont mis en œuvre en utilisant un repos l'architecture de style de nos jours plutôt qu'une SOAP one. Permet de reculer d'un deuxièmement, expliquez ce qu'est le repos.

Qu'est-ce qu'un service REST Web

L'acronyme REST signifie Representational State Transfer, this fondamentalement signifie que chaque URL unique est représentation de certains objet. Vous pouvez obtenir le contenu de cet objet en utilisant un GET HTTP, à le supprimer, vous pouvez utiliser un POST, PUT ou DELETE pour modifier le objet (en pratique, la plupart des services utilisent un message pour cela).

qui utilise le repos?

tous les services web de Yahoo utilisent REST, y compris Flickr, del.icio.États-Unis API utilise it, pubsub, bloglines, technorati, et à la fois eBay, et Amazon ont des services web pour le repos et le savon.

qui utilise du savon?

Google seams à être cohérent dans la mise en œuvre de leurs services web pour utilisez SOAP, à l'exception de Blogger, qui utilise XML-RPC. Vous trouver des services web SOAP dans beaucoup de logiciels d'entreprise ainsi.

repos vs savon

comme vous avez peut-être remarqué les compagnies que j'ai mentionnées qui utilisent le repos les api ne sont pas là depuis très longtemps, et leurs API sont sorties. ce année la plupart du temps. Donc le repos est certainement la façon à la mode de créer un web service, si la création de services web pourrait un jour être à la mode (permet d'y faire face vous utilisez du savon pour laver, et vous reposez lorsque votre fatigué). Principal les avantages des services REST web sont:

léger - pas beaucoup de résultats supplémentaires lisibles par L'homme de balisage xml Facile à construire - aucun kit d'outils nécessaire le savon a aussi quelques avantages:

facile à consommer-contrôle parfois rigide, adhère à un outils de développement de contrats pour la consommation de services web, il est parfois un mélanger entre ce qui est plus facile. Par exemple Adwords web de Google le service est vraiment difficile à consommer (dans les FC de toute façon), il utilise du savon les en-têtes, et un certain nombre d'autres choses qui rendent ce genre de difficile. À L'inverse, le service web REST D'Amazon peut parfois être délicat à analyse parce qu'il peut être très imbriqué, et le schéma de résultat peut varier tout à fait un peu en fonction de ce que vous recherchez.

quelle que soit l'architecture que vous choisissez, assurez-vous que son facile pour les développeurs pour y accéder, et bien documenté.

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

67
répondu salman khalid 2012-07-12 10:29:08

savon

Simple Object Access Protocol (SOAP) standard d'un langage XML de la définition d'une architecture de message et les formats de message, est utilisé par les services Web, il contient une description des opérations. WSDL est un langage XML pour décrire les services Web et comment y accéder. sera exécuté sur le serveur SMTP,HTTP,FTP, etc. Nécessite un support de middleware, un mécanisme bien défini pour définir des services comme WSDL+XSD, WS-Policy SOAP retournera le XML basé données

reste Services web de transfert d'état de représentation (RESTful). il s'agit de Services Web de deuxième génération. Les services web RESTful communiquent via HTTP que les services SOAP et ne nécessitent pas de messages XML ou de définitions WSDL service-API. pour le repos, aucun middleware N'est requis, seul le support HTTP est nécessaire.WADL Standard, REST can return XML, plain text, JSON, HTML etc

43
répondu kapil das 2013-10-19 06:39:40

le repos est une architecture. RESTE donnera lisible résultats. Le repos est apatride. Les services de repos sont facilement accessibles.

SOAP est un protocole. Il peut s'exécuter sur JMS, FTP, Http.

41
répondu Kalidoss.M 2012-07-12 05:14:29
  1. RESTE n'a pas d'WSDL[Web Langage de Description de] la définition de l'interface.

  2. reste sur HTTP, mais SOAP peut être sur N'importe quel protocole de transport tel que HTTP, FTP, SMTP, JMS, etc.

34
répondu CharithJ 2015-08-04 12:12:58

repos VS savon

savon:

► SOAP est un protocole simple d'accès aux objets qui s'exécute sur TCP/UDP / SMTP.

► Les messages de réponse aux requêtes SOAP read and write en format XML.

► SOAP utilise l'interface pour définir les services.

► Le SOAP est plus sûr car il dispose de sa propre sécurité et de normes bien définies.

► Le SOAP suit le RPC et le style de Document définir les services web.

► SOAP utilise SOAP-UI comme outil client pour les tests.

reste

► REST est un transfert d'état représentatif qui utilise les protocoles HTTP sous-jacents.

► Le repos est apatride.

► REST est un style architectural qui est utilisé pour décrire et définir les services web.

► Le reste peut lire et écrire des messages de réponse à une demande dans JSON/XML/HTML.

► REST utilise URI pour chaque ressource utilisée dans le service web.Une ressource peut être la méthode de texte d'image etc.

► REST utilise un ensemble de verbes comme "GET", "POST", "PUT", "DELETE" de HTTP.

► REST est facile à développer et facile à gérer par rapport à SOAP UI.

► REST dispose d'outils client légers ou de plugins qui peuvent facilement être intégrés à l'intérieur du navigateur.

► Les services de repos sont accessibles en cache.

21
répondu Waqas Ahmed 2016-06-07 06:42:52
  • reste signifie transfert D'État de représentation où" SOAP "signifie Simple Object Access Protocol .

  • SOAP définit ses propres sécurité où que RESTE hérite de la sécurité de de transport sous-jacent.

  • SAVON n'est pas l'appui de la gestion d'erreur, mais RESTE a built-in erreur la manipulation .

  • RESTE est léger et ne nécessite pas de XML . Le reste peut être consommé par n'importe quel client, même un navigateur Web avec Ajax et Javascript. Le reste consomme moins de bande passante , il ne nécessite pas d'en-tête SOAP pour chaque message.

    • le repos est utile par rapport à tout protocole qui fournit une URI. Ignorer le point 5 pour le repos comme mentionné ci-dessous image.

SOAP vs REST

20
répondu IRSHAD 2016-12-06 06:26:08

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

10
répondu yogesh wadhwa 2017-08-09 06:14:48

Savon services Web :

  1. si votre application a besoin d'un niveau garanti de fiabilité et de sécurité, SOAP offre des normes supplémentaires pour assurer ce type d'opération.
  2. si les deux parties (fournisseur de services et consommateur de services) doivent s'entendre sur le format d'échange alors SOAP donne les spécifications rigides pour ce type d'interaction.

RestWeb-Services:

  1. Totalement apatride opérations: pour les apatrides CRUD (Create, Read, Update et Delete).
  2. mise en Cache des situations: Si l'information doit être mis en cache.
8
répondu Sudhakar_Jayaraman 2013-11-07 07:09:56

le service Web SOAP effectue toujours une opération de POST,tandis qu'en utilisant REST vous pouvez choisir des méthodes http spécifiques comme GET,POST,PUT, DELETE. Exemple: pour obtenir un élément en utilisant SOAP vous devez créer une requête xml mais dans le cas de REST vous pouvez juste spécifier l'id de l'élément dans l'url elle-même.

6
répondu Anil Kumar B 2014-10-29 13:18:58

repose est plus facile à utiliser pour la plupart des pièces et est plus flexible.Contrairement à SOAP, REST n'a pas besoin d'utiliser XML pour fournir la réponse. Nous pouvons trouver des services web basés sur le repos qui produisent les données dans la valeur séparée de commande (CSV), la Notation D'objet JavaScript (JSON) et la Syndication vraiment Simple (RSS). Nous pouvons obtenir la sortie dont nous avons besoin sous une forme qui est facile à analyser dans la langue dont nous avons besoin pour notre application.REST est plus efficace(utilisez des formats de message plus petits), rapide et plus proche d'autres Web technologies dans la philosophie du design

2
répondu vidya k n 2014-10-28 04:27:12