Neuer Ansatz

Open-Source-BPM mit Activiti

27.03.2012
Quelloffene BPM-Lösungen haben Seltenheitswert. Nicht so Activiti, eine produktiv nutzbare Plattform für Business-Process-Management. Wir haben sie uns näher angesehen.

Wenn Schwergewichte wie Alfresco und Spring Source ein neues Open-Source-Projekt ins Leben rufen, ist ihnen die Aufmerksamkeit der Java-Community gewiss. So geschah es auch im Mai 2009, als die Alphaversion der quelloffenen BPM-Plattform "Activiti" zum Download bereitgestellt wurde. Nach weiteren Releases im Monatsrhythmus stand 2010 die erste produktiv nutzbare Fassung auf der Projektseite www.activiti.org zur Verfügung.

Das aktuelle Release trägt die Versionsnummer 5.x im Namen, was wohl als kleine Anspielung auf seine Vorgeschichte gewertet werden darf: Der Projektleiter von Activiti, Tom Baeyens, wurde von Alfresco eigens für dieses Vorhaben von der zu Red Hat gehörenden Firma JBoss abgeworben. Dort war er für die quelloffene Process Engine JBoss jBPM verantwortlich, die zu diesem Zeitpunkt in Version 4 verfügbar war. Insofern ist anzunehmen, dass Activiti zwar in Bezug auf den Quellcode, jedoch nicht in Bezug auf das eingeflossene Know-how auf der grünen Wiese entstanden ist.

An der Praxis ausgerichtet

