BPMN in Action: Ein RPA-Bot startet einen Prozess

Dieses Beispiel einer Verbindung eines ausführbaren BPMN-Prozesses mit RPA (Robotic-Process-Automation) hatte ich vor längerer Zeit schon einmal erstellt. Wie in diesem Blogbeitrag beschrieben, hatte ich das BPM-System „Bonita“ mit dem RPA-System „UIPath“ verbunden. Im Laufe der Zeit sind neue Versionen erschienen und mittlerweile funktionieren meine Beispiele nicht mehr mit der aktuellen UIPath-Version. Da das Handling von UIPath etwas umständlich ist, wenn man nur ein oder zwei Mini-Beispiele umsetzen möchte, habe ich stattdessen nun die kostenlose Version von Microsoft Power Automate verwendet. Damit ist es recht leicht möglich, einfache Automatisierungen zu erstellen, die nur auf dem eigenen Desktop laufen sollen. In der kostenlosen Version gibt es einige Einschränkungen, die für das hier vorgestellte Beispiel aber nicht problematisch sind.

In dem betrachteten Szenario sollen Aufträge, die in Form von Exceldateien vorliegen, in einem ausführbaren Prozess verarbeitet werden. Hierfür ist es erforderlich die Daten aus der Excel-Datei in den Prozess zu übernehmen. Ohne RPA müssten sie manuell erfasst werden. Diese Aufgabe wird nun von dem Bot übernommen. Er liest die Excel-Datei ein, wandelt die Daten in eine geeignete Struktur um, loggt sich in das BPMS ein, startet dort den Auftragsverarbeitungsprozess und übergibt ihm die Auftragsdaten.

Weiterlesen

Tools zur Prozessmodellierung: Mehr als nur Bildchen malen

Im Zusammenhang mit prozessbezogenen Technologien fallen meist Stichworte wie Process-Mining, Robotic-Process-Automation und Ende-zu-Ende-Prozessautomatisierung. Selbstverständlich werden diese in meinem aktuellen Buch auch ausführlich besprochen. Über all die spannenden Konzepte und Werkzeuge zur Prozessautomatisierung sollte aber nicht vergessen werden, dass es an vielen Stellen erst einmal darauf ankommt, Prozesse zu dokumentieren und zu analysieren. Längst nicht alle Abläufe lassen sich automatisch durch Process-Mining-Tools ermitteln und durch eine künstliche Intelligenz optimieren.

Daher spielen Tools zur Prozessmodellierung und -analyse nach wie vor eine wichtige Rolle. Ihre wichtigsten Aufgaben, Funktionalitäten und Einsatzbereiche werden im folgenden Ausschnitt aus dem Buch „Technologien für Geschäftsprozesse“ beschrieben.

Weiterlesen

Einordnung und Abgrenzung von Prozesstechnologien

In meinem Buch über Technologien für Geschäftsprozesse habe ich nicht nur verschiedene Technologien, Tools und Notations-Standards beschrieben, sondern auch dargestellt, für welche Aufgaben sie eingesetzt werden können und wie gut sie die betreffende Aufgabe jeweils erfüllen. Als Grundlage hierfür dient die folgende Einteilung der wichtigsten Aufgaben, die im Zusammenhang mit der Automatisierung von Prozessen durchgeführt werden:

  • Prozessdokumentation
  • Prozessanalyse
  • Prozessentwurf
  • Prozessimplementierung
  • Prozessplanung
  • Prozesssteuerung
  • Ausführung der Arbeitsschritte
  • Prozesscontrolling
  • Process-Governance

Dabei gebe ich für die jeweilige Technologie an, ob es sich bei der betreffenden Aufgabe um ein zentrales Einsatzgebiet handelt (++), ob ein gewisser Beitrag dazu geleistet wird (+), oder ob kein wesentlicher Beitrag erfolgt (-).

Weiterlesen

Neues Einsteigerbuch zu Prozesstechnologien

Im Zuge der Vorbereitung einer Vorlesung fiel mir auf, dass es keine kompakte Übersicht über die vielen Arten von Tools und Technologien im Umfeld der Geschäftsprozesse gab. Die vielen speziellen Veröffentlichungen zu einzelnen Themen wie Prozessorchestrierung oder Process-Mining sind für Einsteiger weniger geeignet.

Zudem mache ich immer wieder die Erfahrung, dass es nach wie vor kein einheitliches Verständnis der verschiedenen Begriffe gibt. Spricht jemand von einem BPM-Tool oder einem BPM-System, dann kann Verschiedenes gemeint sein, wie zum Beispiel: Ein reines Modellierungstool, eine integrierte Plattform zum kollaborativen Erstellen und Publizieren von Modellen, oder ein komplettes Workflow-System zur Ausführung von Prozessen.

