JBPM
# JBPM

jBPM ist ein von JBoss entwickeltes Workflow-Management-System zur Ausführung von Arbeitsabläufen, das in Java programmiert und unter der Open-Source-Lizenz Apache 2.0 veröffentlicht ist. Damit lassen sich Aufgaben wie Prozessmanagement, Arbeitsabläufe und Orchestrierung umsetzen. Die Arbeitsabläufe müssen dabei mittels ausführbarer Geschäftsprozesssprachen definiert werden. jBPM unterstützt hier die Prozesssprachen BPMN 2.0, jPDL, BPEL und Pageflow.

## Funktionsweise

Der Arbeitsablauf wird durch Knoten und Transitionen in einer XML-Datei beschrieben. An den verschiedenen Arten von Knoten wie Entscheidungen, Verzweigungen etc. werden die auszuführenden Verarbeitungen z. B. Berechnungen durch Verknüpfung mit einer Java-Klasse vorgenommen.

Zur Abarbeitung der Prozesse verwendet jBPM die sogenannte Process Virtual Machine (PVM). Diese ist von der verwendeten Business-Prozess-Sprache unabhängig, wodurch die Java-Applikation ebenfalls von der verwendeten Business-Prozess-Sprache unabhängig wird.

Mit diesem Vorgehen bleibt der Arbeitsablauf flexibel und die an den Knoten hängenden Verarbeitungen können einfach wiederverwendet werden. jBPM ist ein leichtgewichtiges Framework, welches auch ohne Applikationsserver eingesetzt werden kann. Somit kann jBPM in unterschiedlichen Applikationsarchitekturen verwendet werden und es ist möglich, den implementierten Arbeitsablauf mit den gängigen Mitteln z. B. JUnit ohne großen Aufwand zu testen.

Für die Erstellung und Bearbeitung der Arbeitsabläufe gibt es einen grafischen Editor, welcher als Eclipse-Plug-in zur Verfügung steht.

