Ausführung von variantenbehafteten Workflow-Modellen in Abhängigkeit vom Prozesskontext

Please download to get full document.

View again

of 82
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Categories
Published
Universität Ulm Ulm Germany Fakultät für Ingenieurwissenschaften und Informatik Institut für Datenbanken und Informationssysteme Ausführung von variantenbehafteten Workflow-Modellen in Abhängigkeit
Universität Ulm Ulm Germany Fakultät für Ingenieurwissenschaften und Informatik Institut für Datenbanken und Informationssysteme Ausführung von variantenbehafteten Workflow-Modellen in Abhängigkeit vom Prozesskontext Diplomarbeit an der Universität Ulm Vorgelegt von: Christoph Mauroner Gutachter: Prof. Dr. Manfred Reichert PD Dr. Stefanie Rinderle-Ma Betreuer: Dipl.-Inf. Alena Hallerbach 2009 Fassung 20. Oktober 2009 c 2009 Christoph Mauroner Kurzfassung Die Modellierung und Ausführung von Geschäftsprozessen sind zentrale Aufgaben in prozessorientierten Informationssystemen. In der Praxis tritt ein Prozess oftmals in zahlreichen Varianten auf, die Anpassungen an bestimmte Rahmenbedingungen darstellen. Heutige Prozessmodellierungswerkzeuge unterstützen das Modellieren und Ausführen von solchen Prozessvarianten nicht angemessen. Im Rahmen des Forschungsprojekts Provop (Prozessvarianten durch Optionen) bei der Daimler AG wird daher ein Lösungsansatz entwickelt, der ein transparentes und kontextabhängiges Modellieren, Konfigurieren und Ausführen von Prozessvarianten ermöglicht. Die vorliegende Arbeit diskutiert die Weiterentwicklung und technische Umsetzung der in Provop entwickelten Konzepte. Dazu wird in dieser Arbeit der Provop-Lösungsansatz vorgestellt und verwandte Arbeiten betrachtet. Darauf aufbauend werden die Anforderungen zur Ausführung von Prozessvarianten in einem Workflow-Management-System (WfMS) diskutiert und verschiedene Konzepte zu deren Umsetzung vorgestellt. Abschließend wird die prototypische Umsetzung gezeigt. iii Danksagung Ich möchte mich in erster Linie bei Manfred Reichert und Alena Hallerbach für die gute Betreuung meiner Diplomarbeit bedanken. Aufgrund der regen Kommunikation mit meinen Betreuern war ich in der Lage die vorliegende Arbeit in einer ansprechenden Art und Weise zu verfassen. Des Weiteren möchte ich mich bei der Daimler AG und im Speziellen bei der Abteilung Daten- und Prozessmanagement des Forschungszentrums Ulm bedanken, dass ich dort im Rahmen einer Diplomandenstelle die vorliegende Arbeit erstellen konnte. Zusätzlich danke ich meinen Korrekturlesern, denen auch die kleinsten Fehler aufgefallen sind. Ganz besonders möchte ich mich bei meinen Eltern bedanken, dass sie mich während meiner gesamten Studienzeit unterstützt und mir somit einen akademischen Abschluss ermöglicht haben. iv Inhaltsverzeichnis 1 Einführung Problembeschreibung Aufbau der Arbeit Grundlagen Begrifflichkeiten Prozessbeschreibungssprachen Business Process Modeling Notation XML Process Definition Language Business Process Execution Language Yet Another Workflow Language Zusammenfassung Provop-Lösungsansatz Konventionelles Variantenmanagement Mehr-Modell-Ansatz Ein-Modell-Ansatz Fazit Grundidee von Provop Modellierung von Prozessvarianten Basisprozess und Referenzpunkte Änderungsoperationen Gruppieren der Änderungsoperationen Konfiguration von Prozessvarianten Beschreibung des Kontexts Beziehungen zwischen den Optionen Dynamische Konfiguration v Inhaltsverzeichnis 3.5 Ausführung von Prozessvarianten Gewährleistung der Atomarität von Optionen Einhaltung der strukturellen und semantischen Abhängigkeiten Zusammenfassung Verwandte Arbeiten Ansätze aus der Forschung Referenzprozessmodellierung Flexibilität im Prozessmanagement Ansätze aus der Praxis ADEPT Tibco iprocess Suite WebSphere Integration Developer YAWL-System Vergleich der Workflow-Management-Systeme Zusammenfassung Anforderungen an die Ausführung von Prozessvarianten in Provop Anforderungen aus der Kontextabhängigkeit von Optionen Anforderungen durch Optionsbeziehungen Anforderungen durch Provop-spezifische Kontrollfluss-Konstrukte Zusammenfassung Abbildung der Provop-Konzepte Abbildung der Kontextabhängigkeit von Optionen Lösungsansätze Diskussion der Abbildungsmöglichkeiten Abbildung der Optionsbeziehungen Lösungsansätze Diskussion der Abbildungsmöglichkeiten Abbildung der Provop-spezifischen Kontrollfluss-Konstrukte Lösungsansätze Diskussion der Abbildungsmöglichkeiten Diskussion der Umsetzung in den WfMS Zusammenfassung vi Inhaltsverzeichnis 7 Umsetzung der Provop-Konzepte in einem WfMS Wahl des WfMS zur prototypischen Umsetzung des Provop-Lösungsansatzes Prototypische Umsetzung Verwaltung der Kontextinformationen Verwaltung der Optionsbeziehungen Verwaltung der Optionen Auswertung der Optionsbeziehungen zur Laufzeit Prüfung der Anwendbarkeit von dynamischen Optionen zur Laufzeit Korrekte Synchronisation Zusammenfassung des Prototypen Architektur des Prototypen Fallbeispiel Zusammenfassung Zusammenfassung und Ausblick 97 Literaturverzeichnis 101 Abbildungsverzeichnis 108 Tabellenverzeichnis 109 vii 1 Einführung Bei der Modellierung von Prozessen hat man es in der Praxis oftmals mit zahlreichen Prozessvarianten zu tun. Jede Prozessvariante stellt dabei eine Anpassung eines Prozesses an bestimmte Rahmenbedingungen, wie z.b. organisatorische Zuständigkeiten innerhalb eines Unternehmens, dar. Diese Rahmenbedingungen kann man prinzipiell als den Kontext eines Prozesses verstehen. Die Erstellung von Prozessvarianten wird von heutigen Prozessmodellierungswerkzeugen nicht angemessen unterstützt. So können Prozessvarianten oftmals nur in separaten Modellen erstellt werden. Probleme daraus sind bspw., dass bei grundlegenden Änderungen u.u. mehrere Prozessvarianten betroffen sind und diese dann einzeln angepasst werden müssen. Entsprechend groß ist der Wartungs- und Pflegeaufwand bei einer hohen Anzahl an betroffenen Prozessvarianten. Diese Problematik wird bei der Daimler AG durch das Forschungsprojekt Provop adressiert. Ziel von Provop ist es, einen generischen Lösungsansatz zu entwickeln, der ein transparentes und kontextabhängiges Management von Prozessvarianten erlaubt. Darüber hinaus werden Prozessvarianten von ihrer Modellierung über ihre Konfiguration und Ausführung bis hin zu ihrer Evolution durchgängig unterstützt. Thema der vorliegenden Diplomarbeit ist die Weiterentwicklung und technische Umsetzung der in Provop entwickelten Konzepte zur Ausführung von variantenbehafteten Prozessen. Dabei wird untersucht, wie Provop in existierenden Workflow-Management-Systemen (WfMS) abgebildet werden kann. 1.1 Problembeschreibung Inhalt der Diplomarbeit ist die Erfassung und Untersuchung existierender Ansätze zur Abbildung von Prozessvarianten in einem WfMS. Es wird untersucht, wie die Provop-Konzepte 1 1 Einführung zur kontextabhängigen Konfiguration von Prozessvarianten abgebildet werden können. Darüber hinaus wird betrachtet, wie Änderungen am Kontext während der Ausführung eines Prozesses zu Änderungen einer bestimmten Prozessvariante führen können. Des Weiteren wird untersucht, wie die Einhaltung von strukturellen und semantischen Abhängigkeiten gewährleistet werden kann. Die entwickelten Konzepte werden abschließend prototypisch umgesetzt. 1.2 Aufbau der Arbeit Kapitel 2 führt grundlegende Begriffe aus dem Bereich des Prozessmanagements ein und stellt die wichtigsten Prozessbeschreibungssprachen zur Definition und Modellierung von Prozessmodellen vor. Kapitel 3 beschreibt den Provop-Lösungsansatz für ein transparentes und kontextabhängiges Management von Prozessvarianten. In Kapitel 4 werden verwandte Arbeiten aus Wissenschaft und Praxis erläutert. Kapitel 5 diskutiert die Anforderungen zur Abbildung der Konzepte des Provop-Lösungsansatzes in einem WfMS. In Kapitel 6 werden verschiedene Abbildungsmöglichkeiten für die Anforderungen beschrieben und miteinander verglichen. Kapitel 7 erläutert, wie die konkrete Umsetzung des Provop- Lösungsansatzes zur Ausführung von Prozessvarianten im WebSphere Integration Developer von IBM erfolgen kann und stellt Anwendungsbeispiele auf Basis des Prototypen vor. Kapitel 8 fasst die Arbeit zusammen. 2 2 Grundlagen Nachdem in Kapitel 1 die Motivation und Problematik dieser Arbeit vorgestellt wurde, führt dieses Kapitel Grundlagen zum Verständnis dieser Arbeit ein. Abschnitt 2.1 erklärt Begriffe aus dem Bereich des Prozessmanagements. Abschnitt 2.2 gibt einen Überblick über Sprachen für die Beschreibung von ausführbaren Geschäftsprozessen. 2.1 Begrifflichkeiten Prozess. Ein Prozess ist ein allgemeiner Ablauf mehrerer Abschnitte, bei denen es sich um Aufgaben, Ausführungen, Arbeitsschritte o.ä. handeln kann. Zwischen diesen Prozessabschnitten bestehen bestimmte Abhängigkeiten, wie bspw. dass eine Aufgabe vor allen weiteren Aufgaben erledigt werden muss. Ein typischer Prozess umfasst folgende Elementtypen: Startereignis, Aktivität, Zerlegung, Sequenz, Auswahl, Parallelität und Abschlussereignis [RvS04]. Prozessmodell. Ein Prozessmodell beschreibt die Struktur eines Prozesses. Es bestimmt alle möglichen Pfade entlang des Prozesses und die Regeln für die Wahl der Pfade sowie weiterhin alle Aktivitäten, die ausgeführt werden müssen (vgl. Beispiel 2.1). Synonyme: Prozessdefinition, Prozess-Schema [RvS04]. Beispiel 2.1 (Prozessmodell) Abbildung 2.1 zeigt ein Beispiel für ein Prozessmodell. Es beschreibt in vereinfachter Form den Prozess einer Fahrzeugreparatur in einer Kfz- Werkstatt. Der Prozess beginnt mit der Annahme des Fahrzeugs. Daraufhin erfolgt eine Diagnose des Schadens. Wird hierbei ein Schaden erkannt, so wird das Fahrzeug repariert. Wird kein Schaden erkannt, z.b. im Falle eines Bedienfehlers, so entfällt diese Aktivität. Zum Schluss erfolgt die Übergabe des Fahrzeugs an den Kunden. Im Folgenden wird dieser Prozess als Werkstattprozess bezeichnet. 3 2 Grundlagen Abbildung 2.1: Vereinfachtes Prozessmodell einer Fahrzeugreparatur Prozessfragment. Ein Prozessfragment beschreibt eine zusammenhängende Teilmenge von Elementen eines Prozesses (vgl. Beispiel 2.2). Es besteht aus denselben Elementtypen wie ein Prozessmodell. Beispiel 2.2 (Prozessfragment) Die Aktivitäten der Annahme und jene der Diagnose stellen bspw. ein zusammenhängendes Prozessfragment des Werkstattprozesses in Abbildung 2.1 dar. Prozessvariante. Eine Prozessvariante stellt eine Anpassung bzw. Modifizierung eines Prozesses dar. Sie entsteht, da Prozesse unter verschiedenen Rahmenbedingungen ausgeführt werden und hierfür Abweichungen vom standardisierten Ablauf nötig sind [HBR08a]. Prozessfamilie. Eine Prozessfamilie gruppiert die unterschiedlichen Varianten eines Prozesses zu einer zusammengehörenden Gruppe von Prozessmodellen. Workflow-Management-System (WfMS). Ein WfMS ist ein Softwarepaket zur Unterstützung des Entwurfes und der Ausführung von Geschäftsprozessen [RvS04]. Prozessinstanz. Prozessinstanzen sind mit Hilfe eines WfMS ausführbare Prozesse. Sie basieren auf einem Prozessmodell und werden mit konkreten Daten angereichert, wie z.b. den Ausführungszuständen von Aktivitäten [RvS04]. Prozessadaption. Unter Prozessadaption versteht man das Anpassen bzw. Modifizieren eines Prozesses. Dabei unterscheidet man zwischen der Adaption einer einzelnen Prozessinstanz und der Adaption des Prozessmodells, der sog. Schema-Evolution [WRRM08]. Prozessbeschreibungssprache. Mit einer Prozessbeschreibungssprache wird graphisch oder textuell der Ablauf eines Prozesses beschrieben. Graphische Prozessbeschreibungs- 4 2.2 Prozessbeschreibungssprachen sprachen dienen zumeist nur der Prozessmodellierung, während textuelle Prozessbeschreibungssprachen für die Ausführung von Prozessmodellen in einem WfMS verwendet werden. Prozesslebenszyklus. Der Prozesslebenszyklus besteht aus der Modellierung, Konfiguration und Ausführung von Prozessen. Aufgrund der ständigen Wartung und Optimierung von Prozessen stellt der Prozesslebenszyklus einen Kreislauf dar. Bei der Modellierung werden für die Prozesse sog. Prozessmodelle erstellt. Diese werden in der Phase der Konfiguration varianten-spezifisch angepasst. Bei der Ausführung werden die Prozesse z.b. rechnergestützt mit Hilfe eines WfMS ausgeführt [HBR09a]. 2.2 Prozessbeschreibungssprachen Im Folgenden wird ein Überblick der wichtigsten Prozessbeschreibungssprachen gegeben. Zu jeder Sprache wird deren Entwicklung und die grundlegende Funktionsweise erläutert. Zum direkten Vergleich der einzelnen Sprachen wird das Beispiel einer vereinfachten Reisebuchung verwendet (vgl. Beispiel 2.3), anhand dessen man den grundlegenden Aufbau einer Sprache erkennen kann. Hierbei ist zu beachten, dass einige Sprachen keine graphische Repräsentation vorsehen und dementsprechend ein Ausschnitt der textuellen Prozessbeschreibung abgebildet ist. Für ein tieferes Verständnis der einzelnen Sprachen wird auf die jeweilige Fachliteratur verwiesen. Beispiel 2.3 (Vereinfachte Reisebuchung) Es sei folgender vereinfachte Prozess einer Reisebuchung gegeben: Zunächst erfolgt die Anmeldung beim Buchungssystem. Anschließend kann je nach Bedarf ein Flug, ein Hotel sowie ein Mietwagen gebucht werden. Nachdem alle Einzelbuchungen abgeschlossen sind, endet der Prozess mit der Bezahlung der Reise Business Process Modeling Notation Die Business Process Modeling Notation (BPMN) ist eine graphische Modellierungssprache zur Beschreibung von Geschäftsprozessen. BPMN wurde von der Business Process Management Initiative (BPMI) entwickelt und wird seit 2005 von der Object Management 5 2 Grundlagen Group (OMG) verwaltet und weiterentwickelt. BPMN liegt aktuell in Version 1.2 [BPM09] vor; Version 2.0 befindet sich in der Entwicklung. Die Modellierung von Prozessen erfolgt in Business Process Diagrams (BPD) (siehe Abbildung 2.2). Die BPMN-Modelle sind graph-orientiert. Sie bestehen aus sog. Activities, Events und Gateways. Activities beschreiben die Arbeitsschritte im Prozess und können sowohl atomar als auch ganze Prozesse sein. Events beschreiben Ereignisse während der Durchführung des Prozesses. Gateways dienen zur Strukturierung des Kontrollflusses. Der Kontrollfluss zwischen den Elementen wird durch den Sequence Flow modelliert. Der Nachrichtenaustausch zwischen Elementen erfolgt über den Message Flow. Für die Zuordnung von Zuständigkeiten und Unterteilung in funktionale Bereiche gibt es Pools und Lanes. Des Weiteren existieren Artifacts, mit denen die Prozessmodelle zu Dokumentationszwecken mit Informationen angereichert werden können. Diese haben aber keinen Einfluss auf die Struktur oder den Ablauf des Prozesses. Abbildung 2.2: BPMN-Beispiel einer Reisebuchung XML Process Definition Language Die XML Process Definition Language (XPDL) ist eine XML-basierte Sprache zur Beschreibung von Geschäftsprozessen. XPDL wird seit 1993 von der Workflow Management Coalition (WfMC) entwickelt und liegt zurzeit in Version 2.1 vor [WfM08]. Durch die XPDL soll der Austausch von Prozessmodellen zwischen verschiedenen WfMS vereinfacht werden. XPDL spezifiziert Prozessmodelle, wie in Abbildung 2.3 dargestellt, durch eine XML-Datei. Ein XPDL-Prozess besteht generell aus Activities und Transitions. Activities können hierbei 6 2.2 Prozessbeschreibungssprachen Aktivitäten, eigene Prozesse sowie Strukturknoten sein. Die Transitions spezifizieren den Kontrollfluss zwischen den Activities. Für die Beschreibung von Prozessen mittels XPDL ist keine graphische Repräsentation vorgesehen, die Sprachelemente können aber mittels BPMN graphisch dargestellt werden. Mit XPDL 2.1 lassen sich alle Spezifizierungen von BPMN 1.1 abbilden. Abbildung 2.3: XPDL-Ausschnitt einer Reisebuchung Business Process Execution Language Die Business Process Execution Language (BPEL) ist ebenfalls eine XML-basierte Sprache zur Beschreibung von Geschäftsprozessen im Bereich Web Services. BPEL wurde als Vereinigung der Sprachen XLANG und WSFL von IBM, BEA und Microsoft entwickelt und wurde 2003 an die (OASIS) übergeben. BPEL liegt aktuell in der Version 2.0 vor [BPE07]. In BPEL werden Prozessmodelle durch eine XML-Datei spezifiziert (vgl. Abbildung 2.4). Ein BPEL-Prozess besteht aus Basic Activities, Structured Activities und Scopes. Basic Activities sind grundlegende atomare Aktivitäten eines Prozesses wie bspw. das Zuweisen einer Variable mittels assign . Structured Activities dienen zur Strukturierung des Kontrollflusses. Hierbei ist zu beachten, dass BPEL block-orientiert ist. Graph-orientierte Konstrukte können mit einem speziellen flow - oder link -konstrukt modelliert werden, wobei Zyklen nur bedingt erlaubt sind. Scopes dienen zum Bündeln von Aktivitäten zu transaktionalen Einheiten. Dadurch kann die Sichtbarkeit von und der Zugriff auf Varia- 7 2 Grundlagen blen begrenzt werden. Der BPEL-Standard definiert keine graphische Darstellung für die Prozessmodelle. Abbildung 2.4: BPEL-Ausschnitt einer Reisebuchung Yet Another Workflow Language Die Prozessbeschreibungssprache Yet Another Workflow Language (YAWL) wurde an der Eindhoven University of Technology sowie an der Queensland University of Technology entwickelt. Die Sprache wurde ausgehend von den Ergebnissen einer Analyse existierender WfMS und existierender Prozessbeschreibungssprachen sowie anhand der Workflow- Patterns [AHKB03] entwickelt. YAWL basiert auf Petri-Netzen, wurde aber um zusätzliche Mechanismen für die Modellierung von komplexeren Prozessmodellen erweitert [AH05]. Ein Workflow in YAWL besteht aus einer Menge von Extended-Workflow-Netzen (EWF- Netze). Ein EWF-Netz stellt die Prozessdefinition dar und besteht aus Tasks und Bedingungen (siehe Abbildung 2.5). Ein Task entspricht einer Transition, eine Bedingung einer Stelle bei Petri-Netzen. Jedes EWF-Netz hat genau eine Eingangs- sowie eine Ausgangsbedingung. Tasks können entweder atomar oder zusammengesetzt sein. Zusammengesetzte Tasks werden wiederum durch ein EWF-Netz spezifiziert. Zur Strukturierung gibt es 8 2.3 Zusammenfassung in YAWL die Strukturknoten AND-, XOR- und ORSplit sowie die jeweiligen Join-Konstrukte. Der Kontrollfluss wird wie bei Petri-Netzen durch Tokens gesteuert [AH05]. Abbildung 2.5: YAWL-Beispiel einer Reisebuchung (nach [AH05]) 2.3 Zusammenfassung In diesem Kapitel wird die Grundlage für ein besseres Verständnis der vorliegenden Arbeit geschaffen. Dazu werden zunächst wichtige Begriffe aus dem Bereich des Prozessmanagements eingeführt und erklärt. Anschließend wird ein Überblick der wichtigsten Prozessbeschreibungssprachen gegeben. Zu allen Sprachen wird anhand eines Beispiels der grundlegende Aufbau der Sprache erklärt und somit ein Grundverständnis für die spätere Evaluation der Sprachen zur Abbildung der Provop-Konzepte geschaffen (vgl. Kapitel 6). Für die einzelnen Sprachen gibt es sowohl graphische (z.b. BPMN) als auch rein textuelle Repräsentationen (z.b. XPDL). Des Weiteren unterscheiden sich die Sprachen oftmals wesentlich in der Handhabung des Kontrollflusses. Im folgenden Kapitel wird auf Basis der vorgestellten Grundlagen der Provop-Ansatz zum Management von Prozessvarianten beschrieben. 9 2 Grundlagen 10 3 Provop-Lösungsansatz Wie bereits motiviert, stellt das Management von Prozessvarianten eine große Herausforderung dar, der konventionelle Ansätze nicht gerecht werden. Diese erlauben nur das Ausmodellieren aller Prozessvarianten in separaten Modellen oder die Abbildung aller Varianten eines Prozesses in einem Prozessmodell. Bei einer Vielzahl von Prozessvarianten sind diese Ansätze nicht mehr ausreichend, da sie zu hohen Modellierungs- und Wartungsaufwänden führen. Im Rahmen des Projekts Provop wurde daher ein Ansatz entwickelt, der das transparente Management einer Vielzahl von Prozessvarianten ermöglicht. Dieses Kapitel beschreibt die konventionellen Ansätze und stellt anschließend den Provop- Lösungsansatz im Detail vor. Das Kapitel gliedert sich wie folgt: Abschnitt 3.1 erläutert, wie heute das Management von Prozessvarianten realisiert wird. Abschnitt 3.2 stellt die Grundidee von Provop vor. Abschnitt 3.3 erklärt, wie Provop den Anwender bei der Modellierung von Prozessvarianten unterstützt. Abschnitt 3.4 erklärt die Konzepte für die Konfiguration von Prozessvarianten. In Abschnitt 3.5 wird auf die Ausführung von Prozessvarianten eingegangen. 3.1 Konventionelles Variantenmanagement Zurzeit existieren zwei konventionelle Ansätze für die Modellierung von Prozessvarianten. Der erste Ansatz verfolgt das Ausmodellieren aller Prozessvarianten in eigenen Prozessmodellen u
Similar documents
View more...
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks