Christian Essig, esentri AG

Schlüsselworte
BPM, Oracle BPM Suite, Activiti, Open Source, Vergleich, Workflow Management System, BPM
Suite, BPM Platform

Einleitung
Ein Vergleich zwischen den BPM Plattformen Activiti und Oracles BPM Suite wirkt wie ein ungleiches
Duell. Oracles BPM Suite ist eine umfangreiche und vollständige Softwarelösung und ist gut in die
restliche Softwareinfrastruktur von Oracle integriert. Das Open-Source Project Activiti auf der anderen
Seite kann nicht mit dem gleichen Funktionsumfang überzeugen, ist aber leichtgewichtig und flexibel.

Dieses Manuskript vergleicht die beiden Plattformen auf verschiedenen Gebieten um zu zeigen, für
welche Zwecke, welches System die geeignetere Wahl ist.

Logo

Logo2

Motivation und Einordnung
Vergleiche zwischen BPM Platformen gibt es viele. So gibt es zwischen den kommerziellen Produkten,
wie Oracles BPM oder IBM BPM, viele Vergleiche von Analysten und Marktforschern. Auf der anderen
Seite gibt es einige quelloffene BPM Systeme, wie Activiti oder jBPM, die zum Beispiel von Blogs
miteinander verglichen, werden. Doch Vergleiche zwischen den quelloffenen und kommerziellen
System existieren so gut wie nicht. Diese Arbeit ist somit nicht nur als Vergleich zwischen Activiti und
Oracles BPM Suite zu verstehen, sondern soll auch als Vergleich zwischen kommerziellen und
quelloffenen BPM Plattformen verstanden werden.
Für diesen Vergleich ist es auch wichtig, die Unterschiede zwischen einer BPM Suite und Workflow
Management Systemen zu beachten. Workflow Systeme regeln das Zusammenspiel zwischen Menschen
und Softwaresystemen. Eine wichtige Rolle dabei spielen Human Workflows. Das Herzstück eines
Workflow Management Systems ist dabei die Workflow Engine.
Die Herangehensweise einer BPM Suite hingegen geht deutlich weiter. Eine BPM Suite enthält zwar
auch eine Workflow Engine, aber es dient auch dazu Prozesse zu verstehen, zu automatisieren und zu
optimieren. Laut Gartner enthält eine BPM Suite folgende Funktionen:

  • Engine zur Prozessausführung und dem Zustandsmanagement
  • Modelgetriebene Entwicklungsumgebung
  • Dokumenten- und Contentmanagement
  • Benutzer- und Gruppenzusammenarbeit
  • Konnektivität der Systeme
  • Geschäftsereignisse, BI, BAM
  • Inline und Offline Simulation und Optimierung
  • Business Rules Management
  • Systemmanagement und Administration
  • Process Component Registry/Repository

Oracle BPM Suite bildet die Funktionalität einer BPM Suite gut ab. Auch die meisten Open Source
Systeme, wie Activiti, gehen über Standardfunktionalität eines Workflow Management System hinaus.
Activiti bezeichnet sich selbst daher nicht mehr nur als Workflow Management System, sondern als
BPM Platform.

Geschichtliche Entwicklung
Oracles BPM Suite geht aus der Erwerb Oracles von BEA und damit auch von AquaLogic BPM
(ALBPM) hervor. Nach dem Erwerb wurde die Oracle BPM Suite 10g im Jahr 2008 veröffentlicht.
Oracle greift somit auf eine lange Erfahrung im BPM Bereich zurück. Im Jahr 2010 wurde dann auf
Basis der SOA Suite 11g die BPM Suite 11g veröffentlicht. In den Zweig der 10g Version floss jedoch
noch lange Zeit Entwicklerarbeit. Die aktuelle Version der BPM Suite 12g kam im Jahr 2012 heraus.
Oracle ist nun jedoch bemüht 10g Kunden auf die neue Version zu migrieren.

Auch Activitis Ursprung liegt in einem anderen Projekt: jBPM. JBPM wurde 2002 von Tom Baeyens
ins Leben gerufen. Das Projekt wurde später Teil der jBoss-, und damit auch der RedHat Familie. Da
Tom Baeyen und Joram Barrez mit der Entwicklung nicht mehr zufrieden waren, haben sie im Jahr 2010
mit der Entwicklung von Activiti begonnen (Activiti ist jedoch eine Neuentwicklung und kein Fork von
JBPM). Ziel war es unter anderem auf mehr Unterstützer zu setzten, die weniger restriktive Apache
Lizenz 2.0 zu verwenden und die Cloudfähigkeit des Produkts zu berücksichtigen. Die erste Version
war die Version 5.0, die seitdem aktiv weiterentwickelt wurde. Aktuell ist die Version 5.19, an der
Version 6 wird aktuell gearbeitet.

Zeitstrahl der beiden Projekte

Abb. 2: Zeitstrahl der beiden Projekte

Lizenzen und Kosten
Das Open Source Projekt Activiti steht unter der Apache Lizenz 2.0 und kann somit frei verwendet
werden. Alfresco BPM bietet mittlerweile jedoch auch eine kostenpflichtige Version „Alfresco Activiti“
an.
Für Oracles BPM Suite fallen natürlich Lizenzkosten an. Beachten muss man hierbei auch auch, dass
für Oracle BPM auch die Oracle SOA Suite und den WebLogic Server notwendig sind, dafür können
somit weiter Lizenzkosten anfallen.
Dies ist einer der großen Nachteile von Oracles BPM Lösung. Die starke Bindung den Oracle Stack
kann potentielle Nutzer und Kunden abschrecken. Diese Nähe zur Oracle Familie kann jedoch im
Vertrieb auch als Vorteil gesehen werden, wenn zum Beispiel schon Oracle Produkte im Einsatz sind,
oder wenn weitere Oracle Produkte für den Kunden von Interesse sind (zum Beispiel Oracle BAM).

Kunden und Projektunterstützer
Activitis Ziel war es eine größere Gruppe von Unterstützern zu finden. Aktuell wird Activiti jedoch fast
ausschließlich von Alfresco unterstützt. Man begibt sich also auch hier in die Abhängigkeit eines
einzelnen Herstellers. Über die Anzahl der Nutzer des Open Source Projekts gibt es keine Statistiken.
Die Entwicklung wird jedoch sehr aktiv vorangebracht.
Oracles BPM Suite wird natürlich nur von Oracle entwickelt. Die Nutzeranzahl ist durch die lange
Geschichte und guten Positionierung des Produkts durch Oracle recht hoch, womit auch weiterhin mit
einer aktiven Weiterentwicklung zu rechnen ist.

Benötigte Infrastruktur
Activiti muss nicht notwendigerweise auf einem Application Server laufen. Soll Activiti jedoch auf
einem Application Server laufen, ist man sehr flexibel. Es werden Tomcat, JBoss (bzw. Wildfly),
WebLogic und Websphere unterstützt. Activiti benötigt für den Betrieb eine laufende Datenbank. Auch
hier ist man sehr flexibel, es werden hierbei MySQL, MS SQL, Oracle DB, PostgreSQL, H2 und DB2
unterstützt.
Oracle ist hier weitaus weniger flexibel und ist stark vom Oracle Stack abhängig. Die BPM Suite läuft
ausschließlich mit der Oracle Datenbank und dem WebLogic Server. Außerdem wird die SOA Suite
benötigt.

Funktionen
Bei der Funktionalität kann Activiti folgendes bieten:

  • Die Activiti Workflow Engine unterstützt den BPMN 2.0 Standard.
  • Vielseitig in ein Programm integrierbar (zum Beispiel durch die Java API oder durch Aufrufen einer REST-API).
  • Unterstützung von Maven.
  • Lauffähig auf gängigen Servern und Applikationsserver. Die Engine kann aber auch als Library in jede Java Applikation eingebunden werfen.
  • Cloud- und Clusterfähig.
  • Gute Hilfsmittel für die Entwicklung. Umfangreiche API. Unterstützung von CDI. Es besteht eine gute Unterstützung des Spring Frameworks, auch EJB wird unterstützt. In Script Tasks in den Prozessen werden JavaScript und Groovy unterstützt.
  • Unittesting von Prozessen
  • Grundlegende Monitoringfähigkeiten

Oracles BPM Suite setzt u.a. auf folgenden Funktionsumfang:

  • Service Engine für BPMN und BPEL
  • Unterstützung von Adaptive Case Management (es wird auch der CMMN Standard unterstützt)
  • Unterstützung von Ant (Maven auch nutzbar).
  • Cloud- und Clusterfähig.
  • Geschäftsregelengine
  • Simulation und Analyse von Prozessen. Process Player für die Validierung.
  • Gestalten von Forms
  • Umfangreiche Monitoringfähigkeiten (BAM)
  • Integriertes Contentmanagement
  • Mobile Unterstützung mit Oracle ADF Mobile
  • Best Practice mit Process Accelerators

Bei dem Vergleich der Funktionalität wird schnell ersichtlich, dass Activiti nicht mit dem gleichen
Funktionsumfang aufwarten kann. So fehlen Activiti grundlegende Fähigkeiten, wie eine
Geschäftsregelengine oder die Simulation und Analyse von Prozessen. Außerdem kann Oracle mit BAM
und B2B seien Stärken ausspielen, indem es weitere Produkte aus den Oracle Stack nahtlos integriert.

