Der Weg vom Geschäftsprozess zum Workflow

Moderne Workflow- oder Business Process Management-Systeme (BPMS) ermöglichen die automatisierte Ausführung von Abläufen auf Grundlage von Modellen. Grafische Modelle erleichtern das Verständnis der implementierten Abläufe auch für Personen, die selbst nicht programmieren können. Die grafische Darstellung eines solchen ausführbaren Workflow-Modells sieht auf den ersten Blick sehr ähnlich aus wie das fachliche Modell eines zu unterstützenden Geschäftsprozesses. Teilweise schlagen die BPMS-Hersteller gar vor, dass die ausführbaren Prozessmodelle direkt von Fachanwendern erstellt werden sollen. Zumindest aber sollte dies die korrekte Umsetzung der fachlichen Anforderungen in die informationstechnische Lösung erleichtern. An einem Beispiel wird die Umsetzung eines einfachen fachlichen Prozessmodells auf Basis von ereignisgesteuerten Prozessketten (EPK) in ein ausführbares Modell für das System Intalio|BPMS gezeigt. Hierbei stehen nicht nur die Modellierung und Umsetzung der reinen Kontrollflusslogik im Fokus, sondern die komplette Definition aller für die spätere Ausführung des Prozesses erforderlichen Aspekte, wie z. B. die Rollenstruktur, Dialoge, Datenstrukturen und Datentransformationen.

Tipp: Praxiskurs BPMN & andere BPM-Seminare

Die Business Process Modeling Notation (BPMN) gewinnt in rasantem Tempo an Verbreitung. Die eigentliche Stärke dieser Notation, nämlich ihre Mächtigkeit zur präzisen Prozessbeschreibung, ist für Einsteiger jedoch häufig verwirrend. Dieses Seminar vermittelt sowohl die Grundlagen als auch Best Practice - Ansätze, um spezifikationskonform zu modellieren und gleichzeitig die Potentiale von BPMN voll auszuschöpfen. Mehr Infos

Da es für eine derartige Umsetzung von fachlichen in ausführbare Modelle keine einheitliche Vorgehensweise gibt und diese zudem von den verwendeten Notationen und Systemen abhängt, handelt es sich bei dem dargestellten Vorgehensweise um einen anhand des Beispiels entwickelten ersten Vorschlag, keineswegs um eine fertig entwickelte Methodik.

Das verwendete Intalio|BPMS basiert zu einem großen Teil auf Open Source-Software-Komponenten, auch wenn es selbst nicht Open Source ist. Verwendet wurde die Community Edition, die lizenzkostenfrei erhältlich ist, interessierte Leser können die Vorgehensweise somit selbst ausprobieren. Die fachlichen Modelle dienen lediglich als Ausgangspunkt für die weitere Entwicklung, so dass außer der frei erhältlichen Software von Intalio keine weitere spezielle Software erforderlich ist.

Abb. 1: Geschäftsprozess Kreditvergabe
Klicken zum Vergrößern
Abb. 1: Geschäftsprozess Kreditvergabe

Der vorliegende Artikel ist die Kurzfassung eines umfangreichen Arbeitspapiers, in dem das Vorgehen so ausführlich beschrieben ist, dass alle erforderlichen Schritte im Detail nachvollzogen werden können. Das ausführliche Arbeitspapier "Vom fachlichen Modell zum ausführbaren Workflow" sowie die Dateien des komplett ausgearbeiteten Beispiels für den Intalio|BPMS Designer können im Internet unter untenstehendem Link kostenlos heruntergeladen werden.

2 Fachliche Modellierung

Der zu unterstützende Kreditvergabeprozess ist in Abbildung 1 als ereignisgesteuerte Prozesskette (EPK) abgebildet.

Abb. 2: Informationsobjekte Kreditantrag und Kunde
Klicken zum Vergrößern
Abb. 2: Informationsobjekte Kreditantrag und Kunde

Das Modell ist unabhängig von einer konkreten Technologie. So ist beispielsweise nicht festgelegt, ob es sich bei dem Informationsobjekt "Kreditantrag" um ein Papierdokument oder um einen Datensatz in einer Datenbank handelt. Ebenso wenig ist dargestellt, ob die Weiterleitung des Antrags manuell in Papierform, per E-Mail oder durch ein BPMS erfolgt.

Struktur und Inhalt des Informationsobjektes "Kreditantrag" sind in Abbildung 2 in Form eines UML Klassendiagramms dargestellt. Der Kreditantrag enthält eine Reihe von Attributen wie Antragsdatum,

Abb. 3: Rollenmodell und Rollenbesetzung
Klicken zum Vergrößern
Abb. 3: Rollenmodell und Rollenbesetzung
Antragssumme usw. Außerdem enthält ein Kreditantrag genau ein Informationsobjekt "Kunde". Dieses ist hier über eine Komposition als Bestandteil des Kreditantrages dargestellt. Für die einzelnen Attribute wurde außerdem beschrieben, welche Datentypen zu verwenden sind, ob es sich um Muss-Felder handelt und welche Restriktionen einzuhalten sind (z. B. dass die Postleitzahl immer fünfstellig sein muss).

Das Rollenmodell und die zugeordneten Mitarbeiter sind in Abbildung 3 dargestellt. Die durch einen horizontalen Pfeil modellierte Beziehung drückt aus, dass die Rolle "Sachbearbeiter" eine Verallgemeinerung der Rolle "Leiter Kreditbearbeitung" darstellt. Dies bedeutet, dass ein Leiter der Kreditbearbeitung auch alle Eigenschaften eines Sachbearbeiters besitzt, insbesondere kann er auch die der Rolle Sachbearbeiter zugeordneten Funktionen ausführen.

3 Entwicklung des ausführbaren Workflow-Modells

3.1 Anlegen von Rollen und Benutzern

Das Anlegen von Rollen und Benutzern ist in der frei erhältlichen Community Edition von Intalio| BPMS etwas spartanisch realisiert. Sämtliche Benutzer werden samt Passwörtern und Rollenzuordnungen einfach in eine XML-Datei auf dem Server eingetragen. Für einen produktiven Einsatz wäre dies wenig geeignet. Im laufenden Betrieb ist es erforderlich, Benutzer über eine entsprechende Oberfläche verwalten zu können. Ebenso sollten Benutzer ihrer eigenen Daten und Passwörter pflegen können. Das Ablegen unverschlüsselter Passwörter in einer zentralen Datei ist zudem unter Sicherheitsaspekten abzulehnen.

Für den produktiven Einsatz bietet Intalio u. a. einen kostenpflichtigen LDAP-Connector an, über den das BPMS mittels LDAP (Lightweight Directory Access Protocol) an eine zentral genutzte Benutzerverwaltung angeschlossen werden kann. Für Test- und Entwicklungszwecke wie in dem vorliegenden Beispiel kann die Datei-basierte Benutzerverwaltung verwendet werden.

Listing 1 zeigt Ausschnitte aus der XML-Datei mit der Definition zweier Rollen und dem Eintrag eines Benutzers.

<realm identifier="kreditbank">
<role identifier="leiter-kredit">
<description>Leiter Kreditbearbeitung</description>
<descendantRole>sachbearbeiter</descendantRole>
</role>
<role identifier="sachbearbeiter">
<description>Sachbearbeiter</description>
</role>
</realm>
--
<user identifier="lehmann">
<name>Lorenz Lehmann</name>
<email>lorenz.lehmann@examples.com</email>
<password>password</password>
<assignRole>leiter-kredit</assignRole>
</user>

Abb. 4: Struktur und Zusammenhang der Datentypen
Klicken zum Vergrößern
Abb. 4: Struktur und Zusammenhang der Datentypen

Listing 1: Definition von Rollen u

(Kompletter Text nur für Netzwerk-Mitglieder)

Veröffentlicht von Prof. Dr. Thomas Allweyer bei BPM-Netzwerk.de am 24. März 2008

(c) copyright 2007 BPM-Guide.de - Mon Oct 20 14:10:37 CEST 2008