Qu'est-ce que WSDL ? Quel est le lien avec SOAP ? Où se situe REST dans tout cela?
web-services
rest
soap
wsdl
Javaguy
la source
la source
Réponses:
Un WSDL est un document XML qui décrit un service Web. Il s'agit en fait de Web Services Description Language.
SOAP est un protocole basé sur XML qui vous permet d'échanger des informations sur un protocole particulier (peut être HTTP ou SMTP, par exemple) entre les applications. Il signifie Simple Object Access Protocol et utilise XML pour son format de messagerie pour relayer les informations.
REST est un style architectural de systèmes en réseau et signifie Representational State Transfer. Ce n'est pas une norme en soi, mais utilise des normes telles que HTTP, URL, XML, etc.
la source
"A WSDL is an XML document that describes a web service. It actually stands for Web Services Definition Language."
Cela n'explique vraiment pas ce que c'est ...The current version of WSDL is WSDL 2.0. The meaning of the acronym has changed from version 1.1 where the "D" stood for "Definition".
Exemple: En termes simples si vous avez un service web de calculatrice.
WSDL: WSDL décrit les fonctions que vous pouvez implémenter ou exposées au client. Par exemple: ajouter, supprimer, soustraire et ainsi de suite.
SOAP: Lorsque vous utilisez SOAP, vous effectuez en fait des actions telles que doDelete (), doSubtract (), doAdd (). Donc SOAP et WSDL sont des pommes et des oranges. Nous ne devons pas les comparer. Ils ont tous deux leurs propres fonctionnalités.
Pourquoi nous utilisons SOAP et WSDL: pour l'échange de données indépendant de la plate-forme.
EDIT: Dans un exemple de la vie quotidienne normale:
WSDL: Lorsque nous allons dans un restaurant, nous voyons les éléments de menu, ce sont les WSDL.
Classes Proxy: Maintenant, après avoir vu les éléments du menu, nous nous décidons (Traitez notre esprit sur ce qu'il faut commander): Donc, fondamentalement, nous créons des classes Proxy basées sur le document WSDL.
SOAP: Ensuite, lorsque nous commandons réellement la nourriture en fonction du menu: ce qui signifie que nous utilisons des classes proxy pour faire appel aux méthodes de service qui sont effectuées à l'aide de SOAP. :)
la source
Chaque fois que quelqu'un mentionne SOAP / WSDL, je pense aux objets et aux classes définis en xml ...
..et chaque fois que quelqu'un parle de REST, je pense aux commandes HTTP (méthodes de requête) comme POST, GET et DELETE
la source
SOAP -> SOAP (Simple object access protocal) est le protocole de niveau application créé pour l'interaction machine à machine. Le protocole définit les règles standard. Toutes les parties qui utilisent le protocole particulier doivent adhérer aux règles du protocole. Comme TCP, il se déroule au niveau de la couche de transport. Le protocole SOAP sera compris par la couche Application (toute application prenant en charge SOAP - Axis2, .Net).
WSDL -> Le message SOAP se compose de SoapEnevelope-> SoapHeader et SoapBody. Il ne définit pas quel serait le format du message? quels sont tous les transports (HTTP, JMS) qu'il prend en charge? sans cette information, il est difficile pour tout client qui souhaite utiliser le service Web particulier de créer le message SOAP. Même s'ils le font, ils ne seront pas sûrs, cela fonctionnera tout le temps. WSDL est le sauvetage. WSDL (Web Service description Language) définit les opérations, les formats de message et les détails de transport pour le message SOAP.
REST -> REST (Representational state transfer) est basé sur le Transport. Contrairement à SOAP qui cible les actions, REST concerne davantage les ressources. REST localise les ressources en utilisant l'URL (exemple -http: // {serverAddress} / Employees / employeeNumber / 12345) et cela dépend du protocole de transport (avec HTTP - GET, POST, PUT, DELETE, ...) pour les actions à effectuer sur les ressources. Le service REST localise la ressource en fonction de l'URL et exécute l'action en fonction du verbe d'action de transport. Il est plus basé sur le style architectural et les conventions.
la source
Vous n'allez pas «simplement» comprendre quelque chose de complexe.
WSDL est un langage basé sur XML pour décrire un service Web. Il décrit les messages, les opérations et les informations de transport réseau utilisés par le service. Ces services Web utilisent généralement SOAP, mais peuvent utiliser d'autres protocoles.
Un WSDL est lisible par un programme et peut donc être utilisé pour générer tout ou partie du code client nécessaire pour appeler le service Web. C'est ce que signifie appeler les services Web basés sur SOAP "auto-descriptifs".
REST n'est pas du tout lié à WSDL.
la source
SOAP est l'acronyme de Simple (sic) Object Access Protocol. Il était destiné à être un moyen de faire des appels de procédure distante vers des objets distants en envoyant du XML via HTTP.
WSDL est le langage de description de service Web. Une demande se terminant par '.wsdl' à un point de terminaison se traduira par un message XML décrivant la demande et la réponse qu'une utilisation peut attendre. Il décrit le contrat entre le service et le client.
REST utilise HTTP pour envoyer des messages aux services.
SOAP est une spécification, REST est un style.
la source
Wikipédia dit que "Le langage de description des services Web est un langage basé sur XML qui fournit un modèle pour décrire les services Web". En d'autres termes, WSDL est à un service Web, comme javadoc est à une bibliothèque java.
La chose vraiment intéressante à propos de WSDL, cependant, est que le logiciel peut générer un client et un serveur en utilisant WSDL.
la source
REST est léger en termes de codage, beaucoup plus utile pour les appareils légers, c'est-à-dire les API non strictes.
REST est indépendant du format. XML, HTML, JSON toutes les options sont disponibles.
REST offre des capacités pour le transfert de messages sur 2 points (ce qui n'est pas surprenant puisque REST signifie REpresentational State Transfer) où l'interaction WSDL / SOAP est une interaction de message à points multiples.
REST ne nécessite pas de nouvelle extension pour les messages XML, alors qu'en WSDL / SOAP c'est le cas.
WSDL / SOAP utilise plusieurs protocoles de transport, REST repose uniquement sur HTTP. Par conséquent, WSDL / SOAP peut être utilisé comme une manière RESTful, mais les requêtes simples peuvent être trop compliquées / lourdes.
Une analogie simple: REST est comme un motoboy qui livre votre nourriture facilement et rapidement. XML étendu WSDL / SOAP plus comme la livraison UPS, des choses plus structurées et plus sérieuses, mais a un coût.
la source
Quelques explications claires (pour SOAP et WSDL) peuvent également être trouvées ici.
Différence entre un message SOAP et un WSDL?
la source
Un document WSDL décrit un service Web. Il spécifie l'emplacement du service et les méthodes du service utilisant ces éléments majeurs: les types de données utilisant dans le webservice des éléments de données pour chaque opération décrivent les opérations qui peuvent être effectuées et les messages envolés
SOAP (Simple Object Access Protocol) est un protocole de messagerie qui permet aux programmes qui s'exécutent sur des systèmes d'exploitation disparates de communiquer en utilisant http et xml.
la source