Open Source im professionellen Einsatz

SOAP tauscht Anfragen aus

Steuerdaten sind beispielsweise Kontextinformationen, um eine Nachricht zu verarbeiten. Die Trennung hat den Vorteil, dass ein Programm nicht immer die gesamte Nachricht betrachten muss. Auch bei einem realen Briefumschlag reicht es dem Briefträger, auf das Adressfeld zu schauen, um ihn korrekt zuzustellen.

Webservices reicht es nicht, einen Mechanismus zum Austausch von Nachrichten zu haben. Eine einheitliche Form, um Schnittstellen zu beschreiben ist ebenfalls Teil des Konzeptes. Diese legen Entwickler in einer XML-Datei ab, die dem WSDL-Standard (Web Service Description Language) folgt [5]. WSDL beschreibt die aufrufbaren Operationen und die Datentypen einer Schnittstelle (siehe Abbildung 3).

Abbildung 3: Eine WSDL-Datei beschreibt viele Aspekte einer Schnittstelle. Damit greifen Clients ohne sonstiges Wissen auf den Webservice zu.

Abbildung 3: Eine WSDL-Datei beschreibt viele Aspekte einer Schnittstelle. Damit greifen Clients ohne sonstiges Wissen auf den Webservice zu.

Weiter legt sie mögliche Kommunikationsprotokolle und die Adresse des Service fest. Oft verwenden Anwendungen HTTP als Protokoll, die Adresse ist dann ein URL. Diese Informationen benötigen Entwickler, um Client und Server zu entwerfen. WSDL definiert die Aspekte Typen, Nachrichten, Porttypen, Verbindungen, Ports und Dienste, die Tabelle 1 näher erläutert.

Tabelle 1: Aufbau von
WSDL

Dienste inserieren in WSDL

Mit einem Encoding-Stil bestimmt WSDL, wie der Webservice Datentypen in den SOAP-Nachrichten abbilden soll. Der Entwickler hat dabei mehrere Alternativen: Der Stil »document-literal« bietet aktuell die beste Kompatibilität und hat sich gegen früher verwendete Stile wie »rpc-encoded« durchgesetzt.

In der Theorie reicht es also für einen Webservice, Client und Server zu implementieren und die Schnittstelle mit einer WSDL-Datei zu beschreiben, sodass die beiden SOAP-Nachrichten per HTTP austauschen. Die WSDL-Beschreibung lässt sich sogar halbautomatisch mit Werkzeugen aus dem Quellcode erzeugen. Einige Hürden sind jedoch in der Praxis noch zu überwinden.

Insgesamt gibt es über 70 Standards in unterschiedlichen Versionen, die sich mit Aspekten wie Sicherheit, Nachrichtenübermittlung oder Verlässlichkeit von Webservices befassen. Unterschiedlichen Gremien und Firmenkonsortien haben sie ins Leben gerufen. Zusätzlich überlappen sie oder sind redundant.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook