© Excellent backgrounds/Shutterstock.com
Java Magazin
Open-Source-BPM für den Werkzeugkasten des Java-Entwicklers

camunda BPM 7.0

Mit camunda BPM gibt es ein BPMS unter Apache-Open-Source-Lizenz. Es ist keine proprietäre Blackbox-BPM-Suite, sondern eine leichtgewichtige „embeddable“ Java Process Engine inklusive notwendiger Tools für den Enterprise-Einsatz. Es kann sowohl in Plain-Java-, Spring- oder Tomcat-Umgebungen als auch in Java-EE-Containern, wie JBoss, GlassFish, WebSphere oder WebLogic, eingesetzt werden. Zeit, sich das Ganze einmal genauer anzuschauen und es auch von vergleichbaren Projekten (wie z. B. Activiti) abzugrenzen. In der nächsten Ausgabe folgt dann ein Erfahrungsbericht von Zalando.

Bernd Rücker


In den letzten Jahren hat sich viel getan im BPM-Bereich. Der Modellierungsstandard BPMN (Business Process Model and Notation) ist weltweit akzeptiert und wird nicht mehr in Frage gestellt. Seit Version 2.0 definiert er auch die so genannte Ausführungssemantik und kann von Process Engines direkt verarbeitet werden – ohne Übersetzung in eine andere Sprache wie BPEL oder jPDL. Auch sind die Engines an sich sehr gereift und dank Open Source für jedermann verfügbar. Ein Trend hat sich dabei in unserer Projektpraxis über die Maßen erfolgreich bewährt: „Embeddable Java Process Engines“.

Nachdem wir jahrelang an JBoss jBPM und Activiti mit entwickelt haben, haben wir Anfang des Jahres dann unser eigenes Open-Source-Projekt ins Leben gerufen: camunda BPM. Das Ziel ist es, unsere Vision rund um „BPM + Java“ in der Breite zur Verfügung zu stellen – denn die Projekterfahrung hat uns recht gegeben, dass hier offensichtlich Bedarf besteht.

Abb. 1: Komponenten der camunda-BPM-Plattform

Abbildung 1 stellt die Komponenten der camunda-BPM-Plattform dar. Das Projekt liegt zeitgemäß auf GitHub [1]. Aber für alle, die BPM, BPMN oder Workflow-Engines nicht so genau kennen, starten wir mit einem kleinen Beispiel.

Rechnungseingangsprozess

Es mag ein abgegriffenes Beispiel sein – aber dafür ist es übersichtlich. Und ich hatte es auch schon öfter beim Kunden unter der Nase. Abbildung 2 zeigt den umzusetzenden Prozess; Prozess und Workflow sehe ich von den Begriffen her synonym in diesem Zusammenhang.

Abb. 2: BPMN-2.0-Prozessmodell im camunda modeler (Eclipse-Plug-in)

Der Prozess wird durch eine eingehende Rechnung gestartet (StartEvent). Daraufhin bekommt die Team-Assistenz eine Aufgabe zugewiesen, um zu bestimmen, wer die Rechnung freigeben soll (UserTask). Dann folgt die Rechnungsfreigabe an sich (UserTask) – je nach Ergebnis entscheidet die Engine, wo es weiter geht (ExclusiveGateway). Ist die Rechnung freigegeben, dann wird sie in der Buchhaltung erfasst (UserTask) und danach wird die Rechnung vollautomatisch archiviert (ServiceTask). Ein typischer Prozess also, er enthält Aufgaben für Menschen aber auch die vollautomatische Orchestrierung von Services. In dem Modell werden noch zusätzliche Attribute hinterlegt – wie in Abbildung 3 angedeutet. Diese werden von der Process Engine zur Automatisierung gelesen und sind im Gegensatz zum Rest des Models nicht standardisiert.

Abb. 3: Attribute für die Ausführung

Moment, ist ein Standard nicht was Gutes? Natürlich, aber nicht um jeden Preis...

