Analyse von Acitviti

Aus Winfwiki

Wechseln zu: Navigation, Suche

Fallstudienarbeit

Hochschule: Hochschule für Oekonomie & Management
Standort: Düsseldorf
Studiengang: Bachelor Wirtschaftsinformatik
Veranstaltung: Fallstudie / Wissenschaftliches Arbeiten
Betreuer: Prof._Dr._Uwe_Kern
Typ: Fallstudienarbeit
Themengebiet: Geschäftsprozessmodellierung
Autor(en): André Reising, Deniz Yarba
Studienzeitmodell: Abendstudium
Semesterbezeichnung: SS11
Studiensemester: 2
Bearbeitungsstatus: begutachtet
Prüfungstermin: 20.06.2011
Abgabetermin: 17.06.2011


Inhaltsverzeichnis

1 Einleitung

Die Gestaltung effizienter Geschäftsprozesse ist eine zentrale Unternehmensaufgabe, an der heterogene Anspruchsgruppen in verschieden Rollen beteiligt sind. In der Vergangenheit wurden immer neue Softwarelösungen, sogenannte BPM-Systeme, vorgestellt,um Unternehmen bei der Gestaltung und Steuerung von Geschäftsprozessen maximal zu unterstützen. Ein Produkt, das erst vor kurzem auf dem Markt erschienen ist, ist Activiti. Activiti ist ein Open Source-Produkt mit dem Anspruch die Zusammenarbeit der unterschiedlichen Prozessbeteiligten optimal zu unterstützen. Im Rahmen dieser Fallstudie wird versucht das BPM-System "Activiti" zu bewerten. Diese Arbeit soll einen Überblick über den Funktionumfang und die Marktreife von Activiti geben. Darüber hinaus soll ein kurzer Überblick über die geplante Weiterentwicklung von Activit geben werden.

2 Grundlagen

2.1 Activiti

Activiti ist eine ressourcenschonende Workflow- und BPM-Plattform. Eine BPM-Plattform bezeichnet eine Anwendung, die sich auf die Modellierung und Ausführung von Prozessen konzentriert. Die auszuführenden Prozesse werden vorher definiert und beim eigentlichen Ausführen des Prozesses werden von der Engine alle Aktivitäten nacheinander abgearbeitet.

Activiti ist eine neue BPM-Plattform, die sich darauf konzentriert, für Geschäftsleute, Entwickler und Systemadministratoren gleichermaßen ein anwenbares und sehr leistungsstarkes Workflow-Tool zu sein. Im Kern befindet sich eine schnelle und solide BPMN 2.0-Prozess-Engine für Java, die eine hohe Flexibilität und ausgiebige Möglichkeiten der Integration mit anderen Geschäftsapplikationen verspricht.

2.1.1 Vorgeschichte von Activiti

Alfresco, Hersteller der führenden Open Source-Plattform für Social Content Management, hat als Unterstützung für das Konzept Tom Baeyens, den Projektleiter von „Activiti“, von der Firma Red Hat abgeworben, welche zum Unternehmen JBoss gehört.

JBoss entwickelte unter dem Namen jBPM eine freie Plattform zur Ausführung definierter Arbeitsabläufe mittels ausführbarer Geschäftsprozesssprachen. Die Basis für die Entwicklung ist Java. Es lassen sich Aufgaben wie Prozessmanagement, Arbeitsabläufe und Orchestrierung umsetzen.

Tom Baeyens, der hauptverantwortliche Projektleiter im Activiti Team, hat viel Know-How aus dem jBPM-Projekt in Activiti eingebracht - ein Grund, warum das Look-and-Feel von Activiti dem von jBPM sehr ähnlich ist. Tom Baeyens war für die quelloffene Process Engine JBoss jBPM verantwortlich, die zum Zeitpunkt des Wechsels 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.

2.1.2 Träger von Activiti

Activiti ist ein Open Source Projekt, welches nicht direkt von einem Unternehmen entwickelt und vorangetrieben wird. Das Activiti-Team besteht zurzeit aus einem Zusammenschluss von zehn Unternehmen die im Nachfolgenden beschrieben sind:

Abb.1 Alfresco Logo
Abb.1 Alfresco Logo
Alfresco

Alfresco ist die führende Open Source-Alternative für Enterprise Content Management (ECM). Sie verbindet Open Source-Innovationen mit der Stabilität einer hochprofessionellen Unternehmensplattform. Mit dem Open Source-Modell bietet Alfresco stets die beste Technologie auf diesem Gebiet. Die Open Source Community trägt dazu bei, hochleistungsfähige Software schneller zu wesentlich geringeren Kosten zu entwickeln. [1]

Abb.2 SpringSource Logo
Abb.2 SpringSource Logo
Spring Source

SpringSource bietet eine Plattform Ihrer Wahl für Enterprise-Java-Anwendungen von heute und für virtualisierte Anwendungsarchitekturen sowie für Cloud-Anwendungsarchitekturen von morgen. Ein Großteil der Fortune 2000-Unternehmen, darunter zahlreiche der weltweit größten Finanzinstitute, Einzelhändler, Produzenten, Unternehmen aus dem Bereich der medizinischen Versorgung, Technologieunternehmen und Unternehmen des öffentlichen Sektors, sind bereits SpringSource Kunden. [2]

Abb.3 AtosOrigin Logo
Abb.3 AtosOrigin Logo
Atos Orgin

Atos Origin ist ein weltweit operierender Dienstleister im IT-Bereich. Das gesamte Spektrum an Beratung und Dienstleistungen der Informationstechnologie wird vom Unternehmen selbst angeboten. Die Kompetenzbereiche umfassen Consulting, Systemintegration, Outsourcing und High Tech Transactional Services. Atos Origin erzielt einen Jahresumsatz von fünf Milliarden Euro und beschäftigt 49.000 Mitarbeiter in 40 Ländern.[3]

Abb.4 Signavio Logo
Abb.4 Signavio Logo
Signavio

Signavio hat den Anspruch Prozessmanagement einfacher und leichter zugänglich für kleine und große Organisationen zu machen. Alle Beteiligten sollen dabei in die Prozessgestaltung eingebunden werden. Mit Sitz in Berlin zeichnet sich Signavio durch technische Innovation und Erfahrung im Geschäftsprozessmanagement aus. Signavio hat seine Wurzeln am Hasso-Plattner-Institut in Potsdam und setzt auf einen kontinuierlichen Austausch mit der Wissenschaft. [4]

Abb.5 Camunda Logo
Abb.5 Camunda Logo
Camunda

Camunda wurde 2002 gegründet. Bis Ende 2007 wurde der Name vor allem mit der spezialisierten Kompetenz des Gründers und Geschäftsführers Bernd Rücker verbunden, der seine Kunden erfolgreich im Themenfeld BPM unterstützt. Im April 2008 wurde die camunda services GmbH gegründet, die das allgegenwärtige Problem der Verständniskluft zwischen Business und IT in den Projekten effektiver zu lösen versucht. [5]

Abb.6 NextLevel Logo
Abb.6 NextLevel Logo
Next Level

Die Next Level Integration GmbH ist ein unabhängiges Systemhaus, das die Optimierung von Geschäftsprozessen beim Kunden als Unternehmenziel festgelegt hat. Sie begleiten Projekte über alle Phasen hinweg. Von der strategischen Ausrichtung und der Planung über die Implementierung und dem Going Live Support bis hin zur kontinuierlichen Verbesserung.[6]

Abb.7 MuleSoft Logo
Abb.7 MuleSoft Logo
Mule Soft

Das Open-Source-Mule-Projekt wurde 2003 von Ross Mason gegründet. MuleSoft entwickelte eine neue Plattform und legte besonderen Wert auf die Einfachheit der Entwicklung, die Flexibilität der Komponenten und Wiederverwendbarkeit von Komponenten. Heute ist Mule ESB die weltweit am weitesten verbreitete Open-Source-ESB, mit mehr als 1,5 Millionen Downloads und über 2.500 Installationen. Namhafte Unternehmen wie Walmart.com, Nokia, Nestlé, Honeywell und DHL sowie fünf der weltweit führenden zehn Banken und mehr als 35% der Global 500 Unternehmen zählen zu den Kunden von MuleSoft.[7]

Abb.8 FuseSource Logo
Abb.8 FuseSource Logo
FuseSource

Die FuseSource ist eine Community, die Produkte basierend auf Apache entwickelt. Das FuseSource Team testet, zertifiziert und unterstützt die Veröffentlichung von neuen Entwicklungen der Community, um die Geschwindigkeit und Innovation von Open Source Software mit Zuverlässigkeit und Know-how zu kombinieren. Dem Handel stellt FuseSource Enterprise Services für die Produkte zur Verfügung.[8]

Abb.9 Anchor Logo
Abb.9 Anchor Logo
Anchor

Anchor ist ein Beratungsunternehmen, das ausgewählte Kunden im Entwicklungsprozess unterstützt. Dabei steht die Anpassung der Geschäftsprozesse an die Herausforderungen des Marktes im Vordergrund. Anchor unterstützt die Entwicklung von Prozessen unter Einbeziehung aller Projektbeteiligten im Unternehmen.[9]

Abb.10 Mimacom Logo
Abb.10 Mimacom Logo
MimaCom

