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

Cookie-Einstellungen

Diese Website verwendet Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und Zugriffe auf die Website zu analysieren. Zudem werden Informationen zu Ihrer Verwendung der Website an Partner für soziale Medien, Werbung und Analysen weitergegeben. Die Partner führen diese Informationen möglicherweise mit weiteren Daten zusammen, die Sie ihnen bereitgestellt haben oder die sie im Rahmen Ihrer Nutzung der Dienste gesammelt haben.

Weitere Informationen finden Sie in unserer Datenschutzerklärung. Dort können Sie nachträglich auch Ihre Cookie-Einstellungen ändern.

contact icon

Kontakt aufnehmen