1. Die Rolle der Process Engine im Kontext der Automatisierung und Prozessorchestrierung
Wird das Business Process Managements (BPM) bzw. Prozessmanagement in den Kontext der digitalen Transformation gesetzt, wird häufig von der Automatisierung von Geschäftsprozessen gesprochen. Dabei sollen nicht nur einzelne Aktivitäten oder Aufgaben lokal, zumeist innerhalb einer einzelnen Software, automatisiert werden (z.B. mit Hilfe von Robotic Process Automation, kurz: RPA) sondern ganze Prozesse, idealerweise „End-to-End“. Die nachfolgende Abbildung zeigt einen exemplarischen Prozess zur Erzeugung einer Bestellanforderung (BANF). Das Prozessmodell ist auf strategischer Ebene modelliert und wird im weiteren Verlauf in ein technisches Prozessmodell überführt.
Wird das Ziel verfolgt solch einen Prozess in Gänze zu automatisieren, kommt für gewöhnlich der Begriff „Prozessorchestrierung“ ins Spiel. Softwarebasiert wird dabei der Kontroll- und Datenfluss des gesamten Geschäftsprozesses ganzheitlich gesteuert („dirigiert“) und in seiner Ausführung überwacht. Als Dirigent, im Sinne einer Softwarekomponente, fungiert dabei die sogenannte Process Engine (Synonym: Workflow Engine).
In komplexen End-to-End-Prozessen sind zahlreiche Komponenten (sog. Endpunkte bzw. Akteure) wie z.B. Personen, Softwaresysteme oder Endgeräte an der Prozessausführung beteiligt. Die Orchestrierung und Verknüpfung der an einem oder mehreren Prozessen beteiligten Endpunkte kann dabei die Process Engine übernehmen.
2. Wie funktioniert eine Process Engine grundsätzlich?
Ausgangspunkt ist zunächst ein in BPMN 2.0 modellierter Geschäftsprozess. Die Modellierung muss dabei auf ausführbarer Ebene (Technischer Prozessfluss) erfolgt sein. Zudem müssen alle technischen Details enthalten sein, die zur Ausführung notwendig sind. Die Ausführbarkeit des BPMN-Modells wird dadurch gewährleistet, dass der Standard die Speicherung der Modelle als XML-Datei ermöglicht.
Der in Abbildung 1 dargestellte BANF-Prozess hat eher strategischen Charakter und liefert einen schnellen und logisch abstrakten Überblick. Um diesen Prozess mit Hilfe einer Process Engine orchestrieren zu können, muss sowohl der menschliche als auch der technische Prozessfluss auf ausführbarer Ebene modelliert werden. Diese Art der Überführung wird nicht selten durch einen Process Analyst vorgenommen. Ohne auf die notwendigen Schritte zur Überführung näher einzugehen, kann das technische Prozessmodell, wie in der nachfolgenden Abbildung 2 dargestellt, aussehen.
Für die Ausführung des Prozesses muss das Modell noch weiter angereichert werden. So müssen notwendige Anforderungen wie z.B. Daten, Eingabemasken oder Geschäftsregeln auf die Aktivitäten es Prozessmodells übertragen werden.
Im Gegensatz zum strategischen Prozessmodell fällt sofort auf, dass die Teilnehmer und die zugehörigen menschlichen Flüsse des Prozesses (sog. Participants) jeweils in einem eigenen Pool dargestellt worden sind. Sowohl die Teilnehmer als auch die Process Engine, in grün dargestellt, können auch als Anwender einer Software verstanden werden, die mit der Software „kollaborieren“ und Nachrichten austauschen.
Der Pool, der in Abbildung 2 dargestellten Process Engine (grün), besteht aus vier Lanes. Je eine Lane für die menschlichen Aktivitäten der Teilnehmer des Prozesses (Aktivitäten, die eine menschliche Interaktion benötigen) und eine Lane für vollautomatisierte Aktivitäten. Vollautomatische Aktivitäten können z.B. automatisierte Schnittstellenaufrufe über sog. Service-Aufgaben (Service Tasks), direkt in der Process Engine ausführbare Programm- bzw. Skriptfragmente (Skript-Aufgaben) oder auch ganze Teilprozesse sein.
Die Abbildung 3 verdeutlicht diese grundsätzliche Funktionsweise einer Process Engine.
Wird diese Funktionsweise in den Kontext des in Abbildung 2 dargestellten BANF-Prozesses gesetzt, werden sowohl die Aufgabenzuweisungen an die Teilnehmer des Prozesses (orange Aktivitäten) auch der automatisierte Serviceaufruf mittels Service-Aufgabe (rote Aktivität) ersichtlich.
Gemäß des Prozessfluss führt die Process Engine das Routing aus. Entlang des Prozessflusses bekommen die Teilnehmer von der Process Engine Aufgaben zur Abarbeitung zugewiesen, die in eine dem Nutzer zur Verfügung stehenden Aufgabenliste einzusehen sind (s. Abbildung). Diese Aufgabenliste enthält alle durchzuführenden Aufgaben für jede Prozessinstanz als auch entsprechende Funktionalitäten (z.B. Eingabemaske) zur Erledigung dieser Aufgaben.
Bei der rot markierten, vollautomatischen Service-Aufgabe, wird die Statusänderung im ERP-System durch einen entsprechenden Schnittstellenaufruf ausgeführt.
3. Vorteile und weitere Funktionalitäten einer Process Engine
Prozessmodellierung und Transparenz:
Wie oben zu sehen ist, bedarf die Orchestrierung eines Geschäftsprozesses ein technisches Prozessmodell in der Standardsprache BPMN 2.0. Wenngleich das Design derartiger Prozessmodelle im ersten Moment komplex erscheint, bringt gerade der Designprozess einige Vorteile und Synergien mit sich. So erfolgen die Erhebung und Modellierung des fachlichen Prozesses oftmals im Team (z.B. Fachabteilung, IT, Management, etc.) innerhalb eines iterativen Designprozesses. Dabei fließen sowohl das Wissen als auch die unterschiedlichen Perspektiven der Beteiligten ein.
Im Ergebnis entsteht ein transparenter und idealerweise optimierter Prozess, der dem Verständnis und gemeinsamen Zielen aller Beteiligten gleichermaßen folgt (Business-IT-Alignment). Gleichzeitig können die erstellten Prozessmodelle auch für den Aufbau einer Dokumentation
Versionierung:
Prozesse sind dynamisch und bedürfen einer regelmäßigen Anpassung an sich ändernde Anforderungen. In Abhängigkeit des Prozesses können Prozessinstanzen jedoch u. U. sehr lange laufen. Beispielsweise kann ein Prozessdurchlauf eines Bestellprozesses mehrere Tage oder sogar Wochen dauern. Was passiert nun, wenn das Prozessmodell solch eines Prozesses auf der einen Seite geändert werden soll auf der anderen Seite aber noch Prozessinstanzen laufen? Hierfür bieten einige Process Engines die Funktionalität Prozessmodelle zu versionieren. D.h. die Engines können gleichzeitig die alte und die neue Version des Prozessmodells verarbeiten.
Prozessuales und technisches Monitoring:
Eine große Stärke einer Process Engine das Sammeln von Daten entlang der Aktivitäten eines Prozesses innerhalb einzelner Prozessinstanzen (sog. Logs). So kann abteilungsübergreifend nachvollzogen werden, ob eine Prozessinstanz abgeschlossen worden ist, oder wo eine noch laufende Instanz im Prozess steht und welchen Status sie aufweist. Die Funktionalitäten einer Process Engine bieten hierfür diese Daten nutzbar zu machen.
Durch entsprechende Aggregationen können notwendige Auswertungen und Analysen Ziel- und Nutzerorientiert aufgebaut werden, um die Performance des Prozesses kennzahlenorientiert beurteilen zu können (Prozesscontrolling). Zugleich besteht die Möglichkeit ein sog. Echtzeit-Monitoring aufzubauen (Business Activity Monitoring, kurz: BAM), sodass auch ein Eingriff (z.B. Abbruch oder Neustart) in laufende Instanzen sinnvoll möglich ist.
Konnektivität (Interoperabilität)
Die Vielfalt der Endpunkte stellt eine der größten Herausforderungen im Rahmen der Prozessorchestrierung dar. Folglich müssen die Endpunkte entsprechend integriert werden. Hierfür haben Anbieter von Orchestrierungsplattformen entsprechende Integrationstechnologien entwickelt, die es beispielsweise ermöglichen Aktivitäten in externen Systemen (z.B. ERP-System) auszulösen. Gleiches gilt dabei auch für den Empfang von Daten oder Nachrichten, die von externen Systemen an Aktivitäten des Prozesses geschickt werden. Über entsprechende vorgefertigte Konnektoren können beispielsweise auch bestehende Automatisierungen (z.B. durch RPA) auf der Ebene von einzelnen Aktivitäten nahtlos eingebunden werden.
4. Nutzen durch den Einsatz einer Process Engine
- Unterstützung bei der Umsetzung holistischer Automatisierungsvorhaben auf Basis unternehmensspezifischer mittel- und langfristiger Strategieinitiativen und Zielbilder (z.B. optimierte, standardisierte und automatisierte End-to-End-Prozesse).
- Effizienzsteigerungen durch die automatisierte Ausführung von repetitiven Standardaufgaben und -Prozessen (z.B. Dateneingaben)
- Qualitätssteigerungen durch Reduzierung durch die Reduzierung von Fehlern und Abweichungen bei der Prozessausführung.
- Sicherstellung der Einhaltung regulatorischer Anforderungen (Compliance, Audits, etc.).
- Optimierung der Ressourcenallokation und -auslastung.
- Zuverlässige und robuste Ausführung auch von Geschäftskritischen Kernprozessen.
5. Voraussetzungen für den Einsatz einer Process Engine
Um die Frage zu beantworten, warum Prozesse mittels einer Process Engine orchestriert werden sollten, ist es unabdingbar die Geschäftsprozesse hinsichtlich der nachfolgenden Aspekte zu prüfen:
Renner oder Penner – Die Anzahl der Wiederholungen:
Auch die Automatisierung von Geschäftsprozessen unterliegt wirtschaftlichen Zwängen. Den Kosten der Einführung und des Einsatzes einer Process Engine müssen entsprechende Einsparungseffekte auf Seiten der Prozesskosten gegenüberstehen. Ein günstiges Verhältnis liegt i. d. R. dann vor, wenn die Anzahl der Prozessausführungen (Instanzen) hinreichend groß ist („Renner“). Vorab sollte daher eine Wirtschaftlichkeitsberechnung (Business Case) erfolgen.
Exoten vs. Standard-Prozesse:
Die in Frage kommenden Prozesse sollten ausgereift, strukturiert und standardisiert sein. Prozesse, die einer Vielzahl an Varianten unterliegen, sind seltener für eine Prozessorchestrierung geeignet.
Informations- und datenbasierte Prozesse:
Informations- und datengetriebene Prozesse eigenen sich tendenziell besser für die Prozessorchestrierung mittels Process Engine als analoge Prozesse.
Automatisierungsgrad:
Prozesse, die aus einer Vielzahl von automatisierten und/ oder automatisierungsfähigen Aktivitäten bestehen, eignen sich aufgrund der hohen Konnektivität und Interoperabilität der Process Engine sehr gut für eine Orchestrierung. Demgegenüber gibt es Aktivitäten, die tendenziell einen eher geringen Automatisierungsgrad aufweisen. Hierzu zählt z.B. das Anrufen eines Kunden.
Quellen:
- Prozessorchestrierung: Leitfaden über Nutzen und Software | Camunda
- Workflow Engine: Execute Your BPMN Diagrams | Camunda
- Prozessorchestrierung als Lösung für echte End-to-End-Automatisierung – Onlineportal von IT Management (it-daily.net)
- Connect your systems for maximum efficiency | Flowable
- Workflow Engines in der Prozessautomatisierung | nativDigital
- Abläufe mit Prozessorchestrierung automatisieren (dev-insider.de)
- What Is a Workflow Engine? Key Benefits, Features and Considerations | Camunda
- Konnektoren | Camunda
- Overview and example use case | Camunda 8 Docs
- Freund, J., Rücker, B.: Praxishandbuch BPMN – Mit Einführung in DMN, 6. Auflage, Hanser, 2019.