Klaus Schultz  Reverse- & Software-Engineering


 

[Leymann 00] F. Leymann, D.Roller: Production Workflow. Concepts and Techniques. Prentice Hall 2000

Der Titel erklärt sich aus der Klassifizierung von Workflow entlang der 2 Dimensionen "business value" und "repetition" (wie oft wird ein Prozess in der gleichen Art abgewickelt). Das ergibt 4 Arten von Workflow:
bulletcollaborative workflow: hoher business value, niedrige repetition. Beispiele: ein Schiff bauen, eine technische Dokumentation für ein Software Produkt.
bulletad hoc workflow: niedriger business value, niedrige repetition. Beispiel: eine Notiz verfassen, eine Notiz weiterleiten.
bulletadministrative workflow: niedriger business value, hohe repetition. Beispiel: Reisekostenabrechnung
bulletproduction workflow: hoher business value, hohe repetition. Das sind die Kerngeschäftsprozesse einer Firma, z.B. die Kreditvergabe in einer Bank. Oft sind diese traditionell mit Transaktionen implementiert.

Das Buch stellt die Konzepte systematisch dar. Die Autoren wollen nicht produktbezogen sein (auch wenn beide aus der Entwicklung von IBM's Workflow-Produkt stammen). Manchmal stellen sie allerdings  ein Konzept vor, ohne zu erwähnen, daß es auch andere gibt. Z.B. das Metamodell für die Ablaufsteuerung scheint mir sehr spezifisch zu sein (Verzicht auf rückwärtsgerichtete Kontrollflüsse, stattdessen eine DO-UNTIL-Loop, als Verknüpfungsoperatoren nur fork und join, keine explizite Unterscheidung zwischen AND und OR-Konnektoren). Die Autoren gehen auch teilweise mit Absicht über das hinaus, was heutige Systeme leisten, beispielsweise bei der Vorstellung eines für die Anforderungen eines Workflows wirklich geeigneten Transaktionskonzepts (s.u.).

In Kapitel 3 werden die grundlegenden Konzepte vorgestellt (sowohl zur Buildtime als auch zur Runtime), in Kapitel 4 wird für das Metamodell eine mathematische Fundierung gegeben, die auf der Graphentheorie basiert.

In Kapitel 6 wird der Zusammenhang zur Objektwelt hergestellt. Workflow-Modellierung hat eine Menge gemeinsam mit Programmierung, insofern kann man von zwei Ebenen der Programmierung sprechen, oder von macro-scripting (Workflow) und micro-scripting (traditionelle Programmierung). In der Objektwelt wird die micro-scripting-Ebene durch Business-Objekte repräsentiert, die Daten und Funktionen beinhalten, aber nicht die sie verbindenden Abläufe.

Im Kapitel 7 werden Transaktionskonzepte vorgestellt, die für Workflows geeignet sind. Nach einer kurzen Wiederholung von einfachen ACID-Transaktionen und dem two-phase commit protocol der X/Open werden vorgestellt:
bulletgeschachtelte Transaktionen, mit einer sehr klaren Definition
bulletdas Saga-Transaktionsmodell: dieses benutzt das Konzept der kompensierenden Transaktionen ( zu jeder Transaktion T gibt es eine Kompensations-Transaktion C, die die Wirkung von T rückgängig macht (storniert)). Die Saga ist eine einfache Sequenz von T-Transaktionen, die mittendrin durch die umgekehrte Reihenfolge von C-Transaktionen rückgängig gemacht werden kann.
bulletdas ConTract-Modell: geeignet für langandauernde Transaktionen
bulletAtomare Sphäre: das Konzept des all-or-nothing übertragen von einer singulären Transaktion auf eine Gruppe von Transaktionen (atomare Sphäre). Die einzelne Transaktion macht kein commit mehr, sondern das Workflow-System startet eine Transaktion beim Betreten der atomic sphere und ein commit bzw. abort beim Verlassen. Mit dieser Technik können mehrere Aktivitäten in eine globale Transaktion eingebettet werden.
bulletKompensations-Sphäre: auch eine Gruppe von Aktivitäten, aber mit einer anderen Bedeutung der Unit-Of-Work tritt ein Problem auf, müssen die bisher durchgeführten Aktivitäten der Gruppe zusammen repariert / kompensiert werden. Z.B. die Reservierung eines Fluges zusammen mit der Reservierung eines Hotelzimmers und eines Mietwagens.

In Kapitel 10 wird eine Systemarchitektur vorgestellt, die, wen wundert's, auf einem Message Queuing System basiert.

Letzte Änderung: 14.8.2001