Diplomarbeit:
Untersuchungen zur Erstellung eines
Workflowmanagementsystems entsprechend
dem Referenzmodell der WfMC
Gliederung
•
•
•
•
•
•
Motivation
Standard der WfMC
Vorhandenes WfM System
Einbringung des Standards
Einbringung einer Datenbank
Zusammenfassung
2
Motivation
Beispiel einer Workflowdefinition (Prozessdefinition): Warenbestellung
Bestellung ausführen
Bestellung prüfen
Lieferfähigkeit
prüfen
Bonität des
Kunden prüfen
Paket vorbereiten
Waren
zusammenstellen
Paket versenden
Paket
beschriften
3
Motivation
Rechnergestützte Abarbeitung von Workflows:
Process-DefinitionTool
11001101
Engine
Client-Application
Client-Application
Workflowmanagementsystem
4
Motivation
Bedarf an Standards: Szenario 1 - Austausch von Komponenten:
Process-DefinitionTool
Process-DefinitionTool
11001101
10110110
Engine
Client-Application
Client-Application
5
Motivation
Bedarf an Standards: Szenario 2 - Interoperabilität:
Process-DefinitionTool
11001101
Engine
Client-Application
Engine
Client-Application
6
Motivation
Vorteile von Standards:
•
•
•
•
Austausch einzelner Komponenten
Integration spezialisierter Komponenten
Senkung der Kosten bei Verwendung von WfM Systemen
Senkung des Risikos beim Erwerb neuer Komponenten
7
Standard der WfMC
Workflow Management Coalition:
•
•
•
•
•
Verbund von 300 Organisationen
Ziel: Festlegung von Standards für WfM Systeme
Betrachtung gemeinsamer Charakteristika bestehender WfM Systeme
 Definition eines Referenzmodells