Die Softwarehersteller machen es einem auch nicht leichter. Was letztes Jahr noch als System zur „Prozessautomatisierung“ vermarktet wurde, ist jetzt eine Plattform zur „Orchestrierung“. Und auch die allgemein akzeptierte Bezeichnung „Robotic-Process-Automation“ ist eher unglücklich gewählt, da diese Technologie eher einzelne Arbeitsschritte als komplette Prozesse automatisiert.

Fazit: Man muss immer recht genau hinterfragen, was sich hinter den jeweiligen Begriffen verbirgt. Die meisten technologischen Konzepte hinter den Schlagwörtern lassen sich hingegen recht klar charakterisieren. Beispielsweise findet sich in vielen Systemen eine Process-Engine, mit der man Prozessmodelle zur Ausführung bringen kann. Auch die Funktionsweise von Process-Mining-Systeme basiert auf demselben Grundkonzept. Und kaum ein System zur Robotic-Process-Automation dürfte ohne eine Funktionalität zur automatischen Bedienung grafischer Benutzungsoberflächen auskommen.

Weiterlesen

BPMN in Action: Welches Ereignis gewinnt?

In den meisten BPMN-Prozessmodellen gibt es Verzweigungen. Wohl am häufigsten werden exklusive Gateways verwendet. Dort wird anhand von Daten – z. B. die Höhe einer Auftragssumme – entschieden, welcher Weg gewählt wird. Im Gegensatz dazu erfolgt die Entscheidung bei einem ereignisbasierten Gateway anhand von Ereignissen. Dabei wird auf das Eintreten mehrerer Ereignisse gewartet. Das Ereignis, das zuerst eintrifft, „gewinnt“ – und sein Pfad wird ausgewählt.

Unten wird ein typisches Beispiel für den Einsatz eines ereignisbasierten Gateways gezeigt. Dabei wird auf das Eintreffen einer Nachricht gewartet. Trifft sie nicht innerhalb einer bestimmten Frist ein, wird im Prozess reagiert, z. B. indem bei dem betreffenden Partner nachgefragt wird.

Leider verfügt das BPM-System Bonita, mit dem die Beispiele dieser Serie erstellt wurden, nicht über den ereignisbasierten Gateway. Im Video wird gezeigt, wie man dasselbe Verhalten auch auf andere Weise erreichen kann.

Weiterlesen

BPMN in Action: Wozu sind Mehrfachaktivitäten da?

Bei einer mit drei kleinen Strichen markierten BPMN-Aktivität handelt es sich um eine Mehrfachaktivität, englisch Multi-Instance-Aktivität. Wie der Name schon sagt, kann eine solche Aktivität mehrfach ausgeführt werden. Anders als bei einer Schleife muss dies jedoch nicht streng nacheinander erfolgen, bis eine bestimmte Bedingung erfüllt ist. Stattdessen wird eine Mehrfachaktivität für jedes Element einer Liste ausgeführt. Dies kann auch parallel, d. h. in beliebiger Reihenfolge, oder sogar zeitgleich (z. B. durch verschiedene Benutzer) erfolgen.

In Video wird dies am Beispiel eines Auftrags mit beliebig vielen Auftragspositionen gezeigt, die einzeln geprüft werden sollen. Das in der kostenlosen Community-Edition von Bonita ausführbare Modell steht wieder zum Download zur Verfügung.

Weiterlesen

BPMN in Action: Kommunikation von Prozessen über eine Message Queue

Im letzten Beitrag ging es darum, dass ein auf einer Process Engine ausgeführter Prozess mit einem zweiten Prozess kommuniziert, der auf einer anderen Process Engine installiert ist. Dabei wurde die REST-Schnittstelle der zweiten Process Engine genutzt. Da die REST-Schnittstellen von Process Engines nicht standardisiert sind, müssen die Aufrufe speziell an die zweite Engine angepasst werden.

Flexibler ist der im folgenden Beispiel gezeigte Ansatz, bei der eine Message Queue (Nachrichtenwarteschlange) genutzt wird. Dabei stellen die beteiligten Prozesse gesendete Nachrichten in eine von einem Message Broker verwaltete Warteschlange hinein und entnehmen für sie bestimmten Nachrichten daraus. Mit diesem Verfahren ist es auch einfacher, eine der beteiligten Process Engines auszutauschen. Ebenso kann ein Prozess mit einem komplett anderen System kommunizieren, z. B. einem ERP-System. Dies wird im Beispiel mit Hilfe einer kleinen, selbst geschriebenen Java-Klasse gezeigt, die die Rolle des zweiten Prozesses übernimmt.

