Die Automatisierung von Prozessen ist gegenwärtig von wachsendem Interesse. Auch bei der Kommunikation zwischen Computern untereinander wird diese angestrebt. Dazu ist es erforderlich, Standards zu veröffentlichen, welche die Kommunikation ohne Eingreifen von Menschen ermöglichen. Die Umsetzung dieser Standards erfolgt beispielsweise bei Web Services.
Die Web Service-Technologie stellt eine Implementierung der Service-orientierten Architektur im Bereich des Internets dar. Die SOA ist darauf ausgelegt, bereits vorhandene Strukturen neu zu arrangieren.
Da erfahrungsgemäß ein Web Service allein nicht die volle Funktionalität einer Anwendung zur Verfügung stellen kann, müssen verschiedene Dienste miteinander kombiniert werden. Der Vorgang, unterschiedliche Dienste zu einem komplexeren Service zusammenzufassen, wird als Orchestrierung bezeichnet.

Um eine erfolgreiche Orchestrierung zu gewährleisten, ist es notwendig, dass Services mit entsprechenden Funktionalitäten zur Verfügung stehen und dass diese die notwendigen Standards unterstützen. Abhängig von der Problematik können Dienste dann zusammengestellt werden.

Im Rahmen der Diplomarbeit soll untersucht werden, wie die Orchestrierung von Web Services realisiert werden kann. Mit geeigneter Software soll beispielhaft eine Anwendung implementiert werden. Darüber hinaus sollen Möglichkeiten, wie speziell OGC Web Services bei der Orchestrierung berücksichtigt werden können, dargestellt werden.

Als typische Aufgaben der Geoinformation werden die Überlagerung von Karten, Pufferbildungen sowie die Verschneidung von Geometrien betrachtet. Auf Grund der weiten Verbreitung des Web Map Services soll in der Arbeit die Karten- überlagerung als Beispielanwendung umgesetzt werden. Ziel der Arbeit ist es, eine Aussage über die Möglichkeiten und den Nutzen der Orchestrierung im Bereich der Vermessung und Geoinformation zu treffen.



Service-orientierte Architektur


"Unter einer SOA versteht man eine Systemarchitektur, die vielfältige, verschiedene und eventuell inkompatible Methoden und Applikationen als wiederverwendbare und offen zugreifbare Dienste repräsentiert und dadurch eine plattform- und sprachenunabhängige Nutzung und Wiederverwendung ermöglicht."
(zit. [*])

Bei einer SOA wird von einem Unternehmen nur noch der Prozessablauf modelliert. Dabei werden meist Dienste integriert, die von Partnern bereitgestellt werden. Die Applikationen können beliebig ausgetauscht und in anderen Anwendungen wiederverwendet werden. Bei der Service-orientierten Architektur wird eine größere Unabhängigkeit zwischen den einzelnen Anwendungen angestrebt. Das Fundament der SOA bilden Standards, welche die Kommunikation des Nutzers mit den Diensten und der Dienste untereinander ermöglichen.



Orchestrierung


In der Service-orientierten Architektur wird der Begriff Orchestrierung verwendet, um die Komposition von Web Services zu beschreiben.

Der Begriff der Orchestrierung entstand zunächst im Bereich der Informatinstechnik (IT). Später wurde das Konzept auch auf Web Services angewendet. In der IT bezeichnet die Orchestrierung ein Verfahren zur Kombination einzelner Anwendungen. Dabei werden die unterschiedlichen Prozesse wiederum zu einem größeren zusammengefasst. Die Steuerung des Prozesses erfolgt durch eine übergeordnete Instanz.
In Analogie dazu stellt die Orchestrierung im Zusammenhang mit Web Services ebenfalls eine Kombination verschiedener Dienste zur Realisierung von Geschäftsprozessen dar. Hier wird die Abfolge der Services festgelegt. Dabei werden die Bedingungen zum Aufruf und die Abhängigkeiten der Services untereinander bestimmt. Zusätzlich werden Alternativen beschrieben. Die einzelnen Dienste werden zu einer größeren Einheit zusammengefasst, die wieder einen Web Service darstellt.

