WSDL (Web Services Description Language) est un métalangage indépendant de la plate-forme et basé XML permettant de décrire les définitions d'interfaces d'un service Web. Le langage WSDL permet essentiellement de définir les fonctions du service Web accessibles depuis l'extérieur, ainsi que les paramètres et valeurs de retour de ces opérations. Le langage WSDL permet essentiellement de définir les fonctions du service Web accessibles depuis l'extérieur, ainsi que les paramètres et valeurs de retour de ces opérations. Le langage WSDL décrit le format de communication dans lequel les appels de fonction sont transmis à des services Web. En outre, l'URL sous laquelle un service Web peut être appelé est indiquée.
Pour qu'un document WSDL décrivant un service Web précis puisse être trouvé, importé et utilisé, le service Web doit d'abord être publié. La publication contient alors des informations concrètes sur l'emplacement où se situe le document WSDL descriptif.
Un document WSDL contient les informations fonctionnelles relatives :
à toutes les informations nécessaires à l'accès au service Web dans un format lisible par une machine.
Les services Web sont caractérisés par deux groupes d'éléments : les définitions abstraites et les définitions concrètes.
Les définitions concrètes, c.-à-d. les informations d'ordre implémentatoire comme le rattachement («binding») (définition du format de message et du protocole), le port (indication de l'adresse d'un point final de la communication) et le service (regroupement d'un ensemble de ports), ne jouent pour l'instant aucun rôle dans l'environnement ARIS étant donné que la modélisation et les services Web utilisés dans les modèles doivent être structurés indépendamment de la plate-forme. Les interfaces, leurs opérations et les types de messages et de données utilisés sont décrits dans le volet abstrait indépendamment d'un protocole ou d'un service.
Les éléments suivants représentent les définitions abstraites dans le langage WSDL :
Collection de définitions de types de données utilisées comme système de typage XSD (définition de schéma XML). Les types de données utilisés sont définis dans une définition de schéma XML correspondante, qui représente le système de typage standard pour la description de données. Le type de données est la définition abstraite de la structure d'une section au sein d'un document XML et, en particulier, aussi au sein d'une description WSDL d'un service Web.
Définitions abstraites et unidirectionnelles des messages transmis. Un message peut contenir le message d'entrée ou le message de sortie d'une opération. Un message se compose de plusieurs parties logiques, chacune d'entre-elles étant associée à une définition au sein d'un système de types de données.
Décrit les actions prises en charge par le service Web. Les opérations abstraites regroupent des messages.
Regroupe une certaine quantité d'actions et représente une interface. Les portTypes abstraits regroupent des opérations. Une description WSDL peut contenir plusieurs portTypes.
Le partnerLinkType déclare la manière d'interaction de chacun des deux partenaires dans une conversation et ce que chaque partenaire propose.
Un rattachement («binding») définit le protocole concret et les formats de données pour les opérations et les messages déterminés par un portType donné.
Un port spécifie l'adresse (normalement une URL) d'un rattachement. Les services agrègent un ensemble de ports similaires.