WSDL (Web Services Description Language) ist eine XML-basierte, plattformunabhängige Metasprache, mit deren Hilfe die Schnittstellen-Definitionen eines Web-Service beschrieben werden. In WSDL werden im Wesentlichen die Funktionen des Web-Services definiert, die von außen zugänglich sind, sowie die Parameter und Rückgabewerte dieser Operationen. In WSDL werden im Wesentlichen die Funktionen des Web-Services definiert, die von außen zugänglich sind, sowie die Parameter und Rückgabewerte dieser Operationen. WSDL beschreibt das Kommunikationsformat, in dem Funktionsaufrufe an Web-Services gesendet werden. Darüber hinaus wird die URL angegeben, unter der ein Web-Service aufgerufen werden kann.
Damit ein WSDL-Dokument, das einen bestimmten Web-Service beschreibt, gefunden, importiert und benutzt werden kann, muss der Web-Service zunächst veröffentlicht werden. Die Veröffentlichung enthält dann die konkreten Angaben über den Fundort des beschreibenden WSDL-Dokuments.
Im Einzelnen beinhaltet ein WSDL-Dokument funktionelle Angaben zu:
allen notwendigen Informationen für den Zugriff auf den Web-Service in maschinenlesbarem Format
Web-Services werden durch zwei Gruppen von Elementen gekennzeichnet, den abstrakten und den konkreten Definitionen.
Die konkreten Definitionen, d. h. die implementierungsspezifischen Informationen wie Binding (Definition von Nachrichtenformat und Protokoll), Port (Angabe der Adresse eines Kommunikationsendpunkts) und Service (Zusammenfassung von Ports) spielen momentan im ARIS-Umfeld keine Rolle, da die Modellierung und die in den Modellen verwendeten Web-Services plattformunabhängig gestaltet werden sollen. Im abstrakten Teil werden unabhängig von einem Protokoll oder Service die Interfaces, ihre Operationen und verwendeten Message- und Datentypen beschrieben.
Folgende Elemente repräsentieren die abstrakten Definitionen in WSDL:
Sammlung von Datentypdefinitionen, die als Typensystem XSD (XML-Schema-Definition) benutzt werden. Die verwendeten Datentypen werden in einer zugehörigen XML-Schema-Definition definiert, dem Standardtypensystem zur Beschreibung von Daten. Als Datentyp bezeichnet man jeweils die abstrakte Definition der Struktur eines Abschnitts innerhalb eines XML-Dokumentes, als insbesondere auch einer WSDL-Beschreibung eines Web-Services.
Abstrakte, unidirektionale Definitionen der übertragenen Nachrichten. Eine Nachricht kann den Input oder Output einer Operation beinhalten. Nachrichten bestehen aus mehreren logischen Teilen, von denen jedes mit einer Definition innerhalb eines Datentypsystems verknüpft ist.
Beschreibt Aktionen, die der Web-Service unterstützt. Abstrakte Operationen fassen Nachrichten zusammen.
Umfasst eine Menge von Aktionen und repräsentiert ein Interface. Abstrakte PortTypes fassen Operationen zusammen. Eine WSDL-Beschreibung kann mehrere PortTypes enthalten.
Ein PartnerLinkType deklariert, wie zwei Kommunikationsparteien miteinander interagieren und was jede Partei anbietet.
Ein Binding definiert das konkrete Protokoll und die Datenformate für Operationen und Nachrichten, die durch einen bestimmten PortType gegeben sind.
Ein Port spezifiziert die Adresse (normalerweise eine URI) für ein Binding. Services fassen verwandte Ports zusammen.