Es wurde ja schon viel über die Missverständnisse bei der Kommunikation zwischen der fachlichen und der IT-Welt geschrieben. Doch mit dem Aufkommen der Business Process Modeling Notation (BPMN), einem OMG-Standard, sieht es so aus, als ob ein gemeinsamer Nenner gefunden werden konnte, der dieses Problem ein für alle Mal aus der Welt zu schaffen scheint. Neben der Überbrückung solcher Sprachbarrieren ist mit BPMN eine weitere Hoffnung verbunden: die gleichzeitige Ausführbarkeit der mit ihr modellierten Geschäftsprozesse! Damit würden zwei große Herausforderungen der heutigen IT-Zeit bewältigt werden. Doch wie weit sind diese Bemühungen bisher gediehen? Erfüllen sich die Hoffnungen, die in BPMN gesetzt werden, oder erweisen sich die Erwartungen als zu hoch? Diese Artikelserie möchte anhand des Produkts SAP NetWeaver Business Process Management (SAP NetWeaver BPM) erläutern, wie eine Lösung aussehen kann, die sowohl die Modellierung als auch deren Ausführbarkeit berücksichtigt. Aber keine Angst: obwohl ich mich auf SAP NetWeaver BPM als eine konkrete Design- und Ablaufumgebung beziehe, sind die Konzepte doch so generisch, dass deren Diskussion sicherlich auch für SAP-Fernstehende von Interesse sein dürfte. Neben der Modellierung und Ausführung BPMN-basierter Prozesse werde ich zudem die Rolle eines solchen Ansatzes innerhalb einer serviceorientierten Landschaft diskutieren. Lassen Sie uns also gemeinsam betrachten, wie BPMN zusammen mit einem entsprechenden Framework seinen Anforderungen gerecht wird.
Zielsetzung von BPMN
Bereits in den ersten Sätzen der BPMN-Spezifikation für Version 1.1 wird unmissverständlich die Zielsetzung von BPMN vorgegeben [1]:
The primary goal of BPMN is to provide a notation that is readily understandable by all business users, from the business analysts that create the initial drafts of the processes, to the technical developers responsible for implementing the technology that will perform those processes, and finally, to the business people who will manage and monitor those processes. Thus, BPMN creates a standardized bridge for the gap between the business process design and process implementation.
Die Autoren lassen keinen Zweifel an dem Ziel, auf der einen Seite beide Welten (Fachwelt, IT-Welt) durch eine grafische Notation zusammenbringen, und auf der anderen Seite diese Prozessbeschreibungen direkt in einer Prozess-Engine ausführen zu wollen. Doch leider gestaltet sich die Umsetzung solch lobenswerter Ziele in der Realität nicht ganz so einfach, weil die Anforderungen von fachlichen Prozessen und deren ausführbaren Pendants nun mal per se schon ganz unterschiedlich sind: Auf der fachlichen Seite steht das prinzipielle Verständnis des Prozessablaufs im Mittelpunkt. Zu viele Details wirken hier eher störend und lenken vom eigentlichen Kern der Botschaft ab. Umgekehrt muss eine ausführbare Prozessbeschreibung sehr exakt vorgeben, wie sich ein Prozess unter welchen Bedingungen konkret zu verhalten hat. So müssen bei Verzweigungen klar definierte Bedingungen vorgegeben oder auch Ausnahmebehandlungen präzise durchdacht werden. In einem fachlichen Modell werden solche Sachverhalte primär in Prosa als Anmerkungen oder Beschreibungen ergänzt. Da BPMN beiden Herausforderungen Rechnung tragen möchte, enthält sein Sprachumfang zwangsläufig Elemente, die eher einer technischen Modellierung vorbehalten bleiben sollten. Man denke hier nur an die durchaus komplexe Verarbeitung lang laufender Transaktionen – denn um solche handelt es sich ja bei der Ausführung von Geschäftsprozessen – und deren Fehlerbehandlung. Ein Prozessexperte wird wohl kaum alle Details einer Transaktionsbehandlung in einem lose gekoppelten Umfeld ausmodellieren wollen. Es scheint daher nur folgerichtig, sich innerhalb des Unternehmens bei der fachlichen Modellierung auf nur eine Teilmenge der Notation zu einigen und festzulegen, wie solche Sachverhalte zu modellieren sind. Zudem muss geregelt werden, welche ergänzenden Informationen im Prozessmodell zwingend hinzuzufügen sind, um eine eindeutige Überführung in ein ausführbares Modell zu gewährleisten. So wie sich bei der Programmierung Konventionen etabliert haben, so empfiehlt sich dies eben auch für die Prozessmodellierung.












