Zwei Prozesse, mit denen das Zusammenspiel der Prozesse unterschiedlicher Geschäftspartners mit je einem eigenen BPMS demonstriert wird. Die Prozesse und ihr Zusammenspiel werden in Kapitel 8 des Buchs beschrieben.
Download
Kollaboration – Bestellung aufgeben-1.0
Kollaboration – Bestellung bearbeiten-1.0
Neue Versionen (ab Bonita 7.0.2. Mit den obigen Versionen gab es Probleme beim Zugriff auf die MySQL-Datenbank):
Kollaboration – Bestellung aufgeben-2.0
Kollaboration – Bestellung bearbeiten-2.0
Voraussetzungen
- Bonita BPM Community Edition auf beiden Rechner installiert. Die Prozesse wurden mit Version 6.2.5 getestet. Andere Versionen ab 6.1 sollten in der Regel aber auch funktionieren.
- Organisationsstruktur „BPMSOrga“ auf den Bonita Servern beider Computer veröffentlicht (Anleitung hier).
- MySQL-Datenbank installiert und gestartet. Diese ist kein Bestandteil der Standard-Bonita-Installation, sondern muss separat installiert werden (Download unter http://dev.mysql.com/downloads/mysql/). Auch andere Datenbanken sind möglich, dafür müssen die Eintragungen im Datenbank-Konnektor angepasst werden.
Falls Sie keine eigene Datenbank installieren möchten, können Sie auch die interne Datenbank von Bonita nutzen. Ein Beispiel findet sich hier: Kunden festlegen - MySQL-Datenbank installiert und gestartet. Diese ist kein Bestandteil der Standard-Bonita-Installation, sondern muss separat installiert werden (Download unter http://dev.mysql.com/downloads/mysql/). Auch andere Datenbanken sind möglich, dafür müssen die Eintragungen im Datenbank-Konnektor angepasst werden.
Ggf. müssen Sie in der MySQL Workbench erst einen User anlegen, der Zugriff von dem anderen Rechner aus hat (mit host „%“ gibt man an, dass der Zugriff von jedem anderen Rechner aus möglich ist).
Verwendete Features von Bonita
- Sequenzfluss, Start- und Endereignis, Benutzer-Task, Service-Task, Prozessvariable, Formulare für Benutzertasks
- Exklusiver Gateway, Default-Sequenzfluss
- Vorgang (Setzen von Variablenwerten am Ende der Ausführung eines Tasks), Groovy-Skript
- Nachrichtenflüsse, Nachrichtenereignisse, Korrelation.
- Zeitereignisse
- Komplexe Datenstrukturen mit XML
- Datenbank-Konnektor
Anleitung
- bos-Datei des Prozesses „Bestellung aufgeben“ auf Computer 1 downloaden und abspeichern, in Bonita Studio importieren.
- bos-Datei des Prozesses „Bestellung bearbeiten“ auf Computer 2 downloaden und abspeichern, in Bonita Studio importieren.
- Die für den Nachrichtenaustausch verwendete Datenbank muss auf einem der Computer laufen. Beim Prozess des anderen Computers muss dann in allen Datenbank-Konnektoren im Pfad der Datenbank „localhost“ durch den Namen oder die IP-Adresse des anderen Computers ersetzt werden.
Ist die Datenbank auf Computer 1 installiert, so ist auf Computer 2, wo „Bestellung bearbeiten“ laufen soll, in den Tasks „Nachricht in Datenbank schreiben“, „Neue Bestellungen aus Datenbank lesen“ und „Nachricht in Datenbank als gelesen markieren“ im Datenbank-Konnektor im Eintrag „URL“ „localhost“ durch den Namen bzw. die IP-Adresse von Computer 1 einzutragen. - Auf Computer 1 den Pool „Bestellung empfangen“ selektieren und ausführen. Hierdurch wird die Datenbank angelegt (sofern sie noch nicht vorhanden ist). Außerdem sieht dieser Hilfsprozess nun regelmäßig nach, ob eine neue Nachricht vom anderen Prozess in der Datenbank vorliegt.
- Auf Computer 2 den Pool „Bestellungen empfangen“ selektieren und ausführen. Auch dieser Hilfsprozess sieht nun regelmäßig nach, ob eine neue Bestellung vom anderen Prozess in der Datenbank vorliegt.
- Nun kann man im Bonita-Portal auf Computer 1 unter „Apps“ den Prozess „Bestellung aufgeben“ starten.
- Man muss in gewissen Abständen in den Portalen beider Computer die Taskliste aktualisieren, damit die neuen Tasks angezeigt werden. Da der Abfragezyklus 20 Sekunden dauert und auch z. B. zwischen Bestätigung eines Auftrags und Bestätigung des Versandes 10 Sekunden Zeitverzögerung ist, dauert es oftmals einige Zeit, bis der nächste Task verfügbar ist.
Hinweise
- Die Datei „kollaboration.xsd“ zur Beschreibung der Datenstrukturen findet sich nach dem Import des Prozesse im Bonita-Installationsverzeichnis unter workspace\default\xsd.
- Die zeitlichen Startereignisse bei den Hilfsprozessen zum Empfang von Nachrichten bewirken, dass der jeweilige Prozess direkt nach dem Deployen ein einziges Mal gestartet wird. Anschließend läuft er in einer Endlosschleife, bis ihn ein Administrator abbricht.
- Die Zeitverzögerung zwischen Bestätigung eines Auftrags und Bestätigung des Versandes dient dazu, dass man nicht direkt zum Versandtask weitergeleitet wird, sondern der Task in die Taskliste eingetragen wird. Schließlich dauert der Versand ja einige Zeit, sodass die sofortige Weiterleitung ungeeignet ist. Der Mitarbeiter versendet den Artikel, wählt anschließend den Task in der Taskliste und bestätigt den Versand. In der Praxis hätte man hier normalerweise sowieso verschiedene Rollen.
- Prinzipiell könnte man die Prozesse beider Partner auch auf einem einzigen Computer laufen lassen. Installiert man Bonita zweimal, muss man sich darum kümmern, dass die Ports der einen Installation geändert werden, damit es keine Kollisionen gibt. Man kann auch beide Prozesse in derselben Bonita-Installation starten. Da aber jeder Benutzer alle Tasks ausführen kann, bekommt man dann seine eigenen Bestellungen zur Genehmigung vorgelegt. Damit wird das Zusammenspiel nicht so deutlich, wie wenn man verschiedene Computer benutzt.
Benutzer
Jeder Benutzer aus BPMSOrga kann den Prozess „Bestellung aufgeben“ starten und alle Tasks ausführen.
Passwort für alle Benutzer: bpm