BPMN: Inklusive Gateways müssen schlau sein

Im vorangehenden Beitrag wurde gezeigt, welche Unterschiede die drei wichtigsten Gateway-Typen in der Ausführung durch eine Process Engine haben. Besonderes flexibel ist der inklusive Gateway. An einer inklusiven Verzweigung können ein oder mehrere Ausgänge gewählt werden. Entsprechend wird an einer inklusiven Zusammenführung darauf gewartet, dass alle gewählten Pfade abgeschlossen sind.

Was aber, wenn einer dieser Pfade eine Abzweigung enthält, und daher die Zusammenführung über diesen Pfad möglicherweise gar nicht mehr erreicht wird? Damit Prozesse in solchen Fällen nicht hängen bleiben, müssen inklusive Gateways schlau sein und überprüfen, über welche Pfade noch etwas ankommen kann.

Um dies auszuprobieren, habe ich in den Prozess aus dem vorigen Beispiel eine Abzweigung eingefügt.

Weiterlesen

BPMN: Inclusive Gateways Must Be Clever

In the previous post I have shown how the three most important gateway types behave when they are executed by a process engine. The inclusive gateway is very flexible. At an inclusive split, one or more exits can be selected. A corresponding inclusive merge waits until all selected paths have been completed.

However, what happens when there is another splitting gateway in one of these paths, so that in some cases the inclusive merge may not be reached via this path anymore? In order to ensure that such processes do not get stuck, inclusive gateways must be clever, since they need to determine via which paths they still can be reached.

In order to test this behavior, i have inserted a splitting exclusive gateway in the previous example.

Weiterlesen

BPMN Gateways in Action

It is hard to find a serious BPMN model without any splits in the control flow. Splits are modeled with gateways, represented by diamond symbols. The following video shows three variations of a little example process. First, we use an exclusive gateway in this process, then a parallel gateway, and finally an inclusive gateway. The execution of each process variant shows the different behaviours of the three gateway types.

If you want to try out these examples for yourself, you can download and execute them, using the community edition of the „Bonita“ platform.

Weiterlesen

BPMN-Gateways in Aktion

Kaum ein BPMN-Modell kommt ohne Verzweigungen aus. Modelliert werden sie mit Hilfe von Gateways, dargestellt durch Rautensymbole. In einen kleinen Beispielprozess werden nacheinander die wichtigsten unterschiedlichen Gateway-Typen (exklusiv, parallel und inklusiv) eingebaut. Die Ausführung in einer Process Engine macht deutlich, welches Verhalten jeweils erzielt wird.

Wer die Beispiele selbst ausprobieren möchte, kann sie wieder herunterladen und in der Community-Edition der Plattform „Bonita“ ausführen.

Weiterlesen

Process Automation with BPM – Introductory Example

What exactly does it mean to execute a BPMN process? What else other than a process model is required for a useful process? I have created a little example for newcomers. It is explained in two videos. The project file can also be downloaded and executed in the community edition of the platform “Bonita”.

In the first video, the BPMN model is deployed to a process engine and executed. The video also shows how other required contents are specified: organization, data, user forms, decision rules and the integration of external systems.

Weiterlesen

Prozessautomatisierung mit BPMN – Einführendes Beispiel

Was genau versteht man darunter, einen BPMN-Prozess auszuführen? Was braucht man neben dem grafischen Prozessmodell noch, damit ein sinnvoller Ablauf möglich ist? Um Neulingen den Einstieg in die Thematik zu erweitern, habe ich ein kleines Beispiel erstellt, das ich in zwei Videos vorstelle. Zudem kann die Projektdatei heruntergeladen und in der Community-Edition der Plattform „Bonita“ ausgeführt werden.

Im ersten Video zeige ich, wie das BPMN-Modell auf eine Process-Engine hochgeladen und ausgeführt wird. Anschließend wird gezeigt, wie die weiteren Inhalte festgelegt werden: Organisation, Daten, Formulare, Entscheidungsregeln und die Einbindung externer Systeme

Weiterlesen

BPMS mit RPA verbinden – am Beispiel Bonita und UIPath

