Schlanker Workflow - Activiti vs. Camunda

Frischer Wind für BPM

Der Trend zu Digitalisierung und Industrie 4.0 brachte auch frischen Wind in den Markt von Workflow-Systemen und BPM (Business Process Modeling). Wo vor Jahren noch schwerfällige und techniklastige Systeme einen Start in diese Welt schwer machten, bieten heute offene und leichtgewichtige Frameworks auf Basis guter Standards die Möglichkeit, rasch einzusteigen. Wir betrachten heute die verwandten Produkte Activiti und Camunda BPM.

Warum sollte man überhaupt ein BPM-System verwenden?

Die Hauptvorteile aus fachlicher Sicht sind:

  • Grafische Modelle von Prozessen verbessern die Kommunikation zwischen Fachabteilung und Software-Entwicklung.
  • Der Einsatz von BPM führt zu mehr Transparenz und Agilität in den Prozessen des Unternehmens.
  • Abläufe, die auf Prozessmodellen basieren, besitzen automatisch eine aktuelle Dokumentation.
  • Die im Modell ausgedrückten Abläufe sind sauber von der Software getrennt.
  • Sind BPM-Systeme erst eingeführt, bieten sie einen Werkzeugkasten für mehr Produktivität bei der Entwicklung.

Activiti ist aktuell die Workflow-Engine des bekannten Dokumenten-Management-Systems Alfresco. Die Erstellung und Freigabe von Dokumenten und die anschließende Veröffentlichung ist dort ein beispielhafter Workflow.

Camunda wurde 2013 von Activiti abgespalten und als eigenes Projekt weiterentwickelt. Camunda BPM ist darauf fokussiert, sowohl den Business Aspekt als auch den technischen Aspekt von BPM abzudecken.

Grob betrachtet gibt es nur wenige Eigenschaften, in denen sich die Produkte technisch unterscheiden:

ActivitiCamunda BPM
Hat bei Einbindung in OSGI-Umgebungen die Nase vornVerfügt über bessere Möglichkeiten zur Integration in JMX / TomCat / JEE- Umgebungen
Web Modeler: ist enthaltenWeb Modeler: wird seit 2014 über bpmn.io abgedeckt
Zur Anzeige von Workflows wird ein Explorer auf Basis von Vaadin verwendetFür die Anzeige von Workflows wird eine Tasklist auf Basis HTML5 angeboten
Besonderheit: bietet die Möglichkeit, die gleiche Process Engine in verschiedenen Applikationen einzusetzen

Die beiden Open Source Produkte unterliegen der Apache License und können so auch unproblematisch in bestehende Anwendungen und Produkte integriert werden.

Im Zuge der Erstellung von mehreren Workflows in unserem Controlling-Produkt solBSC haben wir beide Frameworks auf ihre fachlichen sowie technischen Voraussetzungen geprüft. Da sich die funktionalen Unterschiede, wie schon erwähnt, in Grenzen halten, gaben vor allem die besseren Integrationsmöglichkeiten in unsere bestehenden Anwendungen und die umfangreichere technische Dokumentation den Ausschlag für Camunda.

Das Einbinden von Camunda in unsere bestehende Spring-Applikation war weitestgehend unkompliziert: Workflow-Datenbank erstellen, Spring-Konfiguration anpassen und schon konnte es losgehen. Mit dem grafischen Designer kann man die einzelnen Tasks einfach zusammenziehen, wodurch die Erstellung der Workflows ebenfalls einfach ist. Bei der technischen Umsetzung ist darauf zu achten, saubere Schnittstellen zwischen den einzelnen Tasks zu definieren. So ist sichergestellt, dass die Workflows jederzeit angepasst werden können.

Im Produktiveinsatz ist auf die korrekte Konfiguration des Applikationsservers zu achten. Dann läuft das Workflow-Modul sehr stabil und fehlerresistent.

Fazit

Die beiden Workflow-Systeme sind wirklich schlank und können rasch in bestehende Systeme integriert werden. Es gibt wenige Unterschiede, wobei Camunda leichte Vorteile verbucht und ganz auf die Verbesserung der Verbindung zwischen Fachbereich und IT fokussiert ist.

Autoren: Gerald Holzbauer, Markus Hiesmair