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.

Voraussetzungen:

Anleitung

In Camunda Platform Run :

  • Der Standardport ist 8080. Falls er schon verwendet wird (z. B. von Bonita), kann man den Port ändern, indem man in der Datei configuration\default.yml folgenden Eintrag vornimmt:
# change port
server:
   port: 9090
  • Den Server mit „start.bat“ starten (der Start dauert einige Zeit).

In Camunda Modeler:

  • Die Datei „process-request-and-order.bpmn“ öffnen.
  • Mit dem Upload-Button am unteren Rand (neben „Camunda Platform“) auf den Server deployen. Falls der Port geändert wurde, muss er im folgenden Dialog unter REST Endpoint angepasst werden.
  • In einem Browser „localhost:9090“ eingeben (falls Port 9090 eingestellt wurde). User: demo, Passwort: demo.
  • Unter Applications „Tasklist“ auswählen.

In Bonita:

  • bos-Datei in Bonita als neues Projekt importieren.
  • Falls für camunda ein anderer Port als 9090 verwendet wird, muss dies in den Parametern der REST-Konnektoren im unteren Prozess geändert werden. Im zweiten und dritten Task wird die URL in lokalen Variablen gespeichert (per Skript für den Default-Wert).
  • Unter „Organization“ die Organisation „BPMCO.organization“ deployen (Default-User: admin).
  • Business Data Model deployen.
  • Unter „Diagrams“ das Diagramm („Collaboration – Request and Order External“) deployen (oder mit „Run“ deployen und direkt die Ausführung starten).
  • Mit „Applications“ gelangt man in das Bonita-Portal . Dort „Bonita User Application“ auswählen.
  • Jeder Benutzer kann den Prozess starten. Der Benutzer „admin“ kann alle Rollen im Prozess wahrnehmen, so dass man nicht zwischen verschiedenen Benutzern wechseln muss.
  • Das Standardpasswort für alle Benutzer ist „bpm“.