Zwei unterschiedliche Prozesse kommunizieren beide mit demselben dritten Prozess. Die Beispiele werden im Buch in Abschnitt 3.8 erläutert.
Upate 3.11.2015: Mittlerweile ist es gelungen, mit dem Bestellbearbeitungsprozess direkt aus verschiedenen Prozessen heraus zu kommunizieren, ohne dass hierfür wie im Buch beschrieben jeweils unterschiedliche Start- und Endereignisse nötig sind, und ohne dass ein separater Verteilprozess benötigt wird. Dies ist allerdings nur möglich, wenn die Prozesse in unterschiedlichen Diagrammen modelliert werden.
Ein empfangendes Nachrichtenereignis kann in Bonita nämlich nur genau einen Nachrichtentyp bearbeiten. Sollen unterschiedliche Prozesse Nachrichten an dasselbe Nachrichtenereignis schicken, so müssen die Nachrichtentypen gleich benannt sein und die gleichen Attribute haben. Bonita weigert sich aber, mehrere Nachrichtentypen mit derselben Bezeichnung anzulegen, wenn sich die betreffenden Prozesse im selben Diagramm befinden. Befinden sie sich in verschiedenen Diagrammen, funktioniert es. Beim Zuordnen des Nachrichtenhinhalts zu Prozessvariablen wird man dann allerdings nicht mehr durch Auswahl-Listen unterstützt, sondern man muss sich selbst darum kümmern die korrekten Bezeichnungen einzutragen.
Jeder Prozess, der eine Bestellung verschickt, übermittelt in der Nachricht seinen Namen. Der Bestellprozess speichert diesen Namen in einer Variablen. Diese ist in der Nachricht des Endereignisse beim Zielpool eingetragen, so dass die Antwort an den Prozess versandt wird, aus dem die Bestellung kam. Dies funktioniert übrigens auch nicht, wenn sich einer der bestellenden Prozesse im selben Diagramm befindet. Der Eintrag der Variablen als Zielpool wird von Bonita nämlich durch den fixen Namen eines Pools ersetzt, der ein empfangendes Ereignis für den betreffenden Nachrichtentyp eingetragen hat.
Download
Bestellung aus unterschiedl. Prozessen bearbeiten-3.0
Die alten Prozesse:
Bestellung aus unterschiedlichen Prozessen-3.0.bos
Bestellung aus unt Proz Vert-2.0.bos
Voraussetzungen
- Bonita BPM Community Edition, Version 7.1.2 installiert (auch ältere Versionen ab 6.1 müssten funktionieren).
- Organisationsstruktur „BPMSOrga“ auf dem Bonita Server veröffentlicht (Anleitung hier).
Verwendete Features von Bonita
- Sequenzfluss, Start- und Endereignis, Benutzer-Task, Prozessvariablen
- Exklusiver Gateway, Default-Sequenzfluss
- Vorgang (Setzen von Variablenwerten am Ende der Ausführung eines Tasks)
- Aufrufaktivität, Datenmapping
- Nachrichten-sendende und empfangende Ereignisse, Nachrichtenfluss
- Korrelation
Anleitung
- Datei downloaden, abspeichern und in Bonita Studio importieren. Die Prozesse aus den drei Dateien verhalten sich gleich in der Ausführung.
- Bei der neuesten Version des Prozesses, „Bestellung aus unterschiedl. Prozessen bearbeiten-3.0“, werden insgesamt drei separate Prozessdiagramme importiert: „Bestellung aus unterschiedl. Prozessen bearbeiten“, „Bestellung aus Produktion“, „Individuelle Bestellung“.
- Zunächst den Prozess „Bestellung aus unterschiedl. Prozessen bearbeiten“ starten. Der Prozess funktioniert trotz des beim Startereignis angezeigten Fehlers. Da der Prozess keinen Initiator hat, wird das Portal angezeigt. Es enthält keine Tasks.
- Anschließend lassen sich sowohl der Prozess „Bestellung aus Produktion“ als auch der Prozess „Individuelle Bestellung“ starten.
- Es sind keine speziellen Formulare entwickelt worden, daher sieht man immer alle Prozessvariablen. Im ersten Schritt, „Bedarf aus Produktionsplan ermitteln“ bzw. „Bedarf erfassen“, gibt man die gewünschte Ware ein.
- Im Schritt „Bestellung bestätigen“ kann man ein Häkchen setzen um anzugeben, dass die Bestellung bestätigt werden soll.
- Nach dem Wechsel zwischen den Prozessen muss man jeweils ggf. die Aufgabenliste aktualisieren. Insbesondere beim zweiten Beispiel mit dem Verteilungsprozess dauert es oftmals etwas länger, bis der nächste Task angezeigt wird.
Benutzer
- Der Prozess kann vom Benutzer admin oder jedem anderen Benutzer aus “BPMSOrga” komplett durchgeführt werden.
Passwort für alle Benutzer: bpm