Ein interessanter vierteiliger Artikel über die BPMN-Modellierung und die Umsetzung in einen ausführbaren Workflow findet sich unter http://it-republik.de/jaxenter/bpm/ Zwar nimmt der Artikel von Volker Stiehl Bezug auf SAP-Technologie, doch sind die prinzipielle Vorgehensweise und Methodik auch auf andere Produkte übertragbar. Insbesondere wird die Frage diskutiert, wie fachliche Prozessmodelle aussehen, und wie ein sinnvoller Übergang zum ausführbaren Modell erfolgen kann. SAP verfolgt hier keine Umsetzung von BPMN nach BPEL, sondern interpretiert den Ablauf von BPMN-Modellen als Markenfluss, der direkt von der Process Engine ausgeführt wird. Die kommende BPMN-Version 2.0 behebt eine Reihe von Defiziten bzgl. der Spezifikation ausführbarer Modelle.
Im ersten Teil der Artikelreihe stellt Stiehl die wichtigsten BPMN-Konstrukte an einem kleinen Beispiel vor. Der zweite Teil erläutert die Implementierung des Beispielprozesses mit Hilfe von SAP Netweaver BPM. In der Entwicklungsumgebung wird zunächst ein fachliches Modell erstellt. Für die Implementierung relevante Zusatzinformationen werden ggf. in Form von Annotationen angegeben. Im zweiten Schritt wird das Modell von einem Entwickler ergänzt, z. B. um die Zuweisung von Benutzeroberflächen und Serviceaufrufen, oder die Formulierung von Bedingungen. Für das derart angereicherte Modell lässt sich die Ausführbarkeit in der Entwicklungsumgebung prüfen. Von Bedeutung sind u. a. zeitliche Aspekte für die einzelnen Aktivitäten, wie z. B. Deadlines für den Beginn oder die Fertigstellung, sowie ein Verfallsdatum, nach dem ein Task gelöscht wird. Weiterhin müssen die modellierten Rollen mit konkreten Benutzergruppen verbunden werden.
Im Dritten Teil der Reihe werden die Definition von Datenflüssen mit Hilfe von Datenobjekten und XML Schema, sowie die erforderlichen Mappings erläutert. Um die entwickelte Lösung möglichst unabhängig von den genutzten Systemen zu halten, sollten Service-Aufrufe möglichst nicht direkt eingebunden werden. Stattdessen wird vorgeschlagen, diese mitsamt den benötigten Datentyp-Umwandlungen in eine separate Komponente auszulagern, z. B. einen ESB. Schließlich müssen noch Bedingungen an Verzweigungen modelliert und Administratoren festgelegt werden, die z. B. im Notfall in einen Prozess eingreifen können. Andererseits sollten die typischen Fehlerfälle bereits durch festgelegte Ausnahmeflüsse geregelt werden.
Stiehl plädiert für eine klare Trennung zwischen fachlichem und ausführbarem Prozessmodell. Hierfür empfiehlt er eine Orientierung am Datenmodell: Auf der fachlichen Ebene sollte ein harmonisches System von rein fachlichen Datentypen verwendet werden. Im Idealfall kann man sich aus einer fachlichen Schnittstellendefinition bereits einen BPMN-Rumpf generieren lassen, der dann im Zuge der technischen Modellierung gefüllt wird.
Die Ausführung des entwickelten Beispielprozesses steht im Zentrum des vierten Teils. Der entwickelte Prozess wird zunächst in ein Prozess-Repository überführt. Die Prozessbeteiligten werden über E-Mail oder ihr Portal über anstehende Aufgaben informiert, von wo aus sie den jeweils benötigten Dialog aufrufen können. Auch das Delegieren oder Zurücklegen von Aufgaben ist möglich.
Ein wesentlicher Vorteil der direkten Ausführung auf Basis des BPMN-Modells besteht darin, dass die Entwickler einen Prozess direkt auf dem grafischen BPMN-Modell debuggen können.