Um Web Services orchestrieren zu können, müssen die einzelnen Services wiederverwendbare und austauschbare Einheiten darstellen. Nur so ist gewährleistet, dass ein einzelnes Modul im orchestrierten Prozess schnell und problemlos durch einen anderen Web Service ersetzt werden kann.



Standards


Für die Orchestrierung von Web Services ist es erforderlich, dass diese die notwendigen Standards WSDL und SOAP unterstützen. Die Beschreibung des orchestrierten Prozesses erfolgt mit der standardisierten Sprache BPEL. Folgend werden die einzelnen Standards vorgestellt.



WSDL

Die Web Service Description Language ist eine XML-basierte Sprache, um Web Services standardisiert beschreiben zu können. Diese Beschreibung enthält alle Informationen, die zum Aufruf eines Web Service nötig sind. Das bedeutet, dass sowohl die Schnittstelle des Services, also alle Nachrichten, die versendet werden, die Datentypen und die Operationen, als auch die konkrete Adresse des Services enthalten sein müssen. Wenn alle diese Informationen in einer WSDL-Datei vorhanden sind, ist es möglich, Client-Anwendungen mittels der WSDL zu automatisieren.


Die WSDL-Spezifikation des W3C liegt aktuell in der Version 2.0 vor.
Nähere Informationen sind unter http://www.w3.org/TR/wsdl zu finden.



SOAP

SOAP ist ein Protokoll für den Nachrichtenaustausch und mittlerweile das wichtigste Kommunikationsprotokoll im Web Service-Umfeld. SOAP ist kein Transportprotokoll. Es greift auf beliebige Protokolle, die Nachrichten im XML-Format übertragen, zurück.

Ursprünglich wurde SOAP von IBM, Microsoft und DevelopMentor entwickelt. Mittlerweile wird die Weiterentwicklung auf Grund der zunehmenden Wichtigkeit von SOAP vom W3C betrieben und überwacht. Im Moment liegt eine SOAP Spezifikation für die Version 1.2 vor, es wird aber vorrangig immer noch die Version 1.1 bei Web Services verwendet. Die Spezifikation des W3C beschreibt in erster Linie das Format und den Aufbau der mittels SOAP zwischen einem Service-Nutzer und dem Service-Anbieter ausgetauschten Nachrichten.


Nähere Informationen sind unter http://www.w3.org/TR/soap zu finden.



BPEL

WS-BPEL steht für Web Service Business Process Execution Language. Es ist eine XML-basierte Sprache zur Beschreibung von Geschäftsprozessen und wird bei der Orchestrierung von Web Services eingesetzt. Früher war WS-BPEL unter dem Namen BPEL4WS (BPEL for Web Services) bekannt.

BPEL wurde 2002 von IBM, BEA Systems und Microsoft ins Leben gerufen. Im April 2003 übergaben diese BPEL zur Standardisierung an OASIS, die "Organization for the Advancement of Structured Information Standards". Im April 2007 war mit "Web Service Business Process Execution Language Version 2.0" die Standardisierung abgeschlossen.


Nähere Informationen sind unter http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.html zu finden.



UDDI

UDDI steht für Universal Description, Discovery and Integration und stellt von OASIS standardisierte Verzeichnisdienste dar. Hier können Services registriert werden, indem Anbieter eine Beschreibung ihres Dienstes in Form der WSDL in das Verzeichnis stellen. Nutzer können diese Dienste dort finden und die WSDL anfordern. 2005 endete die Unterstützung von UDDI durch die IT-Unternehmen IBM, Microsoft und SAP. Dadurch hat UDDI an Bedeutung verloren.


Nähere Informationen sind unter http://www.oasis-open.org/committees/uddi-spec/doc/spec/v3/uddi-v3.0.2-20041019.htm zu finden.