FU Berlin

<xmlcity:berlin>

Bundesministerium für Bildung und Forschung

Wachstumskerne

   
   
 

> Über das XML Clearinghouse
> Ansprechpartner
 

XML in Berlin und Brandenburg
> Firmen
> Forschungsvorhaben
> Lehrveranstaltungen
> Stellenangebote
 

Veranstaltungen des XML Clearinghouses
> XML Kolloquium
> Workshops
> Konferenzen
> Infotage
 

XML im deutsch-sprachigen Raum
> XML Veranstaltungen
> Standards und Entwicklungen
> Fördermöglichkeiten
> XML Reports
 

XML News
> Deutschsprachig
> Englischsprachig
> Semantic Web
> E-Business
> News einstellen
 

Online-Zertifikate
> XML-Grundlagen
> Electronic Business
> Semantic Web
 

Testlabor
> Ontology Reviewing System
 
 
 

Web Services Description Language (WSDL)

Status: W3C Note vom 15.03.2001
Version: 1.1
Homepage: http://www.w3.org/TR/wsdl
Verfasser: W3C

Status: W3C Working Draft vom 09.07.2002
Version: 1.2
Homepage: http://www.w3.org/TR/2002/WD-wsdl12-20020709/
Verfasser: W3C

Unter einem Web Service (auch: webbasierten Service) versteht man eine eigenständige, selbstbeschreibende und modulare Software Applikation, die im Internet veröffentlicht, lokalisiert und aufgerufen werden kann. Die Funktionalität eines Web Service kann von einfachen Anwendungen bis hin zu komplexen Business Prozessen reichen. Die Beschreibung des Web Services und seine Kommunikation erfolgt mit Hilfe von XML-Vokabularen.

Die Web Service Decription Language (WSDL) ist ein XML-Vokabular, mit dem man Web Services, ihren Ort und ihre Methoden beschreiben kann. Die Beschreibung des Web Services ist unabhängig von der Implementierungssprache der Applikation und beschreibt zum einen das Interface des Services und zum anderen die Bindung dieses Interfaces an ein konkretes Protokoll. Somit kann ein Nutzer den Web Service aufrufen, ohne Implementierungsdetails wissen zu müssen.

Die Methoden des Services werden durch die eingehenden (input) und ausgehenden (output) Nachrichen charakterisiert. Die dabei benutzten Datentypen und -strukturen werden mit Hilfe eines XML-Schemas beschrieben, wobei man sowohl die vordefinierten Datentypen als auch eigene Typen benutzen kann.
In WSDL trennt man die abstrakten Definitionen der Interfaces (port types) mit den Methoden (operations) und Nachrichten (messages) des Dienstes von ihrer konkreten Beschreibung, wodurch die abstrakten Definitionen wiederverwendet werden können.
Eine konkrete Bindung an ein Netzwerkprotokoll erfolgt dann im ebenfalls wiederverwendbaren binding-Element. Hier werden Informationen über die Kodierung und die physische Präsentation der Daten festgelegt. Ein Web Service muss nicht zwingend mit SOAP zusammenarbeiten, es werden auch andere Protokolle wie zum Beispiel HTTP GET/POST und SMTP unterstützt.
Im service-Element werden port-Elemente zusammengefasst, welche die Bindings mit konkreten Netzadressen in Form von URIs verbinden (ein Service kann über mehrere Ports erreichbar sein).

Quellenangabe:

Beispiel eines WSDL-Dokumentes
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="StockQuote" 
                    targetNamespace="http://example.com/stockquote/definitions" 
                    xmlns:tns="http://example.com/stockquote/definitions" 
                    xmlns:xsd1="http://example.com/stockquote/schemas" 
                    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
                    xmlns="http://schemas.xmlsoap.org/wsdl/">

    <!-- Import der selbstdefinierten Datentypen -->
    <import namespace="http://example.com/stockquote/schemas" 
                location="http://example.com/stockquote/stockquote.xsd"/>
    
    <!-- abstrakte Definition der Nachrichten (Request und Response)-->
    <message name="GetLastTradePriceInput">
        <part name="body" element="xsd1:TradePriceRequest"/>
    </message>
    <message name="GetLastTradePriceOutput">
        <part name="body" element="xsd1:TradePrice"/>
    </message>
    
    <!-- abstrakte Definition des Interfaces, welches hier aus einer Methode mit einer 
            eingehenden und einer ausgehenden Nachricht besteht -->
    <portType name="StockQuotePortType">
        <operation name="GetLastTradePrice">
            <input message="tns:GetLastTradePriceInput"/>
            <output message="tns:GetLastTradePriceOutput"/>
        </operation>
    </portType>
    
    <!-- Bindung an das SOAP-Protokoll -->
    <binding name="StockQuoteSoapBinding" type="defs:StockQuotePortType">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="GetLastTradePrice">
            <soap:operation soapAction="http://example.com/GetLastTradePrice"/>
            <input>
                <soap:body use="literal"/>
            </input>
            <output>
                <soap:body use="literal"/>
            </output>
        </operation>
    </binding>
    
    <!-- Bindung des Services an einen Port (URI) -->
    <service name="StockQuoteService">
        <documentation>My first service</documentation>
        <!-- über welche(n) Port(s) ist der Service erreichbar ? -->
        <port name="StockQuotePort" binding="tns:StockQuoteBinding">
            <soap:address location="http://example.com/stockquote"/>
        </port>
    </service>
</definitions>


Dieses Beispiel wurde der W3C Note zu WSDL entnommen, kommentiert und leicht modifiziert.
        


 
         
       
 
  Seite zuletzt geändert am: 11-Apr-2006 11:11:43
Webadmin: wwwadmin@xml-Clearinghouse.de
© XML Clearinghouse   Impressum
Haftungsausschluss