Principales différences entre les services web SOAP et RESTful en java [dupliquer]
cette question a déjà une réponse ici:
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.
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.
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é.
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
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.
-
RESTE n'a pas d'WSDL[Web Langage de Description de] la définition de l'interface.
-
reste sur HTTP, mais SOAP peut être sur N'importe quel protocole de transport tel que HTTP, FTP, SMTP, JMS, etc.
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.
-
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.
Savon services Web :
- 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.
- 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:
- Totalement apatride opérations: pour les apatrides CRUD (Create, Read, Update et Delete).
- mise en Cache des situations: Si l'information doit être mis en cache.
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.
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