Weiterlesen

BPMN in Action: Zusammenspiel zweier Process Engines

Wie im vorangegangenen Beitrag gezeigt wurde, kann man mit BPMN separate Prozesse modellieren, die über Nachrichtenflüsse kommunizieren. Damit eine solche Kollaboration mehrerer Prozesse ausgeführt werden kann, müssen sie beide in ein und derselben Process Engine laufen. Gehören die Prozesse, die zusammenspielen sollen, jedoch zu verschiedenen Geschäftspartnern mit ihren jeweils eigenen BPM-Systemen, dann laufen die Prozesse in verschiedenen Process Engines.

Im Video wird gezeigt, wie die Kommunikation über eine REST-Schnittstelle erfolgen kann. Hierbei wird der eine Prozess in Bonita ausgeführt, der andere in Camunda. Der Bonita-Prozess tauscht Nachrichten mit einem Hilfsprozess aus, der sich um die Kommunikation mit dem Camunda-Prozess über die von Camunda bereitgestellte REST-Schnittstelle kümmert.

Download

Die folgende zip-Datei enthält die Bonita-Projektdatei und den BPMN-Prozess für camunda.

Weiterlesen

BPMN in Action: Zusammenspiel von Prozessen mit Nachrichtenflüssen

Eine Besonderheit von BPMN gegenüber anderen Prozessmodellierungsnotationen besteht darin, dass man Kollaborationen modellieren kann – also das Zusammenspiel von zwei oder mehr eigenständigen Prozessen, die Nachrichten miteinander austauschen. So kann ein Prozess eine Nachricht verschicken und dadurch einen anderen Prozess starten, oder es wird eine Nachricht an eine existierende Prozessinstanz verschickt, die an einem nachrichtenempfangenden Zwischenereignis bereits auf diese Nachricht gewartet hat.

Oft nutzt man Nachrichtenflüsse um das Zusammenspiel der Prozesse unterschiedlicher Geschäftspartner zu modellieren, z. B. zwischen dem Beschaffungsprozess eines Kunden und dem Angebotsprozess eines Lieferanten. Allerdings nutzen diese in der Regel nicht gemeinsam dasselbe BPM-System. Ist es auch sinnvoll, Kollaborationen innerhalb einer Organisation zu verwenden – obwohl man dasselbe Verhalten meist auch durch einen einzigen Prozess mit mehreren Lanes erzielen könnte?

Durchaus – die Aufteilung in separate Prozesse unterstützt lose Kopplung, Wiederverwendung und Trennung von Verantwortlichkeiten.

Im Video wird die Modellierung und Ausführung einer Kollaboration gezeigt. Außerdem wird erläutert, wie man mit Hilfe einer Korrelation dafür sorgt, dass die Nachrichten bei den richtigen Prozessinstanzen ankommen.

Weiterlesen

BPMN in Action: Unterprozesse/Aufrufaktivitäten

Was passiert bei der Ausführung eines BPMN-Prozesses, wenn eine Aktivität erreicht wird, die am unteren Rand mit einem Plus-Symbol (+) markiert ist? Das Plus-Symbol bedeutet, dass dieser Aktivität ein detaillierteres BPMN-Modell hinterlegt ist. Beim Erreichen der Aktivität beginnt die Ausführung des hinterlegten Modells. Wenn dieser Detailprozess beendet ist, wird die Ausführung des Hauptprozesses fortgesetzt.

Man unterscheidet „echte“ Unterprozesse und Aufrufaktivitäten. Ein Unterprozess ist Teil des übergeordneten Prozesses und kann auch auf dessen Daten zugreifen. Eine Aufrufaktivität hingegen ruft einen separaten Prozess auf. Diesem werden beim Aufruf die benötigten Daten explizit übergeben. Ebenso kann der aufgerufene Prozess nach Beendigung Daten an den Hauptprozess zurückgeben. Anders als bei Unterprozessen ist es bei Aufrufaktivitäten möglich, ein und denselben Prozess aus verschiedenen anderen Prozessen heraus aufzurufen. Somit kann der aufgerufene Prozess wiederverwendet werden.

Da das Konzept der Aufrufaktivitäten flexibler ist, verzichten manche BPM-Systeme darauf, Unterprozesse als separates Konzept zu unterstützen. In dem Beispiel in dem Video wird ebenfalls eine Aufrufaktivität verwendet.

Weiterlesen