Auf der anderen Seite kann Actitvi im Bereich der Funktionalität besonders bei der umfangreichen und
einfachen Entwicklungsfunktionalität punkten. Auch wenn der Unterschied der beiden Kontrahenten
hier sehr groß wirkt, kann man viele Funktionen die man in einer BPM Suite findet auch mit Activiti
erreichen. So kann man als Geschäftregelengine problemlos die freie Drools Rule Engine verwenden.

Die größten Lücken seitens Activiti bestehen bei der Prozessanalyse und beim Adaptive Case
Management. In diesen Bereichen kann Activiti noch nicht mit einem Produkt aufwarten.

Komponenten
Für die Modellierung existiert bei Activiti der Web Modeler und der Designer, den man als Eclipse
Plugin installieren kann. Für das Management der Prozesse existiert der Activiti Explorer. Der Explorer
ist für die Verwaltung und das Monitoring zuständig. Außerdem kann man Activiti über eine REST
Schnittstelle verwalten.
Oracle Angebot ist in dieser Hinsicht deutlich umfangreicher. Die Webapplikation Process Composer
ist das Tool für die Prozessanalysten und -nutzer. Man kann hier Forms, Daten und Geschäftsregeln
verwalten. Das JDeveloper basierte BPM Studio dient zur Modellierung, Simulation und
Implementierung. Dieses Tool ist für Prozessentwickler gedacht. Außerdem gibt es noch den Process
Workspace, hier können Tasks und Prozessinstanzen verwaltet werden.

Installation und Nutzung
Die Installation bei Activiti ist denkbar einfach gestaltet. Man kann Activiti prinzipiell auch einfach in
jede Java Applikation einbinden und eine Process Engine erstellen, in dem man zum Beispiel mittels
Maven die Abhängigkeiten auflöst. Will man Activiti auf einem Server installieren muss man einfach
ein WAR-File auf dem Server deployen. Danach muss man nur noch SQL-Skripte auf einer
vorhandenen Datenbank ausführen und in der WAR-Datei die Datenbankeinstellungen anpassen.
Ganz anders sieht es hier bei Oracle aus. Die Einrichtung ist durch den großen Funktionsumfang deutlich
umfangreicher und kann mehrere Stunden in Anspruch nehmen. Eine einfache Lösung zum Testen und
Entwickeln existiert mit dem Quick Start (3,4GB groß).
Trotz der größeren Einstiegshürde rühmt sich Oracle damit, dass die erfolgreiche Umsetzung nach den
Best Practices in 90 Tagen zu schaffen ist. Eine Umsetzung mit Activiti ist jedoch deutlich schwere
abzuschätzen, da hier nach der kleinen Einstiegshürde unter Umständen deutlich mehr manuelle
Entwicklung notwendig ist.

Trends
Betrachtet man die aktuelle Entwicklung im Bereich Geschäftsprozessmanagement, dann gibt es
momentan zwei große Entwicklungen: Zum einen gibt es das Trendthema Adaptive Case Management
(ACM), zur Abbildung von schwächer strukturierten Prozessen. Außerdem macht natürlich auch das
Thema Cloud vor dem Geschäftsprozessmanagement keinen Halt.
Im Bereich ACM bietet Oracle mittlerweile eine ACM Engine, die den CMMN Standard unterstützt an.
Auch den Bereich Cloud nimmt Oracle sehr ernst, hier bietet Oracle seit kurzem die Process Cloud an.
Activiti scheint sich hier eher auf sein Kerngeschäft zu konzentrieren. Im Bereich ACM wird noch kein
Produkt angeboten. Doch es existiert seit Ende 2014 die Activiti Cloud als Cloud Service.

Fazit
Activiti schein auf den ersten Blick weit hinter den großen BPM Suites zu stehen. Doch wenn man sich
tiefgehender mit der Thematik beschäftigt, bemerkt man, dass man viele Funktionen mit nur mit einem
geringfügigeren Mehraufwand auch mit Activiti umsetzbar ist. Die Herangehensweise ist zwar eine
andere und häufig auch erst umständlicher, aber die Lösung ist dann passgenauer auf den Use-Case
abgestimmt.
Punkten kann Activiti vor allem mit einer geringen Einstiegshürde und einer sehr großen Flexibilität.
Auf der anderen Seite steht die Oracle BPM Suite. Sie hat sich den Namen „BPM Suite“ auch wirklich
verdient. Oracle BPM überzeugt vor allem durch den großen Produktumfang und der guten Integration
in andere Produkte des Oracle Stacks. Außerdem kann sich Oracle durch eine ausgiebige Prozessanalyse
und Adaptive Case Management von Activiti abgrenzen.