Update 21.2.2024: Aufgrund einiger Änderungen in UIPath lässt sich dieses Beispiel in der aktuellen Version nicht mehr ausführen. Daher habe ich es mit einem anderen RPA-System, Microsoft Power Automate, neu erstellt. Dies ist in diesem Post beschrieben.


Robotic-Process-Automation (RPA) ist sehr beliebt um Routineaufgaben zu automatisieren. Andererseits eignet sich RPA nicht dazu, gesamte Ende-zu-Ende-Prozesse zu steuern. Dies ist die Stärke von Workflow- oder Business-Process-Management-Systemen (BPMS). Es liegt daher nahe, BPMS und RPA miteinander zu verbinden. Das BPMS kümmert sich um den Gesamtablauf. Bei den einzelnen Aufgaben innerhalb des Prozesses kann es sich entweder um Benutzer-Tasks oder um Systemaufrufe über Schnittstellen handeln – oder aber um Tasks, die von RPA-Bots ausgeführt werden.

In der Community Edition des BPMS Bonita stehen hierfür seit Kurzem Konnektoren zum RPA-System UIPath zur Verfügung. In UIPath kann man ebenfalls Konnektoren zu Bonita nutzen. Zum Testen habe ich einmal zwei kleine Beispiele erstellt:

  1. Im ersten Beispiel liegen Auftragsdaten in Form eines Excel-Sheets vor. Sie werden von einem RPA-Bot eingelesen, der anschließend einen Bonita-Prozess startet und diesem die Daten übergibt.
  2. Im zweiten Beispiel ruft ein Bonita-Prozess einen RPA-Bot auf, damit dieser einen aktuellen Wechselkurs aus einer Webseite ausliest.

Weiterlesen

Connecting BPMS with RPA – using Bonita and UIPath

Update 21.02.2004: Due to some changes in UIPath, this example doesn’t run anymore on the current version. I have re-created the example using another RPA system (Microsoft Power Automate Desktop). See this post.


Robotic Process Automation (RPA) is very popular for automating routine tasks. However, RPA is not very good at controlling entire end-to-end-processes. This is the realm of Workflow or Business Process Management Systems. Therefore, it can be a good idea to connect BPMS with RPA. The BPMS manages the overall process flow. The different tasks in the process can either be user tasks or system calls via interfaces – or tasks that are performed by RPA bots.

The latest version of the BPMS Bonita (community edition) contains connectors to the RPA system UIPath. Vice versa, UIPath also provides connectors to Bonita. I have tested this integration using the following two examples:

  1. In the first example, order data are provided as Excel sheets. They are read by an RPA bot. Then the bot starts a Bonita process and hands over the order data.
  2. In the second example, a Bonita process calls an RPA bot in order to retrieve a currency exchange rate from a website.

Weiterlesen

Neue Initiative zur Zertifizierung gemäß dem Prozessgesteuerten Ansatz

Schon mehrfach wurde in diesem Blog auf Veröffentlichungen und Videos zum Prozessgesteuerten Ansatz hingewiesen. Dabei handelt es sich um ein konsequent prozessorientiertes Konzept zur Entwicklung von Prozessanwendungen, bei dem Fachabteilungen und IT eng zusammenarbeiten. Volker Stiehl, der Erfinder des prozessgesteuerten Ansatzes, hat nun die Zertifizierungsinitiative „PiDiArtify“ gestartet. Zertifiziert werden können zum einen Prozessanwendungen, die gemäß … Weiterlesen

Wozu kann man Unterprozesse in BPMN verwenden?

Mit dem Nutzen und den Einsatz von Unterprozessen in BPMN-Modellen habe ich mich in diesem zweiteiligen Beitrag auseinandergesetzt, der im Blog von Roxtra erschienen ist. Dieser Blog ist auch sonst interessant. Unter anderem werden immer wieder ausgewählte Prozesse aus dem Umfeld des Qualitätsmanagement und ihre Umsetzung in dem Roxtra-Prozessmanagement-System beschrieben. Zudem stehen die betreffenden Prozesse … Weiterlesen