16.04.2007
Prozesssprache BPEL 2.0 löst komplexe Probleme - Aktuelle SOA-Middleware zeichnet sich durch Kompatibilität aus
Professor Frank Leymann, eine der treibenden Kräfte hinter
der Business Execution Language (BPEL), verteidigt die Komplexität der Sprache. Der wesentliche
Grund für die Vielschichtigkeit: Mit ihr können nichttriviale Probleme im Umfeld der
Geschäftsprozesse auf IT-Seite eindeutig beschrieben werden.
Leymann – Sehr häufig benötigt man mehr als nur einen Dienst,
um sein geschäftliches Ziel zu erreichen. Die Orchestrierungssprache BPEL erlaubt es durch
Geschäftsprozessmodelle vorzuschreiben, wie Services verwendet werden. Dabei sieht der Anwender die
Komplexität der gleichzeitigen Verwendung mehrere Services nicht. Umgekehrt kann man einen
BPEL-Prozess auch wieder als Service nach außen darstellen. Man kann also Geschäftsprozesse als
Services anbieten. Der Benutzer merkt dabei gar nicht, ob es sich um einen Geschäftsprozess oder um
ein implementiertes Programm handelt.
Leymann – BPEL beschreibt im Stil einer serviceorientierten
Architektur (SOA), wie in einer Firma die Geschäftsprozesse ausgeführt werden. Wenn man BPEL nutzt,
wird es simpel, Spezifikationen von Geschäftsprozessen zu erstellen, die Services als Aktivitäten
in die Geschäftsprozesse einbinden.
Leymann – Mit BPEL 2.0 existiert eine standardisierte
Modellierungssprache für Geschäftsprozesse, aber die Zielgruppe der Benutzer von BPEL sind
IT-Benutzer – nicht die Mitarbeiter auf Business-Level. Ein riesengroßer Fortschritt, der durch
BPEL erreicht wurde, ist, dass es nun ein einziges Runtime-Modell für Geschäftsprozesse gibt, eine
feste operationale Semantik, die wohldefiniert ist. Abstrakt kann man sich das vorstellen als ein
einziges logisches Tool das hilft, dass man eine einheitliche Schnittstelle zu den Prozessmaschinen
auf IT-Ebene hat. Die Modellierungswerkzeuge auf der Business-Ebene müssen dazu BPEL
exportieren.
Leymann – Die konkreten Implementierungen der
Prozessmaschinen sind bei den Herstellern unterschiedlich. Die meisten verstehen aber heute BPEL
alle in einer sehr, sehr ähnlichen Form. Dadurch kann man auf IT-Ebene die Prozessmodelle wieder
verwenden und über die verschiedenen Tools hinweg austauschen.
Leymann – Ja, das klappt in der Praxis zu einem sehr hohen
Prozentsatz. Wir haben mit mehreren BPEL-Maschinen experimentiert. Es rumpelt zwar noch ein wenig,
da fast keine der von uns benutzten Maschinen BPEL komplett unterstützt – aber schließlich BPEL 2.0
erst jetzt als Standard verfügbar. Diese Probleme werden sich in ein oder zwei Jahren erledigt
haben. Heute muss man noch ein wenig anpassen. Je nach Komplexität eines Prozesses muss man bei der
Portierung von einigen Minuten bis einigen Stunden aufwenden.
Leymann – Es stimmt, BPEL ist nicht trivial. Wir versuchen
eine Sprache zur Verfügung zu stellen, mit der jede Art von Geschäftsprozess realisiert werden kann
– und zwar quer zu allen IT-Plattformen. BPEL soll die grundlegenden IT-Probleme im Bereich
Business Process Management (BPM) lösen. Deshalb ist die Sprache komplex: komplexe Probleme ziehen
komplexe Lösungen nach sich. Es gibt übrigens auch die Möglichkeit, nur Teilmengen von BPEL zu
nutzen. Einige Hersteller machen das. Für Teilbereiche des BPM reicht durchaus eine Teilmenge von
BPEL aus.
Leymann – Die Vorstände eines Unternehmens fokussieren sich
darauf, wie ihr Unternehmen Geld verdient. Dazu haben sie bestimmte Ressourcen zur Verfügung, etwa
Kapital, Arbeitskräfte, Organisationsstrukturen und Geschäftsprozesse. Und die IT-Leute müssen dies
durch ihre IT-Infrastruktur unterstützten. Das Loch zwischen diesen beiden Welten nennt man seit
vielen Jahren Business-IT-Gap. Die Brücke über diesen Gap bilden die Geschäftsprozesse.
Geschäftsprozesse verstehen sowohl IT-Mitarbeiter als auch Vorstände und Leute aus den
Fachabteilungen. In der IT-Infrastruktur hat man heute Prozessmaschinen von verschiedenen
Anbietern. Und dann gibt es große Anzahl von Modellierungswerkzeugen für Geschäftsprozesse. Die
Frage ist dann: Wie kann ich ein Modell aus einem Modellierungswerkzeug in eine Prozessmaschine
überführen. Die Lösung heißt BPEL: Die Hersteller haben mit BPEL eine gemeinsame Sprache zu
Verfügung. Die Modellierungswerkzeuge müssen nur noch BPEL generieren, dann kann das in den
unterschiedlichen Prozessmaschinen importiert werden.
Leymann – ... ist es aber nicht. Ein wesentliches Problem ist
die große Anzahl an verschiedenen Methodologien und korrespondierende Werkzeuge auf Business-Ebene.
Meiner Meinung nach wird das niemals verschwinden. Ich glaube, dass diese Tools auf der
Business-Ebene immer unterschiedlich bleiben.
Leymann – Dank BPEL existiert bei den Prozessmaschinen aber
eine eindeutige operationale Semantik – bei den Werkzeugen für die Geschäftsprozessmodellierung
nicht. Operationale Semantik heißt: Wenn ein Bild gemalt wird, wie der Geschäftsprozess aussieht,
muss man eine Vorstellung davon haben, wie er abgearbeitet wird. Also: was ist die Bedeutung des
Geschäftsprozesses zur Ausführungszeit. Der Anwender weiß bei BPEL genau, wie sich die
Prozessmaschinen verhalten – unabhängig davon, von welchem Hersteller die kommen.
Leymann – Es gibt dort oftmals keine. Mir ist es passiert,
dass ich mit zwei Mitarbeitern eines Herstellers von Modellierungswerkzeugen über die konkrete
Bedeutung eines Geschäftsprozessmodells gesprochen habe – und zwei unterschiedliche Antworten
bekommen habe. Man weiss oft nicht, was die graphischen Element zur Darstellung eines
Geschäftsprozesses genau bedeuten. Entsprechend gehen bei der Transformation vom Business- auf den
IT-Level immer Informationen verloren. Das ist extrem ärgerlich, da muss man aufwändig
nacharbeiten. Das Problem bei der Geschäftsprozessmodellierung auf der Business-Ebene ist, dass sie
häufig mit einer ganzen Methodologie im Hintergrund verknüpft ist. Durch solche Methodologien wird
Geschäftsprozessmodellierung meiner Ansicht nach fast eine Religion. Ich erlebe immer wieder in
Unternehmen, die mehrere BPM-Werkzeuge im Einsatz haben, dass sich die Mitarbeiter nicht verstehen.
Das geht bis hin zu Diskussionen, ob das rote rechteckige Icon jetzt besser sei als das grüne mit
den abgerundeten Ecken. Das bezeichnet man auch passend als Method-War. Die Chancen sich auf
Business-Ebene hier auf eine einzige Syntax und auf eine einzige operationale Semantik zu einigen,
halte ich für minimal – bei BPEL hat man dies für die IT-Ebene geschafft, weil es weniger
Prozessmaschinen gibt als Methoden zur Modellierung von Geschäftsprozessen.
Leymann – Falls die IT-Mitarbeiter in ihren Tools etwas
Wesentliches am Geschäftsprozess ändern, dann kommt es oft zum sogenannten Roundtrip-Problem, das
heißt man kann die Änderungen oft gar nicht oder nur schwer zurück in die Werkzeuge der
Business-Ebene bringen. Dann weiß man plötzlich nicht mehr, wie der ursprüngliche Prozess einmal
ausgesehen hat. Man kommt extrem schwer von der IT- wieder auf die Business-Ebene zurück.
Leymann – Ja, es gibt die Analogie. Analysten sagen etwa, was
SQL für Datenbanken ist, sei BPEL für Prozesse. Allerdings ist SQL einfacher als BPEL, weil
Tabellen und deren Manipulation einfachere Dinge sind wie komplette Geschäftsprozesse. Das macht
aber auch nochmal verständlich, warum BPEL eine komplexe Sprache ist.
Leymann – Ein großes Problem in der Praxis von BPEL 2.0 ist
heute noch, dass BPEL keine menschliche Interaktion kennt. Also kann aus einem
Geschäftsprozessmodell kein BPEL-File erzeugt werden, wenn in dem betreffenden Geschäftsprozess
Menschen involviert sind, das heißt wenn Menschen Aktivitäten ausführen müssen. Falls es
Geschäftsprozesse sind, in denen keine Menschen eingebunden sind, dann kann ein
Business-Process-Modelling-Tool durchaus ein BPEL-File generieren. Aber auch da muss man aufpassen:
Oft bieten Hersteller proprietäre Erweiterungen von BPEL an, die man benötigt, um bestimmte
Funktionalitäten in Geschäftsprozessen zu realisieren. Damit bewegt man sich aber außerhalb des
BPEL Standards und ist nicht mehr portabel zu einer standard-konformen BPEL-Maschine. Wenn man
Portabilität will, muss man also aufpassen, welche Funktionen, die ein Modellierungswerkzeug
anbietet, man tatsächlich nutzt. mr
|