mimacom ag, the open source integrator, wurde 1999 als Spin-Off der Fachhochschule Bern gegründet. Sie beschäftigt heute rund 60 Mitarbeitende, vorwiegend Projektleiter, Scrum Master, IT Consultants und Software-Ingenieure. Mit mimacom path bietet mimacom eine integrierte Gesamtlösung. Vom Requirements Engineering über die agile Abwicklung von Projekten bis hin zum Service Management nach ITIL deckt die mimacom den ganzen Software-Life-Cycle ab. Seit ihrer Entstehung hat sie sich auf Open Source bzw. JEE / Java-Entwicklungen spezialisiert und verfügt über eine technologisch führende und funktional ausgereifte Produktpalette, die gekoppelt mit einer sehr effizienten und leistungsfähigen Entwicklungsplattform für agile Softwareentwicklung einher geht.[10]

Jedes Unternehmen übernimmt im Team einen Schwerpunktbereich in dem es überwiegend tätig ist.

Unternehmen Mitarbeiter Aufgabe
Alfresco ein Projektleiter
vier Entwickler Entwicklung Activiti Kern
zwei Entwickler Benutzeroberfläche (Schwerpunkt Probe und Explorer)
ein Entwickler Benutzeroberfläche (Schwerpunkt Probe und Explorer)
ein Entwickler Benutzeroberfläche, Web-Design (Schwerpunkt Probe und Explorer)
Spring Source ein Projektleiter Open-Source Berater
ein Anwalt Ansprechpartner für rechtliche Aspekte
Atos Origin zwei Entwickler Activiti Design
Signavio zwei Entwickler Entwicklung Activiti Kern (Schwerpunkt Modeler)
Camunda Projektleiter Entwicklung Activiti Cycle
ein Entwickler Entwicklung Activiti Kern (Schwerpunkt BPMN Kompatibilität)
zwei Entwickler Entwicklung Activiti Kern (Schwerpunkt Cycle)
ein Entwickler Benutzeroberfläche(Schwerpunkt Cycle)
Next Level zwei Entwickler Entwicklung Activiti Kern (Schwerpunkt Datenbank)
Mule Soft ein Entwickler Entwicklung Activiti Kern (Schwerpunkt Mule- und WebServices-Integration)
Fuse Source ein Entwickler Entwicklung Activiti Kern (Schwerpunkt OSGi und Service Mix / Camel Integration)
Anchor zwei Entwickler Entwicklung Activiti Kern
Mimacom ein Projektleiter Leitung Mimacom-Workflow Team
zwei Entwickler Entwicklung Activiti Kern

2.1.3 Ziele von Activiti

Antrieb der Activiti Gemeinschaft ist die Entwicklung einer schlanken BPM-Plattform die den neuen Standard BPMN 2.0 zur Modellierung von Geschäftsprozessen unterstützt. Weiterhin sollen in Zukunft alle am Projekt Beteiligten mit einbezogen werden. Dies sind unter anderem Manager, Mitarbeiter aus Fachabteilungen, die Anwender und die IT-Abteilungen. Weitere Ziele werden durch Kernfunktionen von Activiti beschrieben:[11]

- Entwicklung eines Tools zur fachlichen Prozessmodellierung.

- Unterstützung von Human-Workflow-Management.

- Integration in Geschäftsabläufe und Orchestrierung des Services.

- Direkte Einbettung in Java um eine schlanke Architektur zu gewährleisten.

- Entwicklung besonderer Funktionen für die Kollaboration im Projekt.

- Bereitstellen von Cloudfunktionalitäten.

- Entwicklung eines Open Souce Produktes.[12]

2.1.4 Neue Ansätze durch Activiti

Activiti präsentiert sich erstens als stabiles und leichtgewichtiges BPM-Tool, zweitens als offenes Framework und drittens realisiert es erstmalig einen neuen Ansatz für BPM-Projekte: Statt "IT follows Business" wird eine konstruktive Zusammenarbeit aller Fraktionen angestrebt. Damit wird die Plattform der praktischen Projektrealität besser gerecht und unterscheidet sich stark von den diversen Tools vieler BPM-Hersteller. Activiti ist eine der ersten BPM-Suiten, die den neuen Standard BPMN 2.0 umsetzt.

2.2 Entwicklung von BPMN

2.2.1 Standard BPMN 1.0

Die Business Process Modeling Notation (BPMN) ist in der Wirtschaftsinformatik eine grafische Spezifikationssprache. Sie stellt Symbole zur Modellierung von Geschäftsprozessen und Arbeitsabläufen für Fach- und Informatikspezialisten zur Verfügung.[13] Die Modellierungssprache BPMN wurde im Jahr 2002 mit Unterstützung der Business Process Management Initiative Notation Working Group von einem Mitarbeiter der IBM Corporation namens Stephen A. White entwickelt. Im Jahr 2004 wurde die erste Version von einem Konsortium zur Entwicklung von Standards im Business Process Bereich veröffentlicht. Dieses Konsortium heißt BPMI (Business Process Management Initiative). BPMN ist seit dem Jahr 2006 ein anerkannter Standard der Object Management Group (OMG), welche eine internationale Organisation ist, die sich mit der Entwicklung herstellerunabhängiger, internationaler Standards befasst. Ein großer Vorteil für alle Beteiligten (Analysten, Entwickler und Anwender) ist die grafische Notationssprache, die BPMN darstellt, mit deren Hilfe Geschäftsprozesse so modelliert werden können, dass sie für die Teilnehmer leicht zu verwenden und zu verstehen sind. Es sind bestimmte Elemente anderer Modellierungssprachen wie z.B. UML, EPK oder Integrated Definition Methods (IDEF) in den BPMN-Standard eingeflossen.[14] Ziel des BPMN-Standards ist darüber hinaus die Definition, wie BPMN-Diagramme in XML-basierte Prozessausführungssprachen überführt werden sollen. Ein Beispiel hierfür ist die Business Process Execution Language for Web Services (BPEL4WS). BPMN stellt also eine Verbindung zwischen Geschäftsprozessmodellierung und Geschäftsprozessimplementierung dar. Die Elemente der BPMN werden in vier Kategorien eingeteilt (Flow Objects, Connecting Objects, Swimlanes und Artifacts), deren grafische Abbildungen in einem Business Process Diagramm (BPD) erfolgen. Das Business Process Diagramm (BPD) wird durch den Kern eines BPMN-Modells gebildet, so dass das Mapping in die Ausführungssprache vorgenommen wird. Es kann erst dann interpretiert werden, wenn die Zeichnungsobjekte in das Diagramm eingefügt werden.[15] Hauptziel von BPMN ist die Unterstützung aller Projektbeteiligten (Fachwelt und IT-Welt) durch eine grafische Notation. Nach der Modellierung des Prozesses soll dieser in einer Process-Engine direkt ausführbar sein.[16]

2.2.2 Neuerung durch BPMN 2.0

Die BPMN 2.0 wurde von der Object Management Group im Januar 2011 verabschiedet. Es sind einige interessante Neuerungen mit der Version 2.0 vorgenommen worden. Eine der wichtigen Neuerungen ist die Veränderung des Namens BPMN. Dieser wird künftig nicht „Business Process Management Notation“, sondern "Business Process Management and Notation" heißen.[17] Als wichtig erachtete Spezifikation beschreibt der Produktanbieter im Bereich Geschäftsprozessmodellierung (BPM) sowohl eine grafische Notation als auch ein Metamodell mitsamt der Ausführungssemantik für Geschäftsprozesse. Damit ist gemeint, dass ein BPMN 2.0-Prozessmodell direkt als XML abgespeichert und in einer BPMN 2.0 Process Engine ausgeführt wird. Ein Beispiel dafür sind die Activiti im Open Source oder in Produkten der großen kommerziellen Hersteller. Die Austauschbarkeit der Engine sollte dann wie bei SQL sein. Nach Bewertung wird es wie bei SQL nur in Maßen funktionieren. Demnach würden wir heute bei der Beurteilung einer Process Engine zu einer BPMN 2.0 empfehlen, weil es hier auch sehr leichtgewichtige Vertreter gibt.[18] Bei BPMN 2.0 handelt es sich nun um einen Multi-Perspektiven-Ansatz. Bei der Entwicklung von BPMN 2.0 sind die beiden neuen Diagrammtypen, Conversations Diagram und Choreographie, eine Herausforderung für BPMN 2.0. Für die neuen Datentypen werden komplett neue Konstrukte und Verknüpfungsregeln eingesetzt. Um die bekannten Process/Collaborations Diagramme lediglich zu erweitern, dürften wohl viele Tool-Hersteller bereits an diesem Abschnitt abgesprungen sein. Bereits bewusst vorgesorgt hat die Standardisierungsgruppe von BPMN 2.0: In sogenannten Conformance-Klassen wurde gruppiert, welche Teile der Auflistung von einem Tool implementiert werden müssen und welche nicht, während bei BPMN 1.x Diagramme häufig getrennt voneinander analysiert wurden (abgesehen von Prozesshierarchien, die mithilfe von Subprozessen aufgespannt wurden). In den jeweiligen Choreographien oder Collaborations Diagrammen wird beispielsweise der Aufbau, der in einem Conversations Diagram festgelegt wurde, elaboriert. Noch stärker als zuvor stehen die Modelle im Verhältnis zueinander. Demnach sind jeweils die Werkzeuge fraglich, welche die Diagramme als mehr oder weniger isolierte Dokumente ansehen. Dem talentierten Modellierer wird die Konsistenzsicherung dann alleine überlassen, wenn zwischen Modellen keine gepflegte Beziehung durchgeführt wird. Die Implementierung sämtlicher Modellierungskonstrukte, Syntaxregeln und Attribute in den Editor ist das Ziel der BPMN 2.0.[19]

