In der Welt des Internet entwickeln sich Web Services immer mehr zum Standard bei der Kommunikation von heterogenen Systemen. Hierbei steht weniger die Vernetzung von Hardware oder die Vernetzung von Software im Vordergrund als vielmehr die Vernetzung von Diensten (vgl. [WI04]). Webservices1 sind der Standard, um dies über Unternehmensgrenzen hinweg umzusetzen. Allerdings realisieren Webservices keine lang-andauernden Kommunikationsbeziehungen von verschiedenen Teilnehmern. Eine mögliche Lösung bieten hier so genannte Workflow Languages. Auf BPEL4WS, einen Vertreter einer solchen Sprache, der auf Webservices basiert, soll in dieser Arbeit beschreibend eingegangen werden. Ziel ist es, herauszustellen welche Möglichkeiten BPEL4WS bietet, um einen Geschäftsprozess2 auf Basis von Webservices zu definieren. Fokus von BPEL4WS ist primär das Erstellen und die Ausführung von Geschäftsprozessen, nicht jedoch die Modellierung, die in ganzheitlichen Konzepten des Geschäftsprozessmanagements Schwerpunkt ist. Die Relevanz des Konzepts wird weiterhin auch dadurch deutlich, dass z.B. ARIS mittlerweile Schnittstellen zu BPEL4WS anbietet. Nach einer Einordnung und einer Beschreibung von BPEL4WS, auch anhand von einem Beispiel, folgen eine kurze Erläuterung zu Tools für den Einsatz der Sprache, sowie eine kritische Auseinandersetzung mit BPEL4WS, bevor das Kapitel „Zusammenfassung und Ausblick“ diese Arbeit schließt.
Inhaltsverzeichnis
1 Einleitung und Aufgabenstellung
2 BPEL4WS - eine Einordnung
2.1 Webservice Composition
2.2 Entstehung von BPEL4WS
3 BPEL4WS
3.1 Konzepte
3.2 Definition des Prozesses
3.3 Servicebeschreibung
3.4 Prozessbeschreibung
3.4.1 Primitive Aktivitäten
3.4.2 Strukturierte Aktivitäten
3.5 Beispiel eines Prozesses „Reise Buchen“
3.6 Tools für die Entwicklung/Abwicklung eines Prozesses
3.6.1 IBM BPWS4J
3.6.2 Microsoft BizTalk Server 2004
3.6.3 Oracle BPEL Process Manager
3.7 Kritik, Stärken, Schwächen
3.7.1 Beurteilung in Bezug zu den Erfordernissen eines Workflows
3.7.2 Grenzen von BPEL4WS in der Praxis
4 Zusammenfassung und Ausblick
II. Abbildungsverzeichnis
Abbildung 1: Webservice Technologien
Abbildung 2: Prozess "Reise Buchen"
Abbildung 2: Code-Beispiel "Reise Buchen"
III. Tabellenverzeichnis
Tabelle1: Konstrukte der Servicebeschreibung
Tabelle2: Konstrukte der Prozessbeschreibung
Tabelle3: Primitive Aktivitäten
Tabelle4: Strukturierende Aktivitäten
IV. Abkürzungsverzeichnis
Abbildung in dieser Leseprobe nicht enthalten
1 Einleitung und Aufgabenstellung
In der Welt des Internet entwickeln sich Web Services immer mehr zum Standard bei der Kommunikation von heterogenen Systemen. Hierbei steht weniger die Vernetzung von Hardware oder die Vernetzung von Software im Vordergrund als vielmehr die Vernetzung von Diensten (vgl. [WI04]). Webservices[1] sind der Standard, um dies über Unternehmensgrenzen hinweg umzusetzen. Allerdings realisieren Webservices keine lang-andauernden Kommunikationsbeziehungen von verschiedenen Teilnehmern. Eine mögliche Lösung bieten hier so genannte Workflow Languages. Auf BPEL4WS, einen Vertreter einer solchen Sprache, der auf Webservices basiert, soll in dieser Arbeit beschreibend eingegangen werden. Ziel ist es, herauszustellen welche Möglichkeiten BPEL4WS bietet, um einen Geschäftsprozess[2] auf Basis von Webservices zu definieren. Fokus von BPEL4WS ist primär das Erstellen und die Ausführung von Geschäftsprozessen, nicht jedoch die Modellierung, die in ganzheitlichen Konzepten des Geschäftsprozessmanagements Schwerpunkt ist. Die Relevanz des Konzepts wird weiterhin auch dadurch deutlich, dass z.B. ARIS mittlerweile Schnittstellen zu BPEL4WS anbietet. Nach einer Einordnung und einer Beschreibung von BPEL4WS, auch anhand von einem Beispiel, folgen eine kurze Erläuterung zu Tools für den Einsatz der Sprache, sowie eine kritische Auseinandersetzung mit BPEL4WS, bevor das Kapitel „Zusammenfassung und Ausblick“ diese Arbeit schließt.
2 BPEL4WS - eine Einordnung
2.1 Webservice Composition
Ein möglicher Schritt in Richtung Automatisierung von Geschäftsprozessen stellt das Vernetzen von Webservices dar. Bisher war es nicht möglich, auf Basis von Webservices komplexe Geschäftsprozesse über Unternehmensgrenzen hinweg zu modellieren. Eine Geschäftsprozesslogik konnte allenfalls auf der Applikationsschicht implementiert werden. Aus Anlass, die Definition des Geschäftsprozesses von der eigentlichen Anwendung zu trennen, gibt es das Bestreben, diese Logik direkt auf der Webservice Ebene zu realisieren. Van der Aalst schreibt: „Business interactions require long-running interactions that are driven by an explicit process model.” (vgl.[aalst1], Seite 1)
Das Konzept der Webservices ermöglicht zwar eine Kopplung von Anwendungen über große Entfernungen, jedoch keine Vorschrift für eine Kette von Transaktionen, die nötig ist um einen Geschäftsprozess durch einen Workflow abzubilden.
Dieses Prozessmodell kann durch eine Webservice Composition Language implementiert werden. Dabei werden existierende Webservices logisch so verknüpft, dass sie für den Nutzer des Prozesses wie ein einzelner Webservice fungieren. Synonyme sind Web Services Flow Languages, Web Services Execution Languages, Web Services Orchestration Languages, und Web-enabled Workflow Languages (vgl. [aalst1], Seite 2).
Beispiele für derartige Sprachen sind BPEL4WS, WSFL, XLANG, WSCI, und BPML. Zur Einordnung der Composition Languages in den Zusammenhang mit Webservices verwendet van der Aalst folgende Abbildung:
Abbildung in dieser Leseprobe nicht enthalten
Wie angedeutet, gibt es eine Reihe von Composition Languages. Die genannten Standards sind sich in ihrem Funktionsumfang sehr ähnlich. Zudem basieren alle auf XML um eine einfache Integration der Webservices zu gewährleisten.
Webservice Composition Languages haben also zum Ziel, Geschäftsprozesse abzubilden. Dabei stellen diese die Mittel bereit, um ein geeignetes Prozess Modell zu definieren.
Wie in Abb. 1 ersichtlich, setzen die Composition Languages direkt auf den Webservices auf. Webservices sind ihrerseits zusammengesetzt aus sog. Ports, die Operationen bereitstellen. Operationen sind z.B. das Empfangen oder Senden von Nachrichten. Bei der Abbildung eines ganzen Geschäftsprozesses müssen also Strukturen geschaffen werden, die dazu da sind, eine große Menge von Operationen adäquat anzuordnen.
2.2 Entstehung von BPEL4WS
Einen Vertreter der oben genannten Composition Languages stellt BPEL4WS dar. Im Folgenden werden die Begriffe BPEL4WS und BPEL synonym verwendet, da in der Literatur keine Differenzierung vorgenommen wird.
BPEL4WS wurde von Microsoft, IBM, Siebel, Bea und SAP als eine Aggregation und eine Weiterentwicklung der beiden Sprachen XLANG und WSFL vorgestellt. Momentan liegt eine Version von BPEL4WS in der Version 1.1 vor, die im Mai 2003 spezifiziert wurde (vgl. [spez]).
XLANG ist eine Entwicklung von Microsoft, während IBM mit WSFL ein eigenes Konzept zur Webservice Composition hatte. Während WSFL eine Graph-orientierte Sprache darstellt, verwendet XLANG eine Block-Strukturierte Notation. XLANG verfügt im Gegensatz zu WSFL über Konzepte der Fehlerbehandlung.
Im Falle von BPEL4WS haben beide Firmen zusammengearbeitet, mit dem Ziel, die Vorteile beider Sprachen in einer Sprache zu integrieren (vgl. [ibm]). Dadurch profitiert BPEL4WS, als sehr neue Sprache, von Forschungs- und Entwicklungsarbeit für XLANG und WSFL, die über zehn Jahre angedauert hat. Derweil sind die Erwartungen an BPEL4WS hoch: BPEL4WS hat das Zeug sich zum Standard auf dem Gebiet der Beschreibung von Geschäftsprozessen auf Basis von Webservices zu entwickeln (vgl. [IX], Seite 1).
Hintergründig war es von IBM und Microsoft sicherlich ein Ziel, durch das Zusammenlegen ihrer beiden Lösungsansätze für Webservice Composition, eine bessere Perspektive zur Durchsetzung am Markt zu erlangen. Dies wird jedoch nicht allein dadurch erreicht, dass zwei der größten Softwarehersteller der Welt sich auf ein Konzept einigen. Darüber hinaus muss das neue Konzept BPEL4WS auch messbare Vorteile gegenüber anderen Sprachen wie WSCI oder BPML besitzen.
Oracle, selbst Hersteller eines BPEL Tools, beschreibt das Ziel von BPEL als eine Bereitstellung eines umfassenderen und zugleich einfacheren Standards im Hinblick der Realisierung technischer Erfordernisse, wie z.B. synchroner und asynchroner Nachrichtenaustausch, Datenmanipulation, Ausnahmebehandlung, Ablauf Koordination etc.(vgl. [oracle]). Nachdem in Kapitel 4 dieser Arbeit die Grundlagen von BPEL4WS erläutert werden, folgt in Kapitel 5 unter anderem eine kurze Bewertung dieser technischen Erfordernisse.
3 BPEL4WS
Im Folgenden werden nun die Grundlagen von BPEL4WS erläutert. Die Informationen für die anschließende Einführung stammen, sofern nicht anders angegeben, aus der öffentlichen BPEL4WS Spezifikation [spez] von IBM, die sich inhaltlich nicht von den Veröffentlichungen von BEA, Microsoft, SAP und Siebel unterscheidet.
3.1 Konzepte
Grundsätzlich bietet BPEL4WS zwei Konzepte an:
- Definition von abstrakten Prozessen
- Definition von ausführbaren Geschäftsprozessen
Abstrakte Prozesse bieten die Möglichkeit der Schaffung einer Sicht auf einen privaten Geschäftsprozess, ohne auf die Implementierung einzugehen. Dabei bleibt das interne Verhalten der kommunizierenden Partner außen vor; beschrieben wird nur der Nachrichtenaustausch zwischen ihnen. Die Verwendung von abstrakten Prozessen kann ein erster Schritt in Richtung Realisierung eines ausführbaren Geschäftsprozesses sein. Abstraktion bedeutet ein Ausblenden von detaillierten Abläufen auf den verbundenen Beteiligten (partner). Abstrakte Prozesse stellen hinsichtlich ihrer Ausdrucksmöglichkeit eine Untermenge von ausführbaren Geschäftsprozessen dar und können jeder Zeit zu letzteren erweitert werden.
Zu ausführbaren Geschäftsprozessen schreibt van der Aalst:
„ An executable process, which is also the focus of this paper, specifies the execution order between a number of activities constituting the process, the partners involved in the process, the messages exchanged between these partners, and the fault and exception handling specifying the behaviour in cases of errors and exception.”
(vgl. [aalst2], Kapitel 2, Seite 3, Zeile 12 ff.)
D.h., es geht im Gegensatz zu den abstrakten Prozessen nicht nur um den Nachrichtenaustausch, sondern vielmehr um das „Managen“ von Aktivitäten, die den Prozess ausmachen. Die Fehler- und Ausnahmenbehandlung ist ebenfalls ein Kern -Bestandteil von BPEL4WS, auf das später noch eingegangen wird.
[...]
[1] (vgl. [Wrox] S. 11 ff; [msdn1])
[2] (vgl. [Schmelz], S. 45)
- Citar trabajo
- Stefan Hassmann (Autor), 2005, Einführung in BPEL4WS - Möglichkeiten, Tools und Ausführung, Múnich, GRIN Verlag, https://www.grin.com/document/47326
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
¡Carge sus propios textos! Gane dinero y un iPhone X. -
¡Carge sus propios textos! Gane dinero y un iPhone X. -
¡Carge sus propios textos! Gane dinero y un iPhone X. -
¡Carge sus propios textos! Gane dinero y un iPhone X. -
¡Carge sus propios textos! Gane dinero y un iPhone X. -
¡Carge sus propios textos! Gane dinero y un iPhone X. -
¡Carge sus propios textos! Gane dinero y un iPhone X. -
¡Carge sus propios textos! Gane dinero y un iPhone X. -
¡Carge sus propios textos! Gane dinero y un iPhone X.