Web Services Description Language

Aus Mikiwiki
Version vom 7. Februar 2010, 16:52 Uhr von Michi (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

Die Web Services Description Language / WSDL definiert eine plattform-, programmiersprachen- und protokollunabhängige XML-Spezifikation zur Beschreibung von Webservices zum Austausch von Nachrichten.

Die WSDL wird benutzt, um die Struktur eines Webservice zu beschreiben, also die verfügbaren Funktionen, deren Parameter und die Art und Weise der Anforderungsgestaltung. Damit ist auch der Dienst selber automatisierbar, denn der anfragende Server kann seine Anfrage entsprechend dem aktuellen Entwicklungsstand des Dienstes verändern. Insofern sind die Kommunikationswege über eine gewisse zeit hinweg änderungsresistent oder wenigstens wartungsfreundlich.

Die folgende Auflistung zeigt in vereinfachter die grundsätzliche Struktur und die Abhängigkeiten der Elemente in einem WSDL-Dokument.

<definition>
  <service>
    <port name="Name" binding="Binding">
  </service>
  <binding>
    <input />
    <output />
  </binding>
  <portType>
    <operation>
      <input  message="Message" />
      <output message="Message" />
    </operation>
  </portType>
  <message>
    <part name="Key" type="xsd:">
    <part name="Key" type="xsd:">
  </message>
  <types>
    <xsd:complexType>
      <xsd:element name="" type="" />
    </xsd:complexType>
  </types>
</definitions>

Der Anbieter eines Dienstes definiert also zuerst ein Element "<service>", das die Grunddienste deklariert. Erreichbar sind diese jeweils über Ports, die Bindungen beschreiben die geforderte Kodierung des Datenstromes. Auf die Portdefinition folgt die Beschreibung einer oder mehrerer Operationen, die jeweils eine Ein- und Ausgabenachricht ("<Message>") definieren. Die Nachrichten können mehrere Paarameter aifnehmen, die auf nativen XSD-Datentypen basieren oder denen komplexe Definitionen zugrundeliegen. Ist das der Fall, so kommt noch der Abschnitt "<types>" zur Anwendung, wo XML Schema-Typdefinitionen untergebracht sind.

Diese Struktur lässt sich gut in einer Klasse abbilden, die dann im Programm verwendet wird. Eine solche Klasse wird als Proxy-Klasse bezeichnet. Die SOAP-Erweiterungen in PHP5 erledigen das zumindest teilweise automatisch.

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen
country US.gif Wordl Wide Web Consortium eng Web Services Description Language (WSDL) 1.1wbm
country DE.gif Wikipedia ger Web Services Description Languagewbm Enzyklopädischer Artikel