2.3 Notation in Activiti

Einer der Versuche zur Entstehung der BPMN war es Mechanismen zu entwickeln, die einfach zu handhaben sind und begreifbare Strukturen für die Produktion von Geschäftsmodellen zu schaffen. Parallel sollten aber auch schwierige Geschäftsabläufe darstellbar werden. Damit man diesen im Wettbewerb zueinander befindlichen Bedingungen gerecht wird, wurden die „grafischen Aspekte dieser Darstellung in spezifischen Kategorien organisiert.“ Dadurch wurde ein geringer Satz von Darbietungskategorien erschaffen, so dass der Nutzer eines „BPMN Diagramms“ einfach die Kernpunkte erkennen und das komplette „Diagramm“ einfacher begreifen kann. Nach OMG 2009 sind die grafischen Elemente der BPMN in die folgenden vier übergeordneten Kategorien unterteilt:

• Flow Objects (Flussobjekte)

• Connecting Objects (Verbindungsobjekte)

• Swimlanes (Bahnen)

• Artefacts (Artifakte) [20]


2.3.1 Flow Objects

Abb.11 Events
Abb.11 Events
Abb.12 Activities
Abb.12 Activities
Abb.13 Gateways
Abb.13 Gateways

Flow Objects sind die Verknüpfungen in den Geschäftsprozessdiagrammen und lassen sich in drei weitere Unterkategorien (Events, Activities und Gateways) unterteilen. Projiziert werden Activities als Rechtecke mit abgerundeten Ecken und kennzeichnen Tätigkeiten und Arbeitsaufgaben. Demnach erfolgt bei Aktivitäten zwischen Subprozessen und Transaktionen eine Differenzierung, die Subprozesse abbildet, bei denen in ihrer Summe jeglicher enthaltenen Aktivitäten untersucht werden müssen und Tasks, welche atomare, in sich abgeschlossene Arbeitspakete darstellt.

Gateways werden als Raute abgebildet und als Pfade, die sich abzweigen oder wieder zusammenlaufen, gekennzeichnet,. Gateways können diverse Bedingungen zum Ausdruck bringen, die überwiegend bekannte logische Operatoren erfüllen, wie z. B. „Und“, „Oder“ und „ausschließendes Oder“. Events, die Ereignisse dokumentieren, werden durch einen Kreis dargestellt. Verschiedene Arten von Events werden von den Icons innerhalb des Kreises dargestellt.

Zusammengefasst werden Flow Objects durch Connecting Objects, welche sich erneut in drei Kategorien aufteilen lassen.

2.3.2 Connecting Objects

Abb.14 Massage Flows
Abb.14 Massage Flows
Abb.15 Sequence Flows
Abb.15 Sequence Flows

Zusammengefasst werden Flow Objects durch Connecting Objects, welche sich erneut in drei Kategorien aufteilen lassen. Eine geradlinige Linie mit einer Pfeilspitze stellt die Sequence Flows dar. Die Linie veranschaulicht zusätzlich, in welcher Reihenfolge Aktivitäten eintreten. Die Conditional Flows werden durch eine Raute am Startpunkt und Default Flows durch einen Schrägstrich am Endpunkt signiert. Diese werden als Spezialform der Sequence Flows bezeichnet. Als unterbrochene Linie mit einer Pfeilspitze am Ausgang und einem leeren Kreis am Start werden die Message Flows visualisiert. Diese kennzeichnen einen Austausch gegenseitiger Meldungen von zwei Elementen über organisationelle Grenzen hinweg (d. h. von einem Pool zu einem anderen). Zur keiner Zeit darf ein Message Flow Elemente innerhalb desselben Pools miteinander verbinden. Die Associations werden als gepunktete Linie abgebildet, welche eine Verbindung zwischen einem Artifact und einem Flow Object darstellt. Die Darstellung der Direktionalität der Verbindung (Input, Result oder beides) bewerkstelligt eine Pfeilspitze am Anfangs- oder Endpunkt.[21]

2.3.3 Pools and Swimlanes

Abb.16 Swimlanes und Pools
Abb.16 Swimlanes und Pools

Die Gliederung des Geschäftsablaufs in die Verantwortlichkeitsbereiche erfolgt durch die Unterstützung von Swimlanes. Hierfür werden zwei verschiedene Elemente namens „Pool“ und „Lane“ zur Vefügung gestellt. Überwiegend stellt ein Pool ein Unternehmen oder eine unabhängige Einheit dar, welches mit einem eigenen Prozess und den Geschäftsprozessen anderer Unternehmen oder selbständiger Einheiten zusammenwirkt. Demnach ist zwischen den Pools nur ein Nachrichtenfluss möglich. "Pool selbst können Lanes enthalten, die organisatorische Einheiten wie beispielsweise Abteilungen oder Geschäftsrollen und somit die Mitwirkenden am Prozess repräsentieren." Ein Prozessfluss kann innerhalb von Lanes nur durch Sequenzverbindungen beschrieben werden, da ein Nachrichtenfluss zwischen Lanes nicht möglich ist.[22] Das Swimlanes wird über die gesamte Länge des Pools erstreckt, welches als großes Rechteck abgebildet wird.[23]

2.3.4 Artifacts

Abb.17 Artifacts
Abb.17 Artifacts

Unterteilen lassen sich die Artifacts in „Data Objects“, „Groups“ und „Annotations“. Welche Daten von einer Aktivität benötigt werden, werden von Data Objects dargestellt. Symbolisiert werden Groups durch unterbrochene Rechtecke mit abgerundeten Ecken. Sie gewährleisten die Gruppierung der Aktivitäten ohne dadurch den Fluss durch das Diagramm zu beeinflussen. Annotations werden genutzt um Bemerkungen in ein Diagramm einzusetzen, welche dem Leser das Lesen des Diagramms erleichtert.[24]

3 Komponenten

Abb.18 Aufbau Activiti Stack
Abb.18 Aufbau Activiti Stack

3.1 Frontend-Komponenten

3.1.1 Explorer

Abb.19 Activiti Explorer
Abb.19 Activiti Explorer

Für den Endnutzer bietet die Activiti-Plattform den Activiti Explorer. Hier sind laufende Prozessinstanzen einsehbar und es kann beispielsweise überprüft werden, wo ein einzelner Incident gerade steht. Dies ist vergleichbar mit der Situation, wenn man bei einem Onlineshop wissen möchte, wie es aktuell um eine Bestellung steht. Ein weiteres Feature der Komponente ist Reporting. Auch wenn im aktuellen Stand noch keine Reports verfügbar sind, so sollen diese bald folgen.

Fragen nach durchschnittlichen Laufzeiten oder auch Wartezeiten vor Knotenbearbeitungen werden im Explorer beantwortet. Schlussendlich enthält der Explorer auch eine Oberfläche zur Einbeziehung der „normalen“ Anwender in den Prozess, nämlich eine Aufgabenliste und die oben bereits erwähnten Formulare. Abbildung 4 zeigt anhand eines Screenshots, wie ein Benutzer dabei von der Aufgabenliste in das verknüpfte Formular springen kann. Nach Beenden der Aufgabe und Schließen des Formulars läuft der prozess im Hintergrund weiter.

3.1.2 Probe

Abb.20 Activiti Probe
Abb.20 Activiti Probe

Ebenfalls zum guten Ton einer BPM-Lösung gehört eine Monitoring-Komponente um die Process Engine und laufende Prozesse zu überwachen und bei Bedarf Fehler beheben zu können. Diese Aufgabe übernimmt "Activiti Probe".

3.1.3 Cycle

Abb.21 Activiti Cycle
Abb.21 Activiti Cycle

Cycle versucht, die Brücke zwischen Business und IT zu schlagen. Technisch betrachtet manifestiert sich dies zuallererst darin, dass in Cycle verschiedene Repositories zusammengeführt werden können. Man kann dort prinzipiell sowohl die fachlichen Prozessmodelle aus Signavio, die Entwicklungsartefakte aus SVN, Besprechungsprotokolle aus dem Dateisystem oder EMail-Diskussionen in einem Archivsystem zusammenführen. Dies ermöglicht es beispielweise, Änderungen im technischen Modell zu erkennen und den Analysten darüber zu informieren, dass das fachliche Modell aktualisiert werden muss. Cycle setzt dabei die Philosophie um, dass Tools auf Erweiterbarkeit ausgelegt sein sollten und sich einfach an das Vorgehen im eigenen Projekt anpassen lassen, statt Entwicklern ein Korsett aufzuzwingen. So wurde beispielsweise in einem Pilotprojekt bereits erfolgreich ein Roundtrip-Vorgehen mit BPMN 2.0 und jBPM 3 in Cycle umgesetzt, auch wenn jBPM praktisch eine Konkurrenz-Engine ist. Die erste Vorschau auf Cycle ist bereits im Beta-1-Release enthalten, dies ist aber erst der Anfang. Abbildung 21 zeigt beispielweise die Activiti-Cycle-Oberfläche beim Kopieren eines Prozessmodells in den Entwickler-Workspace.

