Web Services Description Language: Unterschied zwischen den Versionen

Aus Mikiwiki
Wechseln zu: Navigation, Suche
(Weblinks)
(Weblinks)
Zeile 40: Zeile 40:
 
== Weblinks ==
 
== Weblinks ==
  
{{Weblinks|{{url|US|Wordl Wide Web Consortium|eng|http://www.w3.org/TR/wsdl/|Web Services Description Language (WSDL) 1.1}}
+
{{Weblinks|{{url|US|Wordl Wide Web Consortium|eng|http://www.w3.org/TR/wsdl|Web Services Description Language (WSDL) 1.1}}
 
{{url_dewikipedia|Web_Services_Description_Language|Web Services Description Language}}
 
{{url_dewikipedia|Web_Services_Description_Language|Web Services Description Language}}
 
}}
 
}}

Version vom 12. März 2009, 20:34 Uhr

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