Diplomarbeit, 1998
196 Seiten, Note: 1,0
1 Einleitung
2 Workflow-Management
2.1 Einführung
2.2 Eigenschaften von Workflows
2.2.1 Atomare Workflows und komplexe Workflows
2.2.2 Agenten- / Rollenkonzept
2.3 Anforderungen an ein Workflow-Management-System
2.3.1 Workflow-Meta-Modell-bezogene Anforderungen
2.3.2 Implementierungsbezogene Anforderungen
2.4 Kommerzielle Workflow-Management-Systeme
2.4.1 FlowMark von IBM
2.4.2 WorkParty von Siemens
2.5 Der erste WASA Prototyp
3 Objektorientierter Entwurf
3.1 Philosophie
3.2 Analyse-Objektmodell
3.3 Design-Objektmodell
3.4 Plattformanforderungen
4 Persistency-Service
4.1 Anforderungen
4.2 Spezifikation nach OMG
4.3 Neue Spezifikation
4.3.1 Database
4.3.2 Transaction
4.3.3 Persistent Object
4.4 Implementierung
4.5 Eine Beispielanwendung
4.5.1 Implementierung der Interface
4.5.2 Implementierung der Factory
4.5.3 Implementierung des Servers
4.6 Modul Utility
4.7 Performanz
4.8 Optimierungsmöglichkeiten
4.8.1 Verminderung des Datenumfanges
4.8.2 Vorcompilierte Datenbankbefehle
4.8.3 Zusammenfassen von Daten
4.8.4 Messungen
4.8.5 Fazit
5 Implementierung des Prototypen
5.1 Realisierung des Workflow-Management-Systems mit OrbixWeb
5.2 Übersicht Klassenhierarchie
5.3 Objektmodell-orthogonale Dienste
5.3.1 Trading-Object-Service
5.3.2 Event-Service
5.4 Systemarchitektur
5.4.1 Logische Systemsicht
5.4.2 Physische Systemsicht
5.5 Basisfunktionalität
5.5.1 Templates
5.5.2 Daten
5.6 Workflow-Engine Kernfunktionalität
5.6.1 Darstellung von Workflows
5.6.2 Atomare Workflows
5.6.3 Komplexe Workflows
6 Beispiel
6.1 Das Workflow-Modell
6.2 Darstellung des Workflow-Modells
6.3 Darstellung einer Workflow-Instanz
7 Schlußbetrachtung
7.1 Erfahrungen
7.2 Ideen
7.3 Fazit
A Klassen des Persistency-Service
A.1 Modul CosPersistency
A.1.1 IDL-Spezifikation
A.1.2 Klasse DatabaseImpl
A.1.3 Klasse PersistencyLoader
A.1.4 Klasse PersistentObjectImpl
A.1.5 Klasse RawdataIteratorImpl
A.1.6 Klasse TransactionImpl
A.2 Modul DB_Oracle
A.2.1 IDL-Spezifikation
A.2.2 Klasse Oracle_DatabaseImpl
A.2.3 Klasse Oracle_TransactionImpl
A.2.4 Klasse SQL_Statements
A.2.5 Datenbanktabellen
B Klassen der Workflow-Engine
B.1 Modul WASA
B.1.1 IDL-Spezifikation
B.1.2 Klasse AtomicImpl
B.1.3 Klasse AutomaticImpl
B.1.4 Klasse BinaryDataImpl
B.1.5 Klasse BooleanDataImpl
B.1.6 Klasse ComplexImpl
B.1.7 Klasse ConnectorImpl
B.1.8 Klasse DataObjectImpl
B.1.9 Klasse DecimalDataImpl
B.1.10 Klasse ForAllImpl
B.1.11 Klasse InputParameterImpl
B.1.12 Klasse InstanceOfImpl
B.1.13 Klasse NumberDataImpl
B.1.14 Klasse OutputParameterImpl
B.1.15 Klasse ParameterImpl
B.1.16 Klasse ParameterInstanceReferenceImpl
B.1.17 Klasse ParameterMappingImpl
B.1.18 Klasse StartConditionContextImpl
B.1.19 Klasse StartConditionImpl
B.1.20 Klasse StartConditionParameterReferenceImpl
B.1.21 Klasse StringDataImpl
B.1.22 Klasse TemplateImpl
B.1.23 Klasse WFSubWFRelationshipImpl
B.1.24 Klasse WorkflowImpl
B.1.25 Klasse WorkflowInputParameterReferenceImpl
B.1.26 Klasse WorkflowOutputParameterReferenceImpl
B.2 Modul Utility
B.2.1 IDL-Spezifikation
B.2.2 Klasse Creator
B.2.3 Klasse DynamicArrayImpl
B.2.4 Klasse IDLtoJAVA
B.2.5 Klasse JAVAtoIDL
B.2.6 Klasse State
Die Diplomarbeit hat das Ziel, ein flexibles Workflow-Management-System zu spezifizieren und zu implementieren, das auf dem objektorientierten Modell von [WHKS97] basiert. Die zentrale Forschungsfrage ist dabei, wie eine Workflow-Engine auf Basis von CORBA und Java entwickelt werden kann, die Verteilung, Persistenz sowie eine dynamische Anpassungsfähigkeit während der Laufzeit unterstützt.
4.3 Neue Spezifikation
Ziel der neuen Spezifikation des Persistency-Service ist es, die in Abschnitt 4.1 genannten Anforderungen so gut wie möglich zu erfüllen. Der Quelltextauszug 4.1 zeigt die verkürzte Spezifikation des Persistency-Service, bestehend aus einem Modul und drei Interfaces:
4.3.1 Database
Das Interface Database entspricht einer abstrakten Sicht auf eine Datenbank. Jede Datenbank im System, die vom Persistency-Service genutzt werden soll, muß genau eine Instanz dieses Interface zur Verfügung stellen. Der Quelltextauszug 4.2 zeigt die Methoden, die zur Verfügung gestellten werden müssen. Um Daten zu speichern, sieht das Konzept vor, eine Transaktion in der Datenbank zu belegen, die die notwendigen Methoden zur Speicherung der Daten zur Verfügung stellt.
Zur Identifizierung von persistenten Objekten wird ein im gesamten System eindeutiger Schlüssel benötigt. Hier ist es zunächst naheliegend den CORBA-Objektschlüssel zu verwenden. Dieses hat aber den unangenehmen Nebeneffekt, daß eine Verschiebung von Objekten zwischen den Rechnern nicht mehr transparent durchgeführt werden kann. Die Lösung des Problems ist die Verwendung nur noch eines Teils des CORBA-Objektschlüssels für die Identifikation. Die Idee ist, den Teil des Objektschlüssels zu nehmen, der für den Programmierer unabhängig von dem Ort des Objektes frei wählbar ist. Dieser ist der Marker, der nur die Restriktion hat, daß er eindeutig innerhalb eines Objektservers definiert sein muß. Dieser Marker wird im folgenden als eindeutiges Identifikationsmerkmal benutzt, indem sichergestellt wird, daß jeder Marker für persistente Objekte genau einmal vorkommt. Daher stellt jede Datenbank die Methode getNewObjectmarker zur Verfügung, die einen neuen eindeutigen Marker zurückgibt.
1 Einleitung: Beschreibt die historische Entwicklung computergestützter Arbeitssysteme und definiert das Ziel einer flexiblen, verteilten Workflow-Management-Lösung.
2 Workflow-Management: Erläutert grundlegende Workflow-Eigenschaften, Agenten-Konzepte und die Anforderungen an moderne Workflow-Management-Systeme.
3 Objektorientierter Entwurf: Stellt die Philosophie und das Meta-Modell der Workflow-Engine vor, die auf einer objektorientierten Struktur basieren.
4 Persistency-Service: Behandelt detailliert das Design und die Implementierung eines flexiblen Persistenzdienstes für CORBA-Objekte mittels Java.
5 Implementierung des Prototypen: Beschreibt die konkrete Realisierung des WASA-Prototypen unter Verwendung von OrbixWeb und die Einbindung in die Systemarchitektur.
6 Beispiel: Illustriert die Modellierung und Instanziierung eines Workflows anhand eines konkreten Kundenauftrag-Szenarios.
7 Schlußbetrachtung: Reflektiert die gesammelten Erfahrungen und schlägt Ansätze zur zukünftigen Weiterentwicklung vor.
A Klassen des Persistency-Service: Dokumentiert die technische Spezifikation und Implementierungsdetails der Persistenz-Klassen.
B Klassen der Workflow-Engine: Dokumentiert die technische Spezifikation und Implementierungsdetails der Workflow-Klassen.
Workflow-Management, CORBA, Persistency-Service, Objektorientierter Entwurf, Java, WASA, Verteilung, Workflow-Modellierung, Datenbankanbindung, Middleware, Prototyp, Dynamische Anpassungsfähigkeit, Laufzeitumgebung, Interface, IDL-Spezifikation.
Die Diplomarbeit befasst sich mit der Konzeption und Implementierung einer verteilten, persistenten Workflow-Engine, die auf CORBA und der Programmiersprache Java basiert.
Die Schwerpunkte liegen auf dem Workflow-Management, dem objektorientierten Entwurf, der Speicherung von Objektdaten (Persistenz) und der Verteilung von Systemkomponenten.
Ziel ist es, ein flexibles System zu schaffen, das die starre Trennung zwischen Modellierung (Buildtime) und Ausführung (Runtime) aufhebt und somit ad-hoc Änderungen während der Laufzeit ermöglicht.
Die Arbeit nutzt den objektorientierten Entwurf, spezifiziert durch die Unified Modeling Language (UML), und implementiert eine Middleware-Lösung unter Verwendung von CORBA-Schnittstellen und Java-Reflektion.
Der Hauptteil gliedert sich in die theoretischen Anforderungen, den objektorientierten Entwurf des Workflow-Meta-Modells, die detaillierte Spezifikation des Persistency-Service sowie die Implementierung des WASA-Prototypen.
Zentrale Begriffe sind Workflow-Management, CORBA, Persistency-Service, Objektorientierung, verteilte Systeme und dynamische Workflow-Anpassung.
Java ermöglicht durch die virtuelle Maschine eine hohe Plattformunabhängigkeit und erlaubt durch das Paket "java.lang.reflect" eine dynamische Verarbeitung von Objektdaten ohne strikte Vorgaben zur Compilezeit.
Die Datenbank dient zur dauerhaften Sicherung der Objektzustände (Persistenz), um den Zustand der Workflow-Instanzen auch nach Systemausfällen korrekt wiederherstellen zu können.
Der GRIN Verlag hat sich seit 1998 auf die Veröffentlichung akademischer eBooks und Bücher spezialisiert. Der GRIN Verlag steht damit als erstes Unternehmen für User Generated Quality Content. Die Verlagsseiten GRIN.com, Hausarbeiten.de und Diplomarbeiten24 bieten für Hochschullehrer, Absolventen und Studenten die ideale Plattform, wissenschaftliche Texte wie Hausarbeiten, Referate, Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Dissertationen und wissenschaftliche Aufsätze einem breiten Publikum zu präsentieren.
Kostenfreie Veröffentlichung: Hausarbeit, Bachelorarbeit, Diplomarbeit, Dissertation, Masterarbeit, Interpretation oder Referat jetzt veröffentlichen!