Hinter dem gemeinsamen Projekt stehen jedoch noch weitere Träger wie beispielsweise die Camunda Services GmbH aus Berlin, die Consulting und Support zu Activiti anbietet und laut eigenen Angaben schon die ersten Kunden für diese Leistungen gewinnen konnte. Camunda-Geschäftsführer Jakob Freund begründet das große Interesse an der neuen Plattform mit drei zentralen Argumenten: "Activiti ist erstens sehr stabil und leichtgewichtig, zweitens eher ein offenes Framework als ein geschlossenes Softwareprodukt, und zum Dritten realisiert es erstmalig einen neuen Ansatz für BPM-Projekte: Statt "IT follows Business` wird eine konstruktive Zusammenarbeit aller Fraktionen anstrebt. Damit wird die Plattform der praktischen Projektrealität besser gerecht und unterscheidet sich stark vom derzeitigen Marketing-Kanon vieler BPM-Hersteller, dem zahlreiche Anwender zu Recht eher skeptisch gegenüberstehen."

Dass Activiti als eine der ersten BPM-Suiten den neuen Standard BPMN 2.0 umsetzt und unter der besonders liberalen Apache-Lizenz veröffentlicht wird, dürfte nach Einschätzung von Freund für viele Unternehmen zusätzlich eine wichtige Rolle spielen. Die Apache-Lizenz ist speziell für Softwarehersteller interessant, die Activiti in ihre eigenen Produkte einbetten wollen, da sie im Vergleich zu anderen Open-Source-Lizenzen eine größere Rechtssicherheit für die kommerzielle Verwendung bietet.

Als BPM-Plattform ist das primäre Einsatzszenario für Activiti die Abarbeitung technischer Prozessmodelle. Diese bilden organisatorische Geschäftsprozesse wie den Rechnungseingang oder die Kreditvergabe durch so genanntes Human-Workflow-Management und die prozessorientierte Anwendungsintegration ("Service Orchestration") ab. Auf diese Weise werden also sowohl menschliche Prozessbeteiligte als auch interne und externe IT-Systeme zur Abarbeitung von Vorgängen herangezogen.

Explorer für Human Workflow

Den Kern einer solchen Plattform bildet die so genannte Process Engine, die im Fall von Activiti den bereits erwähnten Standard BPMN 2.0 unterstützt und besonders schnell und stabil sein soll. Um eine solche Process Engine herum gruppieren sich, je nach Produkt und Hersteller, bestimmte Komponenten. In den meisten Fällen gibt es zunächst eine Komponente für das Human-Workflow-Management, also eine Benutzeroberfläche, über die Prozessbeteiligte in Form von Tasklisten Aufgaben zugeordnet bekommen und abarbeiten können. Im Activiti-Stack heißt diese Komponente "Explorer" und ist, wie fast alle Activiti-Frontend-Komponenten, komplett über den Web-Browser benutzbar.

Laut Camunda-Chef Freund ist es jedoch ein wichtiger Vorteil von Activiti, dass diese Komponente nicht zwingend genutzt werden muss: "Der Explorer demonstriert vor allem die Möglichkeiten und liefert eine Grundlage für die Einbindung von Activiti in eigene Lösungen. Der springende Punkt ist aber, dass ich dank des offenen Charakters der Plattform einen maximalen Gestaltungsspielraum habe, in welcher Form ich zugeordnete Aufgaben in der Benutzeroberfläche meiner Softwarelösung anzeigen und bearbeiten lassen will. Wir gehen deshalb davon aus, dass viele Firmen in ihren Prozesslösungen direkt über die bereitgestellte Java-API beziehungsweise REST-Schnittstelle auf Activiti zugreifen werden."

Eingeschränktes Monitoring

Ebenfalls zum guten Ton einer BPM-Lösung gehört eine Monitoring-Komponente, um die Process Engine und laufende Prozesse überwachen und bei Bedarf Fehler beheben zu können. Diese Aufgabe übernimmt "Activiti Probe", dessen Leistungsumfang zum aktuellen Zeitpunkt im Vergleich zu kommerziellen Produkten jedoch noch deutlich eingeschränkt ist.

Da eine BPM-Plattform die Abstimmung der Prozesse zwischen Business und IT unterstützen soll, wird mit Activiti auch eine Komponente zur fachlichen Prozessmodellierung ausgeliefert. Der "Activiti Modeler" unterstützt wie die Process Engine die Notation BPMN 2.0, so dass man tatsächlich grafisch modelliert, was in der Engine technisch ausgeführt wird.

Modeler kommt von Signavio

Die für Fachbereiche konzipierte Komponente ist eine abgespeckte Version des kommerziellen Signavio Process Editors. Da auch der Modeler komplett im Browser bedient wird und nicht lokal installiert werden muss, können die Stakeholder eines BPM-Projekts relativ leicht in die Prozessabstimmung einbezogen werden. Zur grafischen Unterstützung der technischen Umsetzung kommt zusätzlich der "Activiti Designer" ins Spiel, der sich an Entwickler wendet und eine BPMN-Modellierung direkt in der Umgebung von Eclipse ermöglicht. Das nahtlose Zusammenspiel von Modeler und Designer ist allerdings nach Angaben von Camunda noch eine der Herausforderungen im Projekt.

Behoben werden wird diese Schwierigkeit möglicherweise über die Activiti-Komponente Cycle, deren Entwicklung Camunda verantwortet. "Mit Cycle legen wir einen "Glue Layer`, also eine integrierende Schicht, über die diversen Werkzeuge und Repositories in einem BPM-Projekt", erklärt Jakob Freund. "Das muss nicht nur die Komponenten von Activiti betreffen. Im Gegenteil, Cycle lässt sich auch in anderen Process Engines einsetzen oder beispielsweise an Atlassian Jira andocken." Die Idee dahinter ist, die Zusammenarbeit der verschiedenen Projektbeteiligten zu unterstützen, ohne sie zur Nutzung eines bestimmten Werkzeugs zu zwingen.

Der Weg zum BPM-Roundtrip

Aus Sicht von Activity Cycle sind die jeweiligen Arbeitsergebnisse Artefakte, die Repository-übergreifend durchsucht und betrachtet werden und über Links mitein-

ander in Beziehung gesetzt werden können. Bestimmte Funktionen wie die Generierung von Maven-Projekten aus BPMN-Prozessmodellen sollen das Forward- und Reverse-Engineering bis hin zum BPM-Roundtrip zusätzlich unterstützen.

"Mit Cycle schlagen wir ein neues Kapitel in der Geschichte von BPM auf", glaubt Freund: "Für komplexe Prozesslösungen hat sich das Versprechen des "Zero-Coding`, also die codefreie Softwareentwicklung, nicht durchgesetzt, und wir glauben auch nicht, dass es das noch tun wird. Wir brauchen stattdessen die Möglichkeit, unsere Projekte und Werkzeugketten flexibel und agil realisieren zu können: Der Analyst modelliert, der Entwickler programmiert, doch beide tun dies auf Basis von Standards wie BPMN 2.0 und Java."

Die Integrationsschicht Activiti Cycle soll diesen Grundsätzen entsprechen und sich damit eindeutig von der rein modellgetriebenen Entwicklung unterscheiden, wie sie die meisten kommerziellen Anbieter von BPM-Werkzeugen derzeit propagieren. (ph)

Screen und Grafik: Camunda