Definition einer Begriffsterminologie
8
Standard der WfMC
Referenzmodell:
9
Standard der WfMC: Referenzmodell
Interface 1: Process Definition Tool
•
•
•
•
Zum Importieren und Exportieren von Prozessdefinitionen zwischen Engine
und Process Definition Tool
Bisher: meist systeminterne Verwendung eines proprietären Formates
1. Entwurf eines Austauschformates für Definitionen mit Hilfe eines
Metamodells
2. Entwurf einer API zum Austauschen der Definitionen
Process-DefinitionTool
11001101
Engine
10
Standard der WfMC: Referenzmodell
Interface 2: Client Applications
•
•
•
Zur Interaktion mit dem Workflowteilnehmer
Starten, Unterbrechen und Beenden von Aktivitäten
Worklist-Handler: Filtern von relevanten Aktivitäten für den
Workflowteilnehmer
Engine
Client-Application
11
Standard der WfMC: Referenzmodell
Interface 3: Involvierte Anwendungen
•
•
•
•
Zum Einbeziehen externer Anwendungen
Nicht nur Problem im Bereich des WfM
Verwendung eines Application Agents
Besser: Einbeziehung workflowbefähigter Anwendungen
Engine
Invoked Application
12
Standard der WfMC: Referenzmodell
Interface 4: Interoperabiliät
•
•
•
•
Zur Verwaltung von Workflows durch heterogene Enactment-Services
Definition vier verschiedener Szenarien mit unterschiedlicher Befähigung
zur Interoperabilität
Benötigt einheitliche Interpretation von Prozessdefinitionen
Benötigt Funktionen zum Austausch von Kontrollinformationen und
prozessrelevanten Daten
Engine
Engine
Enactment-Service
13
Standard der WfMC: Referenzmodell
Interface 5: Administration und Überwachung
•
•
•
•
Zur Administration und Überwachung mehrerer Engines
Verwaltung von Workflowteilnehmern und Rollen
Verwaltung von Ressourcen
Verwaltung von Workflows
Engine
Administration- and
Monitoring Tools
14
Vorhandenes WfM System
•
•
Im Rahmen eines Projektes in Java entworfen
Weiterentwicklung durch eine Diplomarbeit
Architektur:
Java-Anwendung
Engine
Client-Application
Process-DefinitionTool
Java-Anwendung
15
Einbringung des WfMC Standards
1.: Anpassung der Architektur:
Java-Anwendung
Engine
Client-Application
Java-Anwendung
Java-Anwendung
Engine
Client-Application
16
Einbringung des WfMC Standards
2.: Implementation des Interfaces - Wahl einer konkreten
Spezifikation
Referenzmodell
WAPI
WAPI Mapping
zu IDL
jFlow
17
Einbringung des WfMC Standards: jFlow
jFlow
•
•
•
•
Antwort auf RfP der OMG zur Spezifikation einer WfM Facility
Von 19 Firmen konzeptioniert und von 18 weiteren unterstützt
Basiert auf dem Referenzmodell der WfMC
Spezifiziert Interfaces 2, 4 und 5 in der IDL
18
Einbringung des WfMC Standards: jFlow
jFlow-Modell
19
Einbringung des WfMC Standards: jFlow
jFlow
•
•
Java-Anwendung
Java-Anwendung
Engine
Client-Application
Konflikte bei Einbringung von jFlow  Adaption von jFlow:
2 Regeln:
– Funktionsangebot des vorhandenen WfM Systems muss erhalten bleiben
– Nicht zu sehr vom jFlow Standard abweichen
20
Einbringung des WfMC Standards: jFlow
1. Konflikt: dynamische Änderungen von Prozessdefinitionen
Prozess
Aktivität
entfernen
Aktivität
Aktivität
hinzufügen
21
Einbringung des WfMC Standards: jFlow
2. Konflikt: unterschiedlicher Aufbau von Prozessdefinitionen
Aktivität
jFlow
vorhandenes System
Prozess
Aufgabe
Aktivität
Prozess
Aktivität
Aktivität
Aufgabe
Aufgabe
Aufgabe
Aufgabe
Aktivität
22
Einbringung des WfMC Standards: jFlow
2. Konflikt: unterschiedlicher Aufbau von Prozessdefinitionen
Lösung:
andere Variante:
Prozess
Prozess
Prozess
Aktivität
Aktivität
Aktivität
Aktivität
Aktivität
Prozess
Aktivität
Aktivität
23
Einbringung des WfMC Standards: jFlow
3. Konflikt: unterschiedliche Zustandsdiagramme
vorhandenes Modell:
open
closed
waiting
disabled
enabled
done
running
jFLow Modell:
closed
open
not_running
completed
not_started
running
suspended
terminated
aborted
24
Einbringung des WfMC Standards: jFlow
3. Konflikt: unterschiedliche Zustandsdiagramme
Lösung:
open
closed
not_running
completed
in_queue
terminated
not_started
running
aborted
dropped
suspended
25
Einbringung des WfMC Standards: jFlow
Umsetzung der adaptierten jFlow IDL durch CORBA:
jFlow IDL
Language Mapping
Stub
Skeleton
CORBAClient
impl
CORBAServer
Servants
Instanz
CORBAObjekte
26
Einbringung des WfMC Standards: jFlow
Erweiterung der bestehenden Architektur durch CORBA:
Engine
Client-Application
Servants
CORBA-Server
CORBA-Client
27
Einbringung des WfMC Standards: jFlow
Erweiterung der bestehenden Architektur durch CORBA:
Java-Anwendung
Engine
CORBAObjectFactory
EngineBridge
Java-Anwendung
Servants
Client-Application
CORBA-Server
CORBA-Client
standardisiertes jFlow-Interface
28
Einbringung einer Datenbank
Einbringung einer Datenbank:
Native XML-Datenbank:
Engine
29
Zusammenfassung
Entstandene Architektur:
ClientApplication
eXistDatenbank
Process-DefinitionTool
Web-Server
?
jFlow
11001101
Engine
jFlow
Engine
?
jFlow +
Invoked Application
Administration- and
Monitoring Tools
30
Zusammenfassung
Bewertung des Standards der WfMC:
•
•
•
•
Abstrakte Spezifikation zukunftsfähig
Konkrete Spezifikationen nicht praktikabel
Standard erreicht nicht sein Ziel
 Test der entstandenen Software nicht möglich
In Zukunft ist ein einsatzfähiger Standard zu erwarten
31

Verteidigung