3.1.4 Modeler

Abb.22 Activiti Modeler
Abb.22 Activiti Modeler

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.

Abbildung 22 zeigt einen Blick auf den Activiti Modeler, der grafischen Modellierungskomponente von Activiti. Der browserbasierte Activiti Modeler ist eine abgespeckte Open-Source-Version des kommerziellen Modellierungstools Signavio. Beim Speichern des Modells wird im Hintergrund auch immer das XML mit dem BPMN-2.0-Quellcode abgelegt.

3.1.5 Designer

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.

3.2 REST

REST ist im Activiti-Stack die API (Application User Interface), mit der externe Programme in Prozesse eingreifen bzw. externe Programme ausgeführt werden können. Es handelt sich um eine REST-API. Das bedeutet, dass alle API-Funktionen über einen HTTP-Aufruf einer URL angesteuert werden. Der Aufruf liefert Daten in den Formaten XML oder JSON zurück. Durch diese Technik ist ist es möglich in verschiedenen Programmiersprachen oder für verschiedene Endgeräte zu programmieren.

3.3 Backend-Komponenten

3.3.1 Aktiviti-Engine

Die Activiti-Engine ist eine Java-Prozess-Engine und das Herzstück des Activiti-Projekts. Sie ist entwickelt worden um Prozesse nach dem BPMN 2.0 Standard automatisiert abzuarbeiten. Neben der Lauffähigkeit auf allen Java-Umgebungen zählen die Event-Diagramme zu den Hauptmerkmalen von Activiti. Sie ermöglichen das Ausführen von Prozessen aus einem Diagramm. Bei der Gestaltung des Prozesses wird direkt der notwendige Java-Code für die Funktion generiert. Mit dieser Funktion sollen Fachleute mit wirtschaftlicher Expertise den Zugang zu BPM-Systemen bekommen.

Eine weitere Kernfunktion ist nach Angaben der Community die Möglichkeit benutzerdefinierte Aktivitäten zu entwickeln. Hier haben Entwickler die Möglichkeit zu den Aktivitäten Java-Code so zu programmieren, dass die von Wirtschaftsfachleuten beabsichtigten Funktionen der Aktivität hinterlegt werden kann.

3.3.2 Cycle-Backend

Mit dem Activiti Modeler können Fachabteilungen Prozesse grafisch definieren. Das Modul Cycle hat nun die Aufgabe der technischen Übersetzung, damit der Fachabteilung weiterhin die grafische Sicht zur Verfügung steht, der Entwickler den Prozess aber in "übersetztem" XML bearbeiten kann. Um diese Übersetzung vornehmen zu können benötigt Cycle das Cycle-Backend, welches die "Vokabeln" zur Übersetzung des grafischen Prozesses in XML bereit stellt.

3.4 Datenbank / File-System

Activiti bietet die Möglichkeit eine Vielzahl von Datenbanken einzusetzen. Auf folgende Datenbanken hat die Community getestet:

Datenbank Version
h2 1.2.132 Default
mysql 5.1.11
oracle 10.2.0
postgres 8.4
db2 DB2 9.7 using db2jcc4
mssql 2008 using JDBC jtds-1.2.4

4 Bewertung

4.1 Bewertungskriterien

In diesem Kapitel wird ein Kriterienkatalog für die Bewertung der wichtigsten Funktionalitäten eines BPM-Systems definiert. Die hier verwendeten Kriterien werden in diesem Kapitel kurz beschrieben und im nachfolgenden Kapitel für die Bewertung von Activiti herangezogen.

4.1.1 Systemanforderungen

Zur Bewertung der Systemanforderung werden die empfohlenen technischen Voraussetzungen, die einsetzbaren Betriebssysteme und die möglichen Datenbanken analysiert.

4.1.2 Installation

Eine kurze Beschreibung über die notwendigen Schritte zur erfolgreichen Installation einer Testumgebung. Dabei wird versucht die notwendigen Kenntnisse einzuschätzen und die Installation an gängigen Installationstandard zu messen.

4.1.3 Dokumentation

Zur Bewertung der Dokumentationen werden diese auf Vorhandensein und Vollständigkeit überprüft.

4.1.4 Funktionen

Activiti ist ein Open Source Tool, das auf eine große Anzahl von potenziellen Entwicklern in der Community zurückgreifen kann, die ggf. weitere Funktionen zur Verfügung stellen. Die Bewertung von Activiti erfolgt hier aber anhand der Standardfunktionen der offiziellen Version.

Zur besseren Übersicht unterscheiden wir hier zwei Kategorien von Funktionen, die zur Modellierung von Prozessen und die bezüglich der Ausführung von Prozessen.

4.1.4.1 Modellierung

In diesem Kapitel werden die Kriterien für das Erstellen eines Prozessmodells beschrieben. Dabei werden folgende Gesichtspunkte berücksichtigt:

Modellierungssprache: Ein häufiger Faktor für die Zufriedenheit der Fachexperten. Sie sollte auf der einen Seite leicht zu erlernen sein und trotzdem alle komplexen Zusammenhänge in realen Anwendungsfällen ausdrücken können.

Einbindung neuer Modellierungselemente: Im Verlauf eines Projektes wird häufig die Frage nach weiteren Modellierungselementen und somit nach Erweiterung der Modellierungssprache gestellt.

Definition der Zuständigkeiten: Nur wenige Geschäftsprozesse lassen sich vollständig automatisieren und deshalb müssen immer wieder Aufgaben von Menschen in diesem Prozess übernommen werden. Welches Personal an welcher Stelle Aufgaben übernehmen soll muss schon beim modellieren eines Prozesses sichtbar sein, aber auch bei der Ausführung eines Prozesses muss die Aufgabe für jeden Benutzer deutlich zu erkennen sein.

Einbindung von Formularen in den Prozess: Das Ausführen von Prozessschritten durch Benutzer wird häufig durch die Verwendung von Formularen realisiert. Eine gängige Anforderung an ein BPM-System ist also die Einbindung von Formularen in den Prozess.

Definition des Datenflusses: Zwischen den vielen Prozessschritten fallen immer wieder Daten an die gesammelt werden und an den Folgeschritt zur Verarbeitung weiter gegeben werden. Im BPMN-Standard sind diese Datenflüsse nur ungenügend definiert, so dass jedes BPM-System eine eigene Lösung mit unterschiedlichem Umfang bietet.

Überprüfung von Modellen: Bei der Modellierung durch die Fachabteilung und Automatisierung der Prozesse durch die IT-Experten bieten BPM-Systeme häufig Funktionen um auf formale Fehler hinsichtlich der Modellierungssprache und der Ausführungssprache aufzuzeigen.

Simulation der Prozesse: Prozesse benötigen häufig externen Daten um einen Geschäftsprozess vollständig abzubilden. Das zuführen von externen Daten ist häufig mit externen Leistungen verbunden die meist kostenpflichtig sind. Bevor diese externen Services beauftragt werden kann eine Simulation durch manuelle Hinzugabe externer Werte sinnvoll sein.

Automatisierte Testläufe: Automatisierte Testläufe geben den Entwicklern die Möglichkeit, die definierten Prozesse schon vor Implementierung zu testen und so mögliche Schwächen im Ablauf fest zustellen. Gerade bei komplexen Prozessen ist häufig eine Vielzahl solcher Tests notwendig bis der Prozess reibungslos funktioniert.

Dokumentation der Prozesse: Ein Prozessmodell bietet in sich schon eine gute Form der Dokumentation, da ein anschaulich definierter Prozess viel über einen Ablauf aussagt. In realen Projekten ist das aber nicht immer ausreichend. Die Möglichkeit z.B. ausführliche Kommentare und Beschreibungen zu jedem Prozessschritt festzuhalten sollte geben sein. Die Beschreibung sollten auch ausserhalb des BPM-System zugänglich sein um Anwendern notwendige Informationen zum jeweiligen Prozesschritt mitgeben zu können.

Versionierung der Modelle: Prozessmodelle sind ständigen Änderungen unterworfen. Aus diesem Grund sollte ein BPM-System hier eine Unterstützung bieten. Das Zurückspringen auf frühere Versionen oder einem Nachfolger werden so unterstützt.

Import und Export von Prozessmodellen: BPM-Systeme werden regelmäßig erneuert. Die Prozesse in Unternehmen sind aber häufig über Jahre gültig. Um nicht an einem BPM-System oder sogar einer Release-Version fest zu hängen sollten Im- und Exportfunktionen zur Verfügung stehen. Mit standardisierten Austauschformaten wie z.B. XPDL ist sogar ein Transfer zwischen verschiedenen BPM-Systemen möglich.

Deployment im BPM-System: Die Prozesse werden in einer Modellierungsumgebung entwickelt und getestet. Um die entwickelten Prozesse dem Anwender zur Verfügung zu stellen müssen diese Definitionen häufig an einen Server übergeben werden. Dieser Prozess wird Deployment genannt.

4.1.4.2 Ausführung

Automatisierte Prozesse sollen die Ausführung von Abläufen unterstützen. Bei richtiger Umsetzung sollte dem Unternehmen einen Gewinn in Bezug auf Ausführungsgeschwindigkeit und Verwaltungsaufwand entstehen. Wichtige Kriterien damit dies gelingt werden im folgenden bewertet:

Unterstützte Ausführungsformate: Jeder ausführbare Prozess wird in einer Ausführsprache geschrieben. Ein wichtiges Kriterium für die Ausführsprache ist häufig, dass sie ein standardisiertes Format unterstützt. Da die Verwendung von Standards ist Voraussetzung für einen Austausch des verwendeten BPM-Servers.

Mechanismen zur Performanceoptimierung: In realen Umgebungen müssen viele Prozessinstanzen zeitgleich ausgeführt werden, was zu einer erheblichen Last im BPM-System und der IT-Umgebung führen kann. Diese Herausforderungen können durch bestimmte Mechanismen wie z.B. Clustering gemeistert werden. Voraussetzung ist das das BPM-System diese Mechanismen unterstützt.

Protokollierung: Eine wichtige Funktion von BPM-Systemen ist die protokollierung von Laufzeitdaten und damit die Bereitstellung detaillierter Ergebnisse über den Zustand eines Prozesses und der vergangenen Aktionen. Ausserdem dienen Prozesse häufig als informationsquelle für Reports und weitere automatisierte Auswertungen.

Versionierung der Ausführungsprozesse: Prozesse werden permanent angepasst und weiter entwickelt. Nach der Einführung neuer Definitionen sollte ein BPM-System Möglichkeiten bieten einen Prozess in einer älteren Version vorzusetzen wenn Probleme in der neuen Version festgestellt werden. Dazu ist eine Versionsunterstützung gerade bei zeitkritischen Prozessen eine sinnvolle Funktion.

Integration von Web Services: Die Standards BPEL 2.0 und BPMN 2.0 sind auf die Nutzung von Web Services ausgelegt um die heute übliche Nutzung von verschiedenen Systemen und Endgeräte zu nutzen.

Integration einer Programmiersprache: Für kleine Module und Komponenten ist der Aufwand eigene Services zu Programmierung meist nicht gerechtfertigt. Hier dienen integrierte standardisierte Programmiersprachen zur einfachen und schnellen Entwicklung. Dabei muss sowohl die Erstellung als auch die Integration in die Prozesse unterstützt werden.

Einbinden weiterer Konnektoren: In BPM-Projekte müssen immer wieder andere Komponenten eingebunden werden. Schnittstellen zu gängigen Systemen wie zum SAP sind daher oft wünschenswert.

Nutzeroberfläche für Prozessbeteiligte: Benutzeroberflächen der verschiedenen BPM-Systeme unterscheiden sich häufig stark in ihrem Umfang und sind daher oft ein entscheidenden Kriterium bei der Auswahl des richtigen BPM-Systems. Die Möglichkeit fremde Oberflächen einbinden zu können kann hier zum entscheidenden Vorteil im Auswahlprozess werden.

Funktionen der Administratoroberfläche: Um die Vielzahl der Prozessinstanzen überwachen und verwalten zu können benötigen Administratoren spezielle Funktionen. Z.B. müssen die Server-Ressourcen hinsichtlich der Auslastung überwacht und konfiguriert werden können. Eine Prozessüberwachung ist ein weiteres entscheidendes Feature für die Administrierbarkeit von BPM-System. Auch muss der Eingriff in Prozessinstanzen möglich sein, um fehlerhafte Benutzereingaben korrigieren zu können.

Schnittstellen für externe Systeme: Während Konnektoren dem BPM-System die Möglichkeit geben auf andere Systeme zuzugreifen bieten Schnittstellen anderen externen Systemen den Zugriff auf das BPM-System. Dies ist notwendig wenn z.B. Ereignisse in Fremdsystemen Auslöser von Prozessen sind.

4.1.5 Erweiterbarkeit

Für die Erweiterbarkeit werden die von dem Third-Party-Entwickler oder die von der Community entwickelten weiteren Funktionen, die in Form von Modulen, Extensions, Plugins, Templates, Sprachpaketen und externen Komponenten entweder kostenlos oder kostenpflichtig zur Verfügung gestellt werden, analysiert.

4.1.6 Bedienbarkeit

"Die Usability (zu deutsch: Benutzerfreundlichkeit) bezeichnet die vom Nutzer erlebte Nutzungsqualität bei der Interaktion mit einem System. Eine besonders einfache, zum Nutzer und seinen Aufgaben passende Bedienung wird dabei als benutzerfreundlich angesehen"[25].

Eine Webanwendung muss bestimmten Anforderungen gerecht werden um als benutzerfreundlich zu gelten. Die Nutzerfreundlichkeit nach der europäischen ISO-Norm 9241-11 ist das Ausmaß, in dem ein Produkt durch bestimmte Benutzer in einem bestimmten Nutzungskontext genutzt werden kann um bestimmte Ziele effektiv, effizient und zufriedenstellend zu erreichen.

Die Benutzerfreundlichkeit einer Web-Anwendung sorgt dafür, dass sie intuitiv genutzt werden kann. Ist eine Applikation benutzerfreundlich gestaltet, erreichen die User ihre Ziele vollständig, schnell und zufriedenstellend. Eine weniger benutzerfreundliche Applikation hingegen sorgt für Fehler, Nutzungsabbrüche und Frustration.

In diesem Kapitel werden unter den oben angegebenen Gesichtspunkten die Erfahrungen beschrieben, die beim Arbeiten mit den Modulen des Activiti-Stack gemacht wurden.

4.1.7 Support & Kosten

Die Kosten von Activiti wurden danach beurteilt, welche monetären und nicht monetären Aufwände bei der Einführung von Activiti entstehen können. Denn auch wenn die Software kostenlos zu erwerben ist, fallen bei der Einführung und im späteren Betrieb Kosten an. Außerdem werden die Möglichkeiten und eventuell anfallende Kosten des Kundensupports bei Fragen und Problemen bewertet.

4.2 Bewertung von Activiti

4.2.1 Systemanforderungen

Voraussetzung für die Installation von Activiti sind drei Open Source-Softwareprodukte:

- Java Development Kit in Version 5 oder höher

- die aktuelle Version von Apache Ant. Derzeit Version 1.8.2

- Eclipse Classic ab Version 3.6.2


Activiti 5.0 unterstützt eine Vielzahl an Plattformen, darunter Linux, Unix-Varianten wie Solaris und HP-UX, Windows NT-Plattformen, OS / 2 Warp, Novell Netware 6, OpenVMS und MacOS X. Die Anforderungen an die Hardware ist an die Voraussetzungen der jeweiligen Plattform auszurichten.

Unterstützte Datenbanken:

Datenbank Version
h2 1.2.132 Default
mysql 5.1.11
oracle 10.2.0
postgres 8.4
db2 DB2 9.7 using db2jcc4
mssql 2008 using JDBC jtds-1.2.4

4.2.2 Installation

Zur Installation ist es erforderlich notwendige Open Souce-Produkte zu installieren, die die Grundlage für die Lauffähigkeit von Activiti bilden. Die aktuelle Java Version als Plattform. Apache Ant als Java-Bibliothek und Kommandozeilen-Tool. Und Eclipse als Applikations-Plattform.

Die Installationsroutine der Java Engine kann auf der Webside der Firma Sun[26] kostenlos heruntergeladen werden. Bei der Installation unterstützt ein Installationassistent, wie er unter Windows Betriebssystem üblich ist. Vom Benutzer werden hier keine speziellen Kenntnisse vorausgesetzt.

Apache Ant kann ebenfalls kostenlos aus dem Internet geladen werden[27]. Anschließend wird das geladene Zip-File entpackt. Für eine erfolgreiche Installation müssen die Umgebungsvariablen gesetzt werden. Folgende Befehle sind im Kommandozeileninterpreter notwendig um die Umgebungsvariablen korrekt zu setzen:

set ANT_HOME=c:\ant

set JAVA_HOME=c:\jdk-1.5.0.05

set PATH=%PATH%;%ANT_HOME%\bin


Eclipse wird ebenfalls im Internet zur Verfügung gestellt[28]. Nach dem Download steht auch hier ein windowstypischer Installationsassistent bereit.

Für die Installation sind Erfahrungen im Umgang mit Apache hilfreich. Bei der Installation der Testumgebung war es mehrfach notwendig auf die User Guides zurück zu greifen.

4.2.3 Dokumentation

10 Minute Tutorial Das Tutorial von Activiti gibt einen groben Überblick über die wichtigen BPMN 2.0-Komponenten und wie sie in Activiti mit Hilfe von XMl designt werden. Es beschreibt darüber hinaus kurz die wesentlichen Punkte zur Definition eines Prozesses, wie man diesen startet und wie der Prozess schlussendlich ausgeführt wird[29].

Activiti User Guide Der User Guide ist das Handbuch zu Activiti. Angefangen von der Installation der Testumgebung bis hin zur cdi-Integration wird alles ausführlich beschrieben. Die Installation der Testumgebung und die Definition eines kleinen Musterprozesses wurden im Rahmen dieser Arbeit unter Zuhilfenahme des User Guide ausgeführt. Bei diesen Arbeiten erwieß sich der User Guide als vollständig[30]. Folgende Punkte werden im User Guide behandelt:

