Savon/Repos Api. C'est un problème depuis un moment maintenant. Et vraiment, ce ne sont que deux réponses à la même question : comment accéder au Web ? services.
Mais choisir l'un plutôt que l'autre peut être étonnamment difficile.
SOAP (Simple Object Access Protocol) est un protocole Web basé sur des normes protocole d'accès aux services qui existe depuis longtemps. Développé à l'origine par Microsoft, SOAP n'est pas aussi simple que l'acronyme suggérerais.
REST (Representational State Transfer) est une autre norme, créée en réponse aux lacunes de SOAP. Il cherche à résoudre les problèmes avec SOAP et fournir une méthode plus simple d'accès aux services Web.
Qu'en est-il de GraphQL ?
Bien sûr, GraphQL a récemment fait sensation, dont nous avons parlé
longuement dans d'autres articles. Mais ce n'est toujours pas aussi standardisé que
REST et SOAP, donc dans cet article, nous allons nous concentrer sur ces
deux.
SOAP et REST ont des problèmes à prendre en compte lors du choix du protocole à utiliser.
Les similarités
Bien que SOAP et REST partagent des similitudes sur le protocole HTTP, SOAP
est un ensemble de modèles de messagerie plus rigide que REST. Les règles de SOAP
sont importants car nous ne pouvons atteindre aucun niveau de standardisation
sans eux. REST en tant que style d'architecture ne nécessite pas de traitement
et est naturellement plus flexible. SOAP et REST reposent sur
des règles bien établies que chacun s'est engagé à respecter dans la
l'intérêt d'échanger des informations.
Un aperçu rapide de SOAP
SOAP s'appuie exclusivement sur XML pour fournir des services de messagerie. Microsoft a initialement développé SOAP pour remplacer les anciens technologies qui ne fonctionnent pas bien sur Internet, comme le Modèle d'objet de composant distribué (DCOM) et demande d'objet commun Architecture de courtage (CORBA). Ces technologies échouent parce qu'elles reposent sur sur la messagerie binaire. La messagerie XML utilisée par SOAP fonctionne mieux sur Internet.
Après une première version, Microsoft a soumis SOAP à Internet Engineering Task Force (IETF) où il a été normalisé. Le savon est conçu pour soutenir l'expansion, il a donc toutes sortes d'autres acronymes et les abréviations qui lui sont associées, telles que WS-Addressing, WS-Policy, WS-Security, WS-Federation, WS-ReliableMessaging, WS-Coordination, WS-AtomicTransaction et WS-RemotePortlets. En fait, vous pouvez trouver un liste complète de ces normes sur les normes de services Web.
Le fait est que SOAP est hautement extensible, mais vous n'utilisez que le
pièces dont vous avez besoin pour une tâche particulière. Par exemple, lors de l'utilisation d'un
service Web accessible gratuitement à tous, vous n'avez vraiment pas
besoin de WS-Security.
La difficulté dépend du langage de programmation
Le XML utilisé pour faire des requêtes et recevoir des réponses dans SOAP peut devenir
extrêmement complexe. Dans certains langages de programmation, vous devez créer
ces requêtes manuellement, ce qui devient problématique car SOAP est
intolérant aux erreurs. Cependant, d'autres langues peuvent utiliser des raccourcis qui
SOAP fournit. Ils peuvent vous aider à réduire l'effort requis pour créer
la requête et d'analyser la réponse. En fait, lorsque vous travaillez avec .NET
langages, vous ne voyez même jamais le XML.
Une partie de la magie réside dans le langage de description des services Web (WSDL).
Ceci est un autre fichier associé à SOAP. Il fournit une
définition du fonctionnement du service Web, de sorte que lorsque vous créez un
référence à celui-ci, l'IDE peut automatiser complètement le processus. Alors le
La difficulté d'utilisation de SOAP dépend dans une large mesure de la langue que vous utilisez.
utiliser.
Gestion des erreurs intégrée
L'une des fonctionnalités SOAP les plus importantes est la gestion intégrée des erreurs. Si
il y a un problème avec votre demande, la réponse contient une erreur
informations que vous pouvez utiliser pour résoudre le problème. Étant donné que vous pourriez
ne pas posséder le service Web, cette fonctionnalité particulière est extrêmement importante ;
sinon, vous seriez laissé deviner pourquoi les choses n'ont pas fonctionné. Le
le rapport d'erreur fournit même des codes standardisés afin qu'il soit possible
pour automatiser certaines tâches de gestion des erreurs dans votre code.
Une fonctionnalité SOAP intéressante est que vous n'êtes pas nécessairement obligé de l'utiliser avec le transport HTTP. Il existe une spécification réelle pour l'utilisation de SOAP sur le protocole de transfert de courrier simple (SMTP) et il n'y a aucune raison pour que vous ne puissiez pas l'utiliser sur d'autres les transports. En fait, les développeurs de certains langages, tels que Python et PHP, font exactement cela.
Formulaire de demande