Toilet Paper #89

Integration von Geschäftsprozessen leicht gemacht mit Camunda

Problem

Im Projektalltag begegnen uns des Öfteren aufwendige Geschäftsprozesse, die wir für den Kunden in bestehender Software abbilden müssen. Im Normalfall erhält oder erstellt man auf Basis der Kundenanforderungen ein Prozessdiagramm in "PowerPoint Notation" und implementiert z.B. einen eigenen Automaten, der dem Prozess entspricht.

Eine solche Individuallösung ist aber meist sehr unflexibel und man läuft Gefahr, dass bei Änderungen des Prozesses das Ausgangsdiagramm und der Code auseinander laufen.

Lösung

Es gibt verschiedene Workflow Management Systeme, die auf unterschiedliche Art und Weise in ein bestehendes Projekt integriert werden können. In zwei Projekten im ABI-Umfeld haben wir uns für Camunda entschieden, eine Open Source Java Workflow-Engine, die mit Prozessdefinitionen nach BPMN 2.0, DMN 1.1 und CMMN 1.1 arbeitet.

Dies bietet viele Vorteile:

  • da die unterstützten Notationen standardisiert sind, ist man nicht an eine bestimmte Workflow-Engine gebunden
  • ein BPMN-Prozess ist ein XML-Dokument, das visuell mit dem Kunden in Editoren modelliert und von Workflow-Engines verarbeitet werden kann
  • durch Versionierung von Prozessen ist es sehr einfach, mit dem Kunden Prozesse weiterzuentwickeln
  • Geschäftsprozesse können in Teilprozesse untergliedert werden
  • Camunda bringt drei Webanwendungen mit, um manuelle Prozessaufgaben zu bearbeiten, User zu verwalten und Prozesse zu überwachen
  • Camunda kann auf unterschiedliche Art integriert werden, z.B. als JAR-Bibliothek, als clusterfähiger standalone REST-Service oder als Container-Service

Beispiel

Camunda Workflow

Die Abbildung beschreibt einen BPMN-Prozess, um eine Pizza im Restaurant zu bestellen. Er besteht aus 3 Lanes, jeweils eine für den Gast, für den Kellner und für den Koch.

Weiterführende Aspekte

---

Autor

Andreas Springer / Senior Software Architect / Business Division Banking & Insurance

Toilet Paper #89 Camunda

Wir verwenden Cookies, um unsere Webseite für Sie zu optimieren. Mit dem Besuch unserer Webseite erklären Sie sich damit einverstanden. // Our website is using cookies to improve your experience. By continuing to browse the site, you are agreeing to our use of cookies.

Weitere Informationen finden Sie in unserer Datenschutzerklärung. // For more information, please refer to our privacy policy.