1. Introduction 2. Getting Started 3. Configuration 4. Spring integration 5. API 6. Deployment 7. BPMN 8. Forms 9. JPA 10. History 11. Eclipse Designer 12. Activiti Modeler 13. Activiti Cycle 14. REST API 15. Activiti Explorer 16. Activiti Probe 17. Activiti KickStart 18. Cdi integration

Javadocs Die Javadocs beinhalten die Definitionen über alle Java-Klassen, die in Activiti definiert sind. Diese Dokumentation richtet sich in erster Linie an die Entwickler des jeweiligen Teams[31].

Weitere Dokumente Schon bei der Installation muss ein User sich mit den Komponenten Apache Ant[32] und Eclipse[33] auseinander setzen. Für diese beiden Produkte stehen auf den jeweiligen Webseiten der Hersteller User Manuals zur Verfügung.

4.2.4 Funktionen

Activiti setzt stark auf die Umsetzung des BPMN 2.0 Standards. Sowohl als Modellierungs- als auch als Ausführungssprache. Es wird versuch die Modellierung eines Prozesses und dessen Ausführung deutlich zu trennen. Die Fachabteilungen designen Prozesse im Activiti Modeler und bekommen dabei nur die notwendigsten IT-technischen Informationen zur Verfügung gestellt. IT-Experten steht parallel dazu eine Entwicklungsumgebung zur Verfügung. Dabei setzt Activiti stark auf die Umsetzung in Java.

4.2.4.1 Modellierung

Modellierungssprache: Zur Modellierung der Prozesse stehen in Activiti die Prozessdiagramme von BPMN 2.0 zur Verfügung. Weitere Modellierungssprache oder die Unterstützung von anderen Diagrammarten der BPMN 2.0 ist nicht vorgesehen.

Einbinden weiterer Modellierungselemente: Neben den Elementen des BPMN 2.0 Standards können eigene Elemente definieren und verwenden werden. Dazu dient der Designer der Eclipse-Software die Grundlage für Activiti ist. Da Diese Elemente jedoch nicht im Web-Designer von Activiti zur Verfügung stehen, können selbst definierte Elemente nicht von Fachexperten sondern nur von der IT verwendet werden.

Definition der Zuständigkeiten: Für die Darstellung von Zuständigkeiten werden in Activiti sog. Slimlines im Diagramm verwendet. Eine weitere Möglichkeit sind Properties, die aber nicht im Prozessdiagramm sichtbar sind. Hierfür wird ein Workaround angeboten, in dem BPMN 2.0 Kommentare verwendet werden um Zuständigkeiten im Prozessdiagramm darzustellen. Hier besteht jedoch die Gefahr der Unübersichtlichkeit.

Einbindung von Formularen in den Prozess: Um einzelne Prozessschritte im Formular zu definieren muss auf HTML zurückgegriffen werden. Die Formulare sind dabei manuell zu entwickeln, Editioren oder Assistenten zur Unterstützung sind nicht vorhanden.

Definition des Datenflusses: Der Datenfluss muss in Activiti über manuelle definierte Variablen und formalisierte Ausdrücke definiert werden. Ein Assistent oder ein grafischer Modellierer fehlen bei Activiti noch.

Überprüfung von Modellen: Während des Modellierens unterstützt den User eine Prüfung auf syntaktische Korrektheit der Definition. Die systaktische Korrektheit wird dabei auf Basis der BPMN 2.0 Sepzifikationen durchgeführt.

Simulation der Prozesse: Nach Abschluss der Definition stehen mit Version 5.0 noch keine Simulationsfunktionen zur Verfügung.

Automatische Testläufe: Derzeit stellt Activiti keine Funktionen für automatisierte Test zur Verfügung.

Dokumentation der Prozesse: Eine Dokumentation über das Prozessmodell hinaus ist nicht vorhanden, zur Dokumentation dient lediglich der Export des Prozessdiagramms als Bilddatei.

Versionierung der Modelle: Im Designer von Eclipse können für IT-Experten über die zur Verfügung gestellten Konnektoren Anbindungen an externe Versionierungssoftware hergestellt werden. Gleiches gilt für das Modul Cycle von Activiti. Auch hier muss auf externe Tools zurückgegriffen werden. Eigene Funktionen zur Versionskontrolle stehen nicht zur Verfügung.

Import und Export von Prozessmodellen: Die Bereitstellung der Prozesse aus der Modellierungsumgebung in die Produktivumgebung ist nur durch manuellen Export und manuellen Import am Server möglich.

Deployment im BPM-System: Eine Unterstützung zur automatisierten Verteilung ist nicht vorhanden. Bei wiederholtem Export und Import eines Prozesses wird automatisch ein neuer Prozess angelegt. Dabei wird jedoch nur der aktuellste Prozess ausgeführt.

4.2.4.2 Ausführung

Unterstützte Ausführungsformate: Als Ausführungssprache und die damit verbunden Formate stehen in Activiti die Formate nach BPMN 2.0 Standard zur Verfügung.

Mechanismen zur Performanceoptimierung: Grundsätzlich stellt Activiti alle notwendigen Funktionen für ein Clustering zur Verfügung. Durch die erst junge Markteinführung stehen zur Zeit aber noch keine verlässlichen Tests zur Verfügung.

Protokollierung: Während der Ausführung von Prozessen speichert Activiti eine Vielzahl von Laufzeitdaten in diversen Tabellen und bietet damit alle Möglichkeiten für umfangreiche Protokollierungen.

Versionierung der Ausführungsprozesse: Bei wiederholtem Import eines Prozesses in die Laufzeitumgebung wird immer wieder ein neuer Prozess angelegt. Die Prozesse werden jedoch bisher nur in der aktuellen Version ausgeführt. Ein Wechsel zu Vorgängern oder Nachfolgern ist nicht möglich.

Integration von Web Services: In der getesteten Version werden Web Services noch nicht unterstützt. Damit ist Activiti in diesem Punkt noch nicht BPMN 2.0 konform.

Integration einer Programmiersprache: Prozesse werden in Activiti über Java-Klassen ausgeführt. Somit ist eine Integration der Programmiersprache Java gegeben.

Einbindung weiterer Konnektoren: Die Integration weiterer Konnektoren wird z.Z. von Activiti noch nicht direkt unterstützt. Die Ausführung von Java-Klasen ermöglicht jedoch das Einbinden externer Systeme. Hierfür ist jedoch ein gewisser Aufwand erforderlich.

Benutzeroberfläche für Prozessbeteiligte: Die Nutzeroberfläche in Activiti ist grundsätzlich webbasiert. Darüber hinaus steht eine HumanTask API zur Verfügung mit der man externe Nutzeroberflächen anbinden kann.

Funktionen der Administratoroberfläche: In Version 5.0 ist die Oberfläche des Administrators stark eingeschränkt. In der Statusanzeige werden lediglich Serverkonfigurationen angezeigt und die Übersicht über die Datenbanktabellen ist möglich. Monitoring oder der manuelle Eingriff in Prozesse ist mit dieser Konsole noch nicht möglich.

Schnittstellen für externe Systeme: Da in Activiti alle Prozessmodelle auf dem Standard BPMN 2.0 basieren kann dieser für den Austausch verwendet werden. Darüber hinaus unterstützt Activiti das jBPM-Format. Weitere Austauschformate wie z.B. XPDL sind nicht vorgesehen.

Derzeit verfügt Activiti über eine eingeschränkte REST API für den Aufruf von Administrator-Befehlen. Darüber hinaus wird eine HumanTask API zur Ausführung externe Nutzeroberflächen angeboten. Weitere Schnittstellen stehen derzeit nicht zur Verfügung. Die Java-Klassen auf die Activiti aufbaut ermöglichen allerdings das Einbinden vieler externer Systeme. Hierfür ist jedoch ein gewisser zusätzlicher Aufwand erforderlich.

4.2.5 Erweiterbarkeit

Für Activiti, das ein sehr junges Open Source-Projekt ist gibt es bisher nur wenige Erweiterungen. Derzeit stehen zur Erweiterung von Activiti drei große Entwicklungen der Community zur Verfügung:

Grails Activiti Plugin[34]

Plugin für Liveray: Das Liferay-Portal ist eine Unternehmens-Internetplattform zur Erstellung von Businesslösungen. Das Plugin bietet die Möglichkeit die Workflow Engine von Activiti im Liferay-Portal zu verwenden[35].

Activiti und MuleSoft: Das Mule Activiti-Modul ist eine externe Benutzeroberfläche. Sie ermöglicht die folgenden Aktionen in Activiti zu steuern:

- Erstellen eines Prozesses.

- Lesen und Verwenden von Variablen zur Laufzeit.

- Lesen und Verwenden historischer Werte einer Variablen.

- Lesen der aktuellsten Werte einer Variablen.

- Holen von Informationen zu einer Aufgabe.

- Liste der zugewiesenen Aufgaben eines Benutzers.

- Liste der Kandidaten Aufgaben für eine Gruppe.

- Liste der Kandidaten Aufgaben für einen Benutzer.

- Liste der Prozess-Definitionen.[36]

4.2.6 Bedienbarkeit

Activiti wird komplett im Browser bedient. Nach der Authentifizierung bekommt der Benutzer direkt eine Übersicht über die zur Verfügung stehenden Funktionen. Die Gestaltung der Oberfläche ist schlicht und orientiert sich an den üblichen Kriterien für das Design einer Webanwendung.

Bei den Produkten Explorer, Designer, Cycle und Probe befindet sich die Navigation zwischen den Hauptmodulen horizontal am oberen Bildrand. Zur Navigation innerhalb der Module befindet sich vertikal am linken Bildrand eine Übersicht. Diese ist angelehnt an den Windows-Explorer.

Das Modul Moduler zeigt sich in einem völlig anderen Design. Der Grund dafür liegt sicher darin, dass hier ein angepasster Moduler der Firma Signavio zum Einsatz kommt. Eine Funktionsleiste mit Buttons befindet sich hier horizontal am obernen Bildrand. Am linken Bildrand befindet sich eine Übersicht über die zur Verfügung stehenden grafischen Elemente. Mit einfachem Drag & Drop können diese Elemente in den Bearbeitungsbereich in der Mitte des Bildschirms gezogen werden. Die Zusammenstellung des Prozesses funktioniert hier im ersten Schritt ähnlich wie in Microsoft Visio mit Hilfe der Maus.

In den Produkten des Activiti-Stack finden sich auch unbedarfte User direkt zurecht. Die Navigation ist intuitiv beschrieben und die geforderten Eingaben sind direkt zu erkennen. Die Oberfläche ist komplett in englischer Sprache. Wenn auch im Modeler ein Prozess ohne weitere Kenntnis zu designen ist, bedarf es doch in der weiteren Bearbeitung an tieferem Know-How. Im Modeler Erfahrung bei der Prozessdefinition unter wirtschaftlichem Aspekt und spätestens im Designer sind teifgehende Programmierkenntnisse notwendig.

4.2.7 Support & Kosten

Activiti ist ein reines Open Source-System. Auch die benötigten Systemvoraussetzungen wie Java, Apache Ant und Eclipse Classic stehen kostenlos zur Verfügung.

Camunda, ein Unternehmen der Activiti Gruppe bietet Projektunterstützung und Support an. Auf Nachfrage konnten die genauen Kosten aber nicht genannt werden, da sie sehr stark von der Projektart und dem Projektumfang abhängen.

4.3 Zusammenfassung

Abb.23 Bewertung Activiti
Abb.23 Bewertung Activiti

5 Ausblick auf die Entwicklung von Activiti

Activiti Explorer

Erweiterungen zur besseren Unterstützung der Java-Funktion CDI. CDI ist eine Technik um Felder nach dem Inversion of Control-Prinzip zu setzen.

Activiti Probe

Wichtig für eine BPM-Lösung ist ein gutes Monitoring um die Engine und die laufenden Prozesse überwachen und bei Bedarf Fehler beheben zu können. Der Leistungsumfang von Activiti Probe ist an dieser Stelle im Vergleich zu kommerziellen Produkten deutlich eingeschränkt. Hauptaugenmerk bei der Weiterentwicklung von Activiti Probe wird daher der Ausbau guter Monitoring-Funktionen sein.

Activiti Cycle

Erweiterungen zur besseren Unterstützung der Java-Funktion CDI.

Activiti Modeler

Erweiterungen zur besseren Unterstützung der Java-Funktion CDI.

Activiti Designer

- Entwicklung von On-The-Fly-Testmethoden.

- Unterstützung von XSD.

- Entwicklung eines Assistenten zur grafischen Gestalltung von Elementen.


Activiti REST API

Erweiterung der REST API - Rückgabe von Information über den Prozessstatus.

Activiti Engine

- Bereitstellen von dynamischen Subprozessen.

- Unterstützung von WebServices.

- Unterstützung von benutzerdefinierten SQL-Statements.

6 Fazit

Activiti, das ganz ambitioniert direkt mit der Version 5.0 gestartet ist, unterstützt BPMN 2.0 noch nicht vollständig. Derzeit wird auch noch viel Energie in die Stabilisierung der Core Engine gesteckt, was aus unserer Sicht sicherlich ein zielführendes Vorgehen ist. Die grafische Oberfläche kann sich sehen lassen und der Modeler ist gut, auch wenn es aktuell noch kleine Inkompatibilitäten dank der Änderungen in der finalen BPMN-2.0-Spezifikation gibt, die aber zeitnah beseitigt sein sollen. Monitoring- und Überwachungsfunktionen sind sicherlich bis dahin noch nicht ausreichend vorhanden, stehen aber auf der Roadmap. Dank ordentlicher Teamgröße bei Activiti sollte eine kurzfritige Verbesserung hier nicht unrealistisch sein. Im Vergleich zu den Vorversionen sind sich Fachleute einig, dass dies ein deutlicher Schritt vom reinen Entwicklerlager heraus in die große weite Welt der vollwertigen BPM-Plattformen ist.

7 Abbildungsverzeichnis

Abbildung 1 Alfresco Logo
Abbildung 2 SpringSource Logo
Abbildung 3 AtosOrigin Logo
Abbildung 4 Signavio Logo
Abbildung 5 Camunda Logo
Abbildung 6 NextLevel Logo
Abbildung 7 MuleSoft Logo
Abbildung 8 FuseSource Logo
Abbildung 9 Anchor Logo
Abbildung 10 Mimacom Logo
Abbildung 11 BPMN 2.0 Notation - Events
Abbildung 12 BPMN 2.0 Notation - Activities
Abbildung 13 BPMN 2.0 Notation - Gateways
Abbildung 14 BPMN 2.0 Notation - Massage Flows
Abbildung 15 BPMN 2.0 Notation - Sequence Flows
Abbildung 16 BPMN 2.0 Notation - Swimlanes and Pools
Abbildung 17 BPMN 2.0 Notation - Artifacts
Abbildung 18 Aufbau Activiti Stack
Abbildung 19 Screenshot Activiti Explorer
Abbildung 20 Screenshot Activiti Probe
Abbildung 21 Screenshot Activiti Cycle
Abbildung 22 Screenshot Activiti Modeler
Abbildung 23 Bewertung Activiti

8 Abkürzungsverzeichnis

BPD Business Process Diagram
BPEL Business Process Execution Language
BPEL4WS Business Process Execution Language for Web Services
BPMI Business Process Management Initiative
BPML Business Process Modeling Language
BPMN Business Process Modeling Notation
BPMN Business Process Modeling and Notation
BPMS Business Process Management System
EPK Ereignisgesteuerte Prozesskette
IBM International Business Machines Corporation
IDEF Integrated Definition Methods
IT Informationstechnik
OMG Object Management Group
UML Unified Modeling Language
XML Extensible Markup Language

9 Fussnoten

  1. vgl. http://www.alfresco.com/about/
  2. vgl. http://www.springsource.com/about/about-us
  3. vgl. http://www.de.atosorigin.com/de-de/uber_atosorigin/default.htm
  4. vgl. http://www.signavio.com/de/unternehmen/unternehmen.html
  5. vgl. http://www.camunda.com/unternehmen/
  6. vgl. http://www.next-level-integration.com/
  7. vgl. http://www.mulesoft.com/about
  8. vgl. http://fusesource.com/community/why/
  9. vgl. http://www.anchormc.se/amv.asp
  10. vgl. http://www.mimacom.com/de/firma/
  11. vgl. http://www.camunda.com/wp-content/uploads/2010/11/JM-11.2010_Preusker_R%C3%BCcker_Activiti.pdf
  12. vgl. http://www.camunda.com/wp-content/uploads/2010/12/Activit_Computerwoche_JF.pdf
  13. vgl. http://www.itp-commerce.com/bpmn/
  14. vgl. http://books.google.de/books?id=TIFccywZGagC&pg=PA111&dq=business+process+management+notation+bpmn&hl=de&ei=unbmTdiTJsL_-ga85_HkDg&sa=X&oi=book_result&ct=result&resnum=4&ved=0CDoQ6AEwAw#v=onepage&q=business%20process%20management%20notation%20bpmn&f=false
  15. vgl. http://books.google.de/books?id=-bQp53BUhVIC&pg=PA10&dq=bpmn&hl=de&ei=wkvpTcOMOIfRsga3oa3nCg&sa=X&oi=book_result&ct=result&resnum=1&ved=0CD4Q6AEwADgK#v=onepage&q&f=false
  16. vgl. http://books.google.de/books?id=L_jHxRReZDMC&printsec=frontcover&dq=bpmn&hl=de&ei=lYTjTZXONcTLswbWvpmLBg&sa=X&oi=book_result&ct=result&resnum=3&ved=0CEcQ6AEwAg#v=onepage&q&f=false
  17. vgl. http://www.sophist.de/gpa/gpa-und-bpmn.html
  18. vgl. http://www.camunda.com/wp-content/uploads/2010/11/JM-11.2010_Preusker_R%C3%BCcker_Activiti.pdf
  19. vgl. http://blog.bpmn.info/
  20. vgl. http://books.google.de/books?id=L_jHxRReZDMC&printsec=frontcover&dq=bpmn&hl=de&ei=lYTjTZXONcTLswbWvpmLBg&sa=X&oi=book_result&ct=result&resnum=3&ved=0CEcQ6AEwAg#v=onepage&q&f=false
  21. vgl. http://books.google.de/books?id=RcSvlD2-QQ0C&pg=PA170&dq=flow+objects+bpmn&hl=de&ei=egLxTbzHDcOe-wbMobTCAw&sa=X&oi=book_result&ct=result&resnum=2&ved=0CDMQ6AEwAQ#v=onepage&q=flow%20objects%20bpmn&f=false
  22. vgl. http://books.google.de/books?id=zzqdDYvsVNUC&pg=PA31&dq=swimlanes+bpmn&hl=de&ei=mYH4TdKIAs7CtAbm0qWeDg&sa=X&oi=book_result&ct=result&resnum=9&ved=0CF4Q6AEwCA#v=onepage&q=swimlanes%20bpmn&f=false
  23. vgl. http://books.google.de/books?id=RcSvlD2-QQ0C&pg=PA170&dq=flow+objects+bpmn&hl=de&ei=egLxTbzHDcOe-wbMobTCAw&sa=X&oi=book_result&ct=result&resnum=2&ved=0CDMQ6AEwAQ#v=onepage&q=flow%20objects%20bpmn&f=false
  24. vgl. http://books.google.de/books?id=RcSvlD2-QQ0C&pg=PA170&dq=flow+objects+bpmn&hl=de&ei=egLxTbzHDcOe-wbMobTCAw&sa=X&oi=book_result&ct=result&resnum=2&ved=0CDMQ6AEwAQ#v=onepage&q=flow%20objects%20bpmn&f=false
  25. Hellige (2008), S. 95
  26. www.oracle.com http://www.oracle.com/technetwork/java/javase/downloads/index.html
  27. www.apache.org http://ant.apache.org/bindownload.cgi
  28. wwweclipse.org http://www.eclipse.org/downloads/
  29. Activiti - 10 Minute Tutorial http://activiti.org/userguide/index.html#10minutetutorial
  30. Activiti - User Guide http://activiti.org/userguide/index.html
  31. Activiti - Javadocs http://activiti.org/javadocs/index.html
  32. Apache Ant - Manual http://ant.apache.org/manualdownload.cgi
  33. Eclipse - Workbench User Guide http://archive.eclipse.org/eclipse/downloads/drops/R-3.1-200506271435/org.eclipse.platform.doc.user.3.1.pdf.zip
  34. www.springsource.com http://grails.org/plugin/activiti
  35. www.liferay.com http://www.emforge.net/web/activiti-liferay/wiki/-/wiki/Main/BPMN+2.0+for+Liferay+with+using+Activiti+Plugin
  36. www.mulesoft.org http://www.mulesoft.org/activiti-bpm

10 Literaturverzeichnis

http://www.alfresco.com Alfresco Unternehmensdarstellung http://www.alfresco.com/about/ 17.06.11 10:13 Uhr

http://www.springsource.com/ Spring Source Unternehmensdarstellung http://www.springsource.com/about/about-us 17.06.11 10:20 Uhr


http://www.de.atosorigin.com/de-de/ Atos Origin Unternehmensdarstellung http://www.de.atosorigin.com/de-de/uber_atosorigin/default.htm 17.06.11 10:25 Uhr

http://www.signavio.com/de.html Signavio Unternehmensdarstellung http://www.signavio.com/de/unternehmen/unternehmen.html 17.06.11 10:34 Uhr

http://www.camunda.com/ Camunda Unternehmensdarstellung http://www.camunda.com/unternehmen/ 17.06.11 10:38 Uhr

http://www.next-level-integration.com/ Next Level Integration Unternehmensdarstellung http://www.next-level-integration.com/index.html 17.06.11 10:42 Uhr

http://www.mulesoft.com/ Mule Soft Unternehmensdarstellung http://www.mulesoft.com/about 17.06.11 10:47 Uhr

http://fusesource.com/ Fuse Source Unternehmensdarstellung http://fusesource.com/community/why/ 17.06.11 10:53 Uhr

http://www.anchormc.se/ Anchor Unternehmensdarstellung http://www.anchormc.se/amv.asp 17.06.11 11:00 Uhr

http://www.mimacom.com/de/ Mima Com Unternehmensdarstellung http://www.mimacom.com/de/firma/ 17.06.11 11:03 Uhr

http://www.camunda.com Activiti 5.0 Open Source BPM on the Next Level http://www.camunda.com/wp-content/uploads/2010/11/JM-11.2010_Preusker_R%C3%BCcker_Activiti.pdf 17.06.11 11:06 Uhr


http://www.camunda.com Activiti:BPM auf Basis von Open Source http://www.camunda.com/wp-content/uploads/2010/12/Activit_Computerwoche_JF.pdf 17.06.11 11:10 Uhr

http://www.itp-commerce.com/ BPMN Business Process Modeling Notation http://www.itp-commerce.com/bpmn/ 17.06.11 11:16 Uhr

http://books.google.de/ Systemanalyse im Unternehmen http://books.google.de/books?id=TIFccywZGagC&pg=PA111&dq=business+process+management+notation+bpmn&hl=de&ei=unbmTdiTJsL_-ga85_HkDg&sa=X&oi=book_result&ct=result&resnum=4&ved=0CDoQ6AEwAw#v=onepage&q=business%20process%20management%20notation%20bpmn&f=false 17.06.11 11.27 Uhr

http://books.google.de Systemanalyse im Unternehmen http://books.google.de/books?id=TIFccywZGagC&pg=PA111&dq=business+process+management+notation+bpmn&hl=de&ei=unbmTdiTJsL_-ga85_HkDg&sa=X&oi=book_result&ct=result&resnum=4&ved=0CDoQ6AEwAw#v=onepage&q=business%20process%20management%20notation%20bpmn&f=false 17.06.11 11:35 Uhr

http://books.google.de Domänenspezifische Sprachen für betriebliche Abläufe-Vor- und Nachteile am Beispiel von BPMN http://books.google.de/books?id=-bQp53BUhVIC&pg=PA10&dq=bpmn&hl=de&ei=wkvpTcOMOIfRsga3oa3nCg&sa=X&oi=book_result&ct=result&resnum=1&ved=0CD4Q6AEwADgK#v=onepage&q&f=false 17.06.11 11:41Uhr

http://books.google.de Einführung in die Geschäftsprozessmodellierung mit BPMN und Vergleich zu EPK http://books.google.de/books?id=L_jHxRReZDMC&printsec=frontcover&dq=bpmn&hl=de&ei=lYTjTZXONcTLswbWvpmLBg&sa=X&oi=book_result&ct=result&resnum=3&ved=0CEcQ6AEwAg#v=onepage&q&f=false 17.06.11 11:50 Uhr

http://www.sophist.de/ Geschäftsprozessanalyse und die BPMN 2.0 http://www.sophist.de/gpa/gpa-und-bpmn.html 17.06.11 12:02 Uhr

http://www.camunda.com/ Activiti 5.0 Open Source BPM on the Next Level http://www.camunda.com/wp-content/uploads/2010/11/JM-11.2010_Preusker_R%C3%BCcker_Activiti.pdf 17.06.11 12:10 Uhr

http://blog.bpmn BPMN.info http://blog.bpmn.info/ 17.06.11 12:23 Uhr

http://books.google.de/ Einführung in die Geschäftsprozessmodellierung mit BPMN und Vergleich zu EPK http://books.google.de/books?id=L_jHxRReZDMC&printsec=frontcover&dq=bpmn&hl=de&ei=lYTjTZXONcTLswbWvpmLBg&sa=X&oi=book_result&ct=result&resnum=3&ved=0CEcQ6AEwAg#v=onepage&q&f=false 17.06.11 12:29 Uhr


http://books.google.de/ Softwaretechnik: Mit Fallbeispielen aus realen Entwicklungsprojekten http://books.google.de/books?id=RcSvlD2-QQ0C&pg=PA170&dq=flow+objects+bpmn&hl=de&ei=egLxTbzHDcOe-wbMobTCAw&sa=X&oi=book_result&ct=result&resnum=2&ved=0CDMQ6AEwAQ#v=onepage&q=flow%20objects%20bpmn&f=false 17.06.11 12:45 Uhr

http://books.google.de/ Zugriffskontrolle in Geschäftsprozessen http://books.google.de/books?id=zzqdDYvsVNUC&pg=PA31&dq=swimlanes+bpmn&hl=de&ei=mYH4TdKIAs7CtAbm0qWeDg&sa=X&oi=book_result&ct=result&resnum=9&ved=0CF4Q6AEwCA#v=onepage&q=swimlanes%20bpmn&f=false 17.06.11 13:01 Uhr

http://books.google.de/ Softwaretechnik: Mit Fallbeispielen aus realen Entwicklungsprojekten http://books.google.de/books?id=RcSvlD2-QQ0C&pg=PA170&dq=flow+objects+bpmn&hl=de&ei=egLxTbzHDcOe-wbMobTCAw&sa=X&oi=book_result&ct=result&resnum=2&ved=0CDMQ6AEwAQ#v=onepage&q=flow%20objects%20bpmn&f=false 17.06.11 13:10 Uhr

http://books.google.de/ Softwaretechnik: Mit Fallbeispielen aus realen Entwicklungsprojekten http://books.google.de/books?id=RcSvlD2-QQ0C&pg=PA170&dq=flow+objects+bpmn&hl=de&ei=egLxTbzHDcOe-wbMobTCAw&sa=X&oi=book_result&ct=result&resnum=2&ved=0CDMQ6AEwAQ#v=onepage&q=flow%20objects%20bpmn&f=false 17.06.11 13:20 Uhr

Persönliche Werkzeuge