 |
Activiti in Action
Tijs Rademakers
Manning
July 2012
 |
Activiti ist neben jBPM und Bonita BPM eine der drei bekanntesten Workflow Engines im Open Source-Bereich, die auf Java basieren. Übrigens wurde es vom gleichen Entwickler initiiert wie auch jBPM.
Mit Activiti lassen sich Workflows auf Basis von BPMN2 designen, implementieren und ausführen. Dabei gibt es zwei grundlegende Ansätze:
1. Standalone
Activiti kann Standalone betrieben werden. Mit dem Activiti Designer, einem Eclipse-Plugin, werden BPMN-Diagramme erstellt und mit weiteren Artefakten (Code, Skripte, Formulare) verknüpft. Der Activiti Explorer ist die Laufzeitumgebung für die Workflows. Es ist ein einfaches WAR, das neben der eigentlichen Engine auch ein Webanwendung enthält. Dort lassen sich die im Designer erstellten Artefakte installieren und einzelne Prozesse starten. Enthält der Prozess auch User Tasks, dann sehen angemeldete User diese in ihrem Eingangskorb und können sie bearbeiten.
Oft benötigen einzelne User Tasks zusätzliche Angaben und damit Formulare. Im ersten Schritt kann man die Formularfelder direkt als zusätzliche Angaben in das BPMN-Diagramm mit einbauen. Reicht das nicht aus und man benötigt ausgefeilterte Formulare, dann bietet Activiti die Möglichkeit an, mit VAADIN-Technologie ausgefeiltere Formulare zu bauen, die dann im Activiti-Explorer, der selber eine VAADIN-Anwendung ist, mitgerendert werden. VAADIN ist eine auf GWT basierende MVC-Technologie.
2. Integration in eine JEE-Anwendung
Häufiger wird aber vermutlich die Integration von Activiti in eine Java-Anwendung sein, die Workflowfunktionalität braucht. Für die prominentesten Kandidaten sind dafür jeweils eigene Kapitel im Buch vorgesehen:
- Spring, JPA (Integration in eine bestehende serverseitige Anwendung)
- Camel, Mule (Verwendung der Workflow Engine innerhalb einer EAI- oder ESB-Umgebung)
- Drools (Anwenden von komplexen und sich ändernden Business Rules innerhalb der Prozesse)
- LDAP (externe Benutzerverwaltung mit einem User Repository)
Der Text des Buches ist sehr gut lesbar und es tauchen selten Verständnisschwierigkeiten wegen fehlender Beschreibung von Zwischenschritten oder der Verwendung von noch gar nicht beschriebenen Mechanismen auf. Es wird auf viele wichtige Themen für den Entwickler und auch für den Adminstrator eingegangen. Der Sourcecode der Beispiele, die man online herunterladen kann, ist lauffähig.
Das Buch ist schon beinahe 2 Jahre alt und damit für IT-Verhältnisse schon wieder leicht angestaubt. Obwohl es seitdem keine neue Major-Version gegeben hat, sind einige Beschreibungen nicht mehr aktuell. So hat sich z.B. die Verzeichnisstruktur des Gesamtpaketes geändert und das Installationskapitel gilt deswegen nicht mehr.
Framework und Buch gefallen mir sehr gut. Nach ein paar Stunden Abendlektüre habe ich mit beider Hilfe an einem Wochenende eine kleine webbasierte ToDo-Liste gebaut, bei der sich die User gegenseitig die Tasks zuweisen können. Hat Spaß gemacht. Wenn ich da an meine ersten Gehversuche mit jBPM vor einigen Jahren zurückdenke, in denen ich auch nach tagelanger Tüftelei zu keinem einzigen konkreten Ergebnis gekommen bin 