Autor: Christian Braun
Fach: Informatik - Programmierung
Details
Jahr: 2002
Seiten: 79
Note: sehr gut
Sprache: Deutsch
Dateigröße: 597 KB
ISBN (E-Book): 978-3-638-14222-9
Textauszug (computergeneriert)
Diplomarbeit
am Institut für Informatik
Ludwig-Maximilians-Universität München
Lehrstuhl für Programmier- und Softwaretechnik
Entwicklung eines
Workflow-Management-Systems
basierend auf UML-Aktivitätsdiagrammen
Bearbeiter: Christian Braun
München, den 22. August 2002
Kurzfassung
Workflow-Management-Systeme müssen in folgenden drei Bereichen Unterstützung leisten: bei der Definition und Modellierung von Workflows und den dazugehörigen Aktivitäten, der Ausführung und Verwaltung der einzelnen Workflowinstanzen und der Interaktion mit Benutzern und externen Applikationen.
Es existieren mittlerweile viele kommerzielle Workflow-Management-Systeme, die unterschiedliche abstrakte Sprachen zur Modellierung von Workflows verwenden. Entscheidend bei der Wahl einer bestimmten Modellierungssprache sind deren Ausdrucksstärke und eine eindeutig definierte Semantik.
Das Ziel dieser Arbeit bestand darin, ein Workflow-Management-System zu entwerfen und zu implementieren, das als abstrakte Modellierungssprache UMLAktivitätsdiagramme verwendet. UML-Aktivitätsdiagramme werden zwar in der Theorie schon länger untersucht, in kommerziellen Systemen finden sie aber bisher noch selten Verwendung. Dies liegt unter anderem daran, dass die UML-Spezifikation in Bezug auf die Semantik von Aktivitätsdiagrammen einige Unklarheiten aufweist.
Es wurde zunächst untersucht, welche Anforderungen an ein Workflow-Management-System gestellt werden und welche Standards die Workflow Management Coalition für die Entwicklung vorschlägt. Für die Implementierung wurde ein Metamodell für UML-Aktivitätsdiagramme entworfen. Dieses entspricht weitestgehend dem Metamodell der UML-Spezifikation. Für die Ausführung musste anschließend eine eindeutige Semantik festgelegt werden, die vor allem für die Modellierung und Ausführung von Geschäftsprozessen geeignet ist.
Zuletzt wurde das entwickelte Workflow-Management-System mit dem Namen Flow-Sys anhand eines konkreten Fallbeispiels getestet. Bei dem Fallbeispiel handelte es sich um einen möglichen Geschäftsprozess, der bei der Bearbeitung einer Kundenreklamation durchlaufen wird.
Inhaltsverzeichnis
Ehrenwörtliche Erklärung ... 2
Kurzfassung ... 3
1 Einleitung ... 6
1.1 Workflow-Management-Systeme ... 6
1.2 UML-Aktivitätsdiagramme ... 7
1.3 Überblick ... 9
1.4 Verwandte Arbeiten ... 10
2 Workflow-Management-Systeme ... 14
2.1 Anforderungen an Workflow-Management-Systeme ... 14
2.2 Die Workflow Management Coalition (WfMC) ... 17
2.2.1 Hintergrund ... 17
2.2.2 Ergebnisse der WfMC ... 17
2.2.3 Das Workflow Reference Model ... 18
2.2.4 Das Process Definition Interchange Interface ... 21
2.2.5 Das Workflow Application Programming Interface (WAPI) ... 24
2.3 Existierende Systeme ... 25
2.3.1 Staffware Process Suite ... 25
2.3.2 COSA Workflow ... 26
2.3.3 Lotus Workflow 3.0 ... 26
2.3.4 MQSeries Workflow ... 27
3 UML-Aktivitätsdiagramme und deren Verwendung für Workflow-Management-Systeme ... 29
3.1 Beschreibung des verwendeten Metamodells ... 29
3.1.1 Abstrakte Syntax ... 30
3.1.2 Einschränkungen der UML ... 33
3.2 Nicht verwendete Konstrukte und unklare Definitionen ... 34
3.2.1 Nicht verwendetete Konstrukte ... 34
3.2.2 Unklare Definitionen bezüglich Object Flow States ... 35
3.2.3 Der Begriff „well nested“ ... 36
3.3 Semantik zur Ausführung von Aktivitätsdiagrammen ... 36
3.3.1 Der Event Manager ... 38
3.3.2 Der Router ... 38
3.3.3 Transitionen ... 40
3.3.4 Object Flow States ... 42
3.4 Ausführungsbeispiel ... 47
3.5 Vergleich mit dem Metamodell der WfMC ... 48
4 Das Workflow-Management-System FlowSys ... 51
4.1 Allgemeine Beschreibung der Funktionalitäten ... 51
4.2 Implementierte Funktionen des WAPI ... 52
4.2.1 WAPI Connect Functions ... 53
4.2.2 WAPI Process Control Functions ... 53
4.2.3 WAPI Activity Control Functions ... 54
4.2.4 WAPI Process Status Functions ... 54
4.2.5 WAPI Activity Status Functions ... 54
4.2.6 WAPI Worklist Functions ... 54
4.2.7 Zusätzlich implementierte Funktionen ... 55
4.3 Fallstudie ... 55
4.3.1 Beschreibung des Fallbeispiels ... 55
4.3.2 Anmeldung an der Workflow-Engine ... 56
4.3.3 Das zentrale Workflowfenster ... 56
4.3.4 Der Workflow-Editor ... 58
4.3.5 Die Workflow-Applikation ... 59
5 Design und Implementierung ... 66
5.1 Architektur ... 66
5.2 RMI (Remote Method Invocation) ... 71
6 Schlußbetrachtung ... 74
6.1 Zusammenfassung ... 74
6.2 Ausblick ... 74
Literaturverzeichnis ... 77
Abbildungsverzeichnis ... 79
1 Einleitung
1.1 Workflow-Management-Systeme
Die Workflow Management Coalition (WfMC) [25], eine offene Gruppe mit Mitgliedern aus Industrie und Forschung, die Standards für die Beschreibung von Workflow-Management-Systemen entwickelt, definiert den Begriff Workflow (oft auch als Geschäftsprozess, Prozess oder Arbeitsablauf bezeichnet) wie folgt:
„The automation of a business process, in whole or part, during which documents, information or tasks are passed from one participant to another for action, according to a set of procedural rules.“
Unter einem Workflow versteht man also einen alltäglichen Arbeitsablauf in einem Unternehmen, der nach bestimmten Regeln und mit einem bestimmten Ziel durchgeführt wird. Dabei werden Dokumente, Informationen oder Aufgaben zwischen den einzelnen Teilnehmern zur Bearbeitung weitergereicht.
Ein Workflow besteht üblicherweise aus mehreren logischen Schritten, die man als Aktivitäten bezeichnet. Eine Aktivität kann entweder manuell von einem Teilnehmer am Workflow durchgeführt werden oder automatisch durch eine Maschine bzw. ein System.
Da sich Workflows im Laufe der Zeit relativ häufig verändern, werden sie nicht unmittelbar durch ein Programm codiert, sondern in abstrakter Form beschrieben. Diese Workflowbeschreibungen (meist Workflowdefinitionen, oft aber ebenfalls Workflows genannt) sind leicht zu verändern und werden von einem Workflow-Management-System interpretiert und ausgeführt. Neue Entwicklungen ermöglichen auch die Modifikation während der Laufzeit. Für die abstrakte Beschreibung von Workflows werden meist Sprachen verwendet, die eine intuitive graphische Notation besitzen und sich an Petrinetzen oder verwandten formalen Modellen orientieren.
Der Begriff Workflow-Management-System wird von der WfMC folgendermaßen definiert:
"A system that completely defines, manages and executes workflow processes through the execution of software whose order of execution is driven by a computer representation of the workflow process logic."
Die Aufgabe eines Workflow-Management-Systems besteht darin, Workflowdefinitionen bzw. –beschreibungen zu interpretieren, die in den meisten Fällen mit einem externen Programm erstellt wurden. Es ermöglicht die Automatisierung eines Geschäftsprozesses, indem es die durchzuführenden Aktivitäten entsprechend der Workflowbeschreibung verwaltet.
Das Workflow-Management-System soll in den folgenden drei Bereichen Unterstützung leisten:
-
Bei der Modellierung und Definition von Arbeitsabläufen und deren Aktivitäten. -
Bei der Verwaltung aller auszuführenden Instanzen von Workflowdefinitionen und der Steuerung der einzelnen Aktivitäten einer bestimmten Workflowinstanz. -
Bei der Interaktion mit Anwendern und externen Applikationen während der Ausführung einer Workflowinstanz.
1.2 UML-Aktivitätsdiagramme
UML-Aktivitätsdiagramme sind noch relativ neu und stellen eine Mischung verschiedener, bereits länger bekannter Darstellungsformen für die Modellierung von Prozessen, dar. Sie basieren unter anderem auf Zustandsdiagrammen, Flussdiagrammen und Petrinetzen. Da Aktivitätsdiagramme noch nicht lange existieren, liegen auch noch keine umfangreichen Erfahrungen vor. Sie werden zwar in der Theorie schon länger untersucht, in der Praxis finden sie aber bisher noch selten Verwendung.
UML-Aktivitätsdiagramme beschreiben die Ablaufmöglichkeiten eines Systems oder Prozesses. Ein Aktivitätsdiagramm ist eine spezielle Form des Zustandsdiagramms, das überwiegend Aktivitäten enthält und zur Modellierung des Kontroll- und Objektflusses bei Prozessen verwendet wird. Aktivitäts- und Zustandsdiagramme besitzen viele gemeinsame Elemente auf der Ebene des Metamodells.
Eine Aktivität ist ein Zustand mit einer internen Aktion und einer oder mehreren ausgehenden Transitionen. Sie stellt einen einzelnen Schritt in einem Prozess bzw. Arbeitsablauf dar. Wenn eine ausgehende Transition nicht explizit durch ein Ereignis ausgelöst wird, dann wird sie, wie bei einem Zustandsdiagramm, durch die Beendigung der internen Aktion ausgelöst.
Aktivitäten lassen sich hierarchisch schachteln, das heisst eine Aktivität kann wiederum aus mehreren Unteraktivitäten bestehen, die durch ein eigenes Aktivitätsdiagramm dargestellt werden. Aktivitätsdiagramme ermöglichen auch die Modellierung von nebenläufigen Aktivitäten und Verzweigungen. Sie beinhalten das Konzept von Partitionen bzw. Verantwortlichkeitsbereichen, mit denen die Aktivitäten bestimmten Elementen oder Strukturen zugeordnet werden können. Im speziellen Fall der Geschäftsprozessmodellierung können mit Hilfe der Verantwortlichkeitsbereiche auch Organisationsstrukturen abgebildet werden.
[...]
Kommentare
Dieser Text kann über folgende URL aufgerufen und zitiert werden: