web-dev-qa-db-fra.com

Pourquoi le service Web basé sur le savon n'est-il pas reposant?

Je comprends que reposant est un style d'architecture, mais ce qui fait exactement le service Web basé sur le savon, pas compte de manière reposante?

Ce n'est pas clair pour moi quels points ci-dessous (de - Wikipedia ), n'est pas conforme au savon.

  1. Serveur client
  2. Apatride
  3. Cachable
  4. Système en couches
  5. Code sur demande (facultatif)
  6. Interface uniforme
    • Identification des ressources
    • Manipulation des ressources à travers ces représentations
    • Messages auto-descriptifs
    • HyperMedia comme moteur d'application de l'application

[~ # ~] Edit [~ # ~]: Je viens de tomber sur this quels résument ce qui résume bien.

Le repos n'est pas RPC, le RPC dit: "Définissez des méthodes qui font quelque chose" alors que REST dit "définir des ressources et ils auront ces méthodes". C'est une différence subtile mais vitale, quand Compte tenu d'une URI, quiconque sait qu'ils peuvent interagir avec elle via le jeu de méthodes prédéfini et recevoir des réponses HTTP standard en retour. Donc, donné http://www.peej.co.uk/ Je sais que je peux émettre A Permettez-y et recevez quelque chose de significatif de retour. Je peux essayer de l'essayer de le changer et de recevoir un code d'erreur HTTP significatif depuis que je ne suis pas autorisé à me mêler.

47
bryantsai

Repos et SOAP ne sont pas des concepts équivalents.

DU REPOS:

  • Dépend d'un protocole de transport (HTTP).
  • Utilise pleinement les caractéristiques spécifiques de ce protocole (Verbes Obtenir, poster, mettre, supprimer, mettre en cache, en-têtes et codes d'erreur prédéfinis).
  • Ne dit rien du format des messages passés. Cependant, étant donné que le verbe HTTP et l'URL définissent déjà l'action à prendre, le corps du message ne doit donc contenir que les données.
  • La sécurité des messages est fournie par le protocole de transport (HTTPS) et est uniquement point à point. Si vous souhaitez sécuriser le message de bout en bout, vous devez le faire vous-même.
  • Initialement destiné à des opérations de crud simples sur des objets.

DU SAVON:

  • Independent du protocole de transport (pourrait être HTTP, FTP, TCP, UDP, Nommé Tipes, mémoire partagée ou même par courrier électronique).
  • Nécessite uniquement que le protocole de transport peut envoyer et recevoir du texte (par exemple sur http, seul le POST verbe est utilisé).
  • Définit strictement le format des messages passés en arrière. A SOAP Message contient les données, l'action à effectuer dessus, les en-têtes et les détails d'erreur en cas de défaillance.
  • La sécurité des messages est fournie par les normes WS-* et est de bout en bout.
  • Initialement destiné aux appels RPC arbitraires.

Les articles 2 et 3 dans les listes ci-dessus sont les principaux points d'incompatibilité.

56
Christian Hayter

L'un des objectifs de REST est une cachabilité, car la ressource doit être identifiée par l'URI (String de requête). Dans le savon, la demande est affichée, pour différentes demandes que vous avez la même URI et ainsi la ressource ne peut pas être identifiée de manière unique par UR

5
Piotr Zolnierek

Le repos se conforme à rien de plus que le protocole HTTP.

4
Pierreten

Protocole de savon: SOAP est un protocole qui signifie qu'elle a une structure définie à elle.

  1. POST: THE SOAP Demande nécessite toujours un corps HTTP, d'où la méthode HTTP est post. Plus sur les méthodes HTTP dans un futur POST (Celles-ci sont très pertinentes dans Reste), mais pour le moment suppose que ceci est toujours POST en cas de savon
  2. Action de savon: Vide signifie, intention dans la requête HTTP URI.
  3. Type de contenu: SOAP utilise XML comme langue de communication et il s'agit donc toujours de texte/xml
  4. avec l'espace de noms XML (XMLNS) est nécessaire pour indiquer qu'il s'agit d'un SOAP Demande.
  5. est la racine SOAP élément décrivant la demande et la réponse.

La conception de l'API reposante consiste à briser le système en termes de ressources et à donner accès à ces ressources via des points de terminaison (également appelés opérations) définies sur les URI de la base du service Web. L'accès est effectué à l'aide des méthodes HTTP standard et contrôlée par un mécanisme d'authentification. La configuration pour la ressource est fournie et obtenue via la demande et la réponse avec les codes d'état HTTP communiquant le statut. 1. Les ressources sont les entités qui existent dans le système rendu reposant. Par exemple, dans le cas d'un site Web de blogging, ceux-ci peuvent être les blogs, les postes et les commentaires. 2. Les points de terminaison ou les opérations fournissent un mécanisme à travers lequel ces ressources sont accessibles. Par exemple, le noeud final de répertorier tous les poteaux de blog sur un blog particulier serait un get ON/blogs/{blogid}/messages. 3. URIS de base Définissez l'emplacement de l'URI Web où les ressources sont disponibles via les points d'extrémité. Pour passer un exemple réel, pour Google Blogger, la base_uri est https://www.googleapis.com/blogger/v . 4. Les méthodes HTTP sont l'endroit où la simplicité de REST réside dans la conception de l'API reposante, les opérations sur les ressources sont effectuées via les méthodes HTTP standard, obtenez principalement, post, placez et supprimez. Autres méthodes HTTP - Options, tête, patch sont également utilisées dans certains cas.

2
somya4 jain4

Reponciful : REST est style architectural pour la construction de services Web à l'aide de protocole HTTP, où les services Web sont traités comme des ressources et certaines méthodes HTTP de base telles que GET, POST, Supprimer sont utilisés. Pour identifier une action standard sur les ressources. API Web reposant (également appelé service Web reposant) est une API Web implémentée à l'aide de HTTP et du REST Principes.

SOAP : SOAP, défini à l'origine comme protocole d'accès à un objet simple, est une spécification de protocole destinée à l'échange d'informations structurées sous forme XML.

2
Android Genius

SOAP VS REST Services Web

1) SOAP est un protocole tandis que REST est un style architectural.

2) SOAP Impossible d'utiliser REST car il s'agit d'un protocole tandis que REST peut utiliser SOAP Services Web car il s'agit d'un concept et peut utiliser n'importe quel protocole comme http, savon.

3) SOAP utilise des interfaces de services pour exposer la logique commerciale alors que REST utilise URI pour exposer la logique commerciale.

4) SOAP définit des normes strictement suivies alors REST ne définit pas trop de normes telles que le savon.

5) SOAP nécessite plus de bande passante et de ressource que REST here. REST nécessite moins de bande passante et de ressource que le savon.

6) SOAP définit sa propre sécurité pendant que des services Web reposants héritent des mesures de sécurité du transport sous-jacent.

7) SOAP Permet uniquement le format de données XML uniquement tandis que REST Permet un format de données différent tel que le texte brut, HTML, XML, JSON, etc.

Les services Web reposants sont fortement préférés sur SOAP Services Web.

1
themoonraker13