Java Magazin
Open-Source-BPM für den Werkzeugkasten des Java-Entwicklers

camunda BPM 7.0

Mit camunda BPM gibt es ein BPMS unter Apache-Open-Source-Lizenz. Es ist keine proprietäre Blackbox-BPM-Suite, sondern eine leichtgewichtige „embeddable“ Java Process Engine inklusive notwendiger Tools für den Enterprise-Einsatz. Es kann sowohl in Plain-Java-, Spring- oder Tomcat-Umgebungen als auch in Java-EE-Containern, wie JBoss, GlassFish, WebSphere oder WebLogic, eingesetzt werden. Zeit, sich das Ganze einmal genauer anzuschauen und es auch von vergleichbaren Projekten (wie z. B. Activiti) abzugrenzen. In der nächsten Ausgabe folgt dann ein Erfahrungsbericht von Zalando.

Bernd Rücker


In den letzten Jahren hat sich viel getan im BPM-Bereich. Der Modellierungsstandard BPMN (Business Process Model and Notation) ist weltweit akzeptiert und wird nicht mehr in Frage gestellt. Seit Version 2.0 definiert er auch die so genannte Ausführungssemantik und kann von Process Engines direkt verarbeitet werden – ohne Übersetzung in eine andere Sprache wie BPEL oder jPDL. Auch sind die Engines an sich sehr gereift und dank Open Source für jedermann verfügbar. Ein Trend hat sich dabei in unserer Projektpraxis über die Maßen erfolgreich bewährt: „Embeddable Java Process Engines“.

Nachdem wir jahrelang an JBoss jBPM und Activiti mit entwickelt haben, haben wir Anfang des Jahres dann unser eigenes Open-Source-Projekt ins Leben gerufen: camunda BPM. Das Ziel ist es, unsere Vision rund um „BPM + Java“ in der Breite zur Verfügung zu stellen – denn die Projekterfahrung hat uns recht gegeben, dass hier offensichtlich Bedarf besteht.

Abb. 1: Komponenten der camunda-BPM-Plattform

Abbildung 1 stellt die Komponenten der camunda-BPM-Plattform dar. Das Projekt liegt zeitgemäß auf GitHub [1]. Aber für alle, die BPM, BPMN oder Workflow-Engines nicht so genau kennen, starten wir mit einem kleinen Beispiel.

Rechnungseingangsprozess

Es mag ein abgegriffenes Beispiel sein – aber dafür ist es übersichtlich. Und ich hatte es auch schon öfter beim Kunden unter der Nase. Abbildung 2 zeigt den umzusetzenden Prozess; Prozess und Workflow sehe ich von den Begriffen her synonym in diesem Zusammenhang.

Abb. 2: BPMN-2.0-Prozessmodell im camunda modeler (Eclipse-Plug-in)

Der Prozess wird durch eine eingehende Rechnung gestartet (StartEvent). Daraufhin bekommt die Team-Assistenz eine Aufgabe zugewiesen, um zu bestimmen, wer die Rechnung freigeben soll (UserTask). Dann folgt die Rechnungsfreigabe an sich (UserTask) – je nach Ergebnis entscheidet die Engine, wo es weiter geht (ExclusiveGateway). Ist die Rechnung freigegeben, dann wird sie in der Buchhaltung erfasst (UserTask) und danach wird die Rechnung vollautomatisch archiviert (ServiceTask). Ein typischer Prozess also, er enthält Aufgaben für Menschen aber auch die vollautomatische Orchestrierung von Services. In dem Modell werden noch zusätzliche Attribute hinterlegt – wie in Abbildung 3 angedeutet. Diese werden von der Process Engine zur Automatisierung gelesen und sind im Gegensatz zum Rest des Models nicht standardisiert.

Abb. 3: Attribute für die Ausführung

Moment, ist ein Standard nicht was Gutes? Natürlich, aber nicht um jeden Preis...

Neugierig geworden?


    
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang