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.
 |
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.
 |
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,
 |
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>
 |
Klicken zum Vergrößern |
| Abb. 4: Struktur und Zusammenhang der Datentypen |
Listing 1: Definition von Rollen u