Download - On the Choice Between Graph-Based and Block-Structured Business Process Modeling Languages
Oliver Kopp, Daniel Martin, Daniel Wutke, Frank LeymannInstitute of Architecture of Application Systems
On the Choice BetweenGraph-Based and Block-Structured
Business Process Modeling Languages
Modellierung betrieblicher Informationssysteme MobIS 2008 – http://wi-mobis.gi-ev.de/
Präsentiert von Oliver Kopp Graph-based vs. block-structured business process modeling languages 2
Agenda
Beispielprozess
Kriterien zum Vergleich von Workflow-Sprachen
Zusammenfassung und Ausblick
Präsentiert von Oliver Kopp Graph-based vs. block-structured business process modeling languages 3
Beispielprozess
Präsentiert von Oliver Kopp Graph-based vs. block-structured business process modeling languages 4
Eine andere Betrachtung des Beispielprozesses
<bpel:flow name="Flow"> <bpel:receive name="Reparatur notwendig"> <bpel:sources> <bpel:source linkName='l1'></bpel:source> </bpel:sources> </bpel:receive> <bpel:invoke name="Reparatur durchführen"> <bpel:targets> <bpel:target linkName='l1'></bpel:target> </bpel:targets> <bpel:sources> <bpel:source linkName='l2'> <bpel:transitionCondition> Benachrichtigung muss gedruckt werden </bpel:transitionCondition> </bpel:source> <bpel:source linkName='l3'> <bpel:transitionCondition> Benachrichtigung fertig gestellt UND Benachrichtigung muss archiviert werden </bpel:transitionCondition> </bpel:source> </bpel:sources> </bpel:invoke> <bpel:invoke name="Benachrichtigung drucken"> <bpel:targets> <bpel:target linkName='l2'></bpel:target> </bpel:targets> </bpel:invoke> <bpel:invoke name="Benachrichtung archivieren"> <bpel:targets> <bpel:target linkName='l3'></bpel:target> </bpel:targets> </bpel:invoke> <bpel:links> <bpel:link name="l1"></bpel:link> <bpel:link name="l2"></bpel:link> <bpel:link name="l3"></bpel:link> </bpel:links> </bpel:flow>
Präsentiert von Oliver Kopp Graph-based vs. block-structured business process modeling languages 5
Vergleich von Prozessmodellierungssprachen?
Üblicherweise durch sogenannte „Patterns“ Workflow-Patterns, Service-Interaction-Patterns,
Correlation-Patterns, …
Erfassen diese Patterns alle Aspekte von Prozessmodellierungssprachen?
Was interessiert “Unentschlossene” am ehesten? Gibt es K.O.-Kriterien?
Um welche Sprachen geht es? BPEL, BPMN, EPK, Windows Workflow Foundation
Web Service Business Process Execution Language(WS-BPEL 2.0, Vorgänger: BPEL4WS 1.x)
Business Process Modeling Notation Ereignisgesteuerte Prozess-Kette
YAWL, XPDL, XL, (C# Erweiterung), u.v.m.
Präsentiert von Oliver Kopp Graph-based vs. block-structured business process modeling languages 6
Kriterium: Standardized Rendering
Besitzt die Sprache eine standardisierte (verbindliche) graphische Darstellung?
Die graphische Darstellung der Windows Workflow Foundation ist implementiert, jedoch nicht spezifiziert
Präsentiert von Oliver Kopp Graph-based vs. block-structured business process modeling languages 7
Kriterium: Standardized Serialization
Besitzt die Sprache eine standardisierte (verbindliche) Serialisierung?
XPDL ist der vorgeschlagene Standard für BPMN
EPML ist der vorgeschlagene Standard für EPCs
Wir sehen die Windows Workflow Foundation als proprietäres Format, das direkt ausführbaren Code darstellt
Präsentiert von Oliver Kopp Graph-based vs. block-structured business process modeling languages 8
Kriterium: Intention der Sprache
Welche Zielgruppe spricht die Sprache an?
Durch BPEL können auch nicht-ausführbare Prozesse modelliert werden Abstract BPEL Processes z.B. Beschreibung des Verhaltens eines
Services
Präsentiert von Oliver Kopp Graph-based vs. block-structured business process modeling languages 9
Kriterum: Graph-orientierte Modellierung
Kann mit der Sprache ein Workflow durch Knoten und Kanten beschrieben werden?
Falls ja, welche Typen von Graphen werden unterstützt?
Windows Workflow Foundation ist rein block-orientiert Falls Programm als Flussgraph interpretiert,
dann ist dieser stets wohl-strukturiert
Präsentiert von Oliver Kopp Graph-based vs. block-structured business process modeling languages 10
Kriterium: Block-strukturierte Modellierung
Ist es möglich, in der Sprache Blöcke direkt durch syntaktische Konstrukte auszudrücken?
In BPMN können durch das Schleifen-Konstrukt und Unterprozesse Blöcke modelliert werden
Präsentiert von Oliver Kopp Graph-based vs. block-structured business process modeling languages 11
Kriterium: Modellierung von Schleifen
Welche Typen von Schleifen können mittels der Sprache ausgedrückt werden?
Structured Loops: while/repeat-until BPEL verlangt, dass die Graphen azyklisch
sind Sowohl in BPEL als auch in WF können
Zyklen durch einen Zustandsautomat „simuliert“ werden
Präsentiert von Oliver Kopp Graph-based vs. block-structured business process modeling languages 12
Kriterium: Parametrisierung der splits and joins
Können die Konstrukte zur Aufspaltung und Zusammenführungdes Kontrollflusses parametrisiert werden?
BPEL: transition conditions und join conditions Transition Conditions: Zugriff auf Daten im Prozess Join-Bedinung: ausschließlich auf eingehende Kanten
BPMN: Join-Bedinung: auch auf Daten im Prozess
EPK: Es kann zwischen drei Typen gewählt werden
XOR V
V
Präsentiert von Oliver Kopp Graph-based vs. block-structured business process modeling languages 13
Kriterium: Semantik von Joins
Wie ist die Semantik von Joins definiert? Wie aufwändig ist die Evaluierung? Sichert die Semantik zu, dass der Workflow zum
Ende kommt?
Bei Dead-Path-Elimination (DPE) wird „globales Wissen“zu dem Join durchpropagiert, damitlokal die Entscheidung gefällt werden kann
Präsentiert von Oliver Kopp Graph-based vs. block-structured business process modeling languages 14
Kriterium: Darstellung des Datenflusses
Kann durch die Sprache der Datenfluss explizit dargestellt werden?
Für BPEL wurde die Erweiterung “BPEL-D” vorgestellt
Durch Assoziationen kann in BPMN und EPKs der Datenfluss modelliert werden
Criteria BPEL BPMN EPC WF
Explicit Data Flow {C13 + + {
Criteria BPEL BPMN EPC WF
Explicit Data Flow {C13 + + {
Präsentiert von Oliver Kopp Graph-based vs. block-structured business process modeling languages 15
Zusammenfassung
Präsentiert von Oliver Kopp Graph-based vs. block-structured business process modeling languages 16
Zusammenfassung und Ausblick
Kriterienkatalog zum „schnellen“ Vergleich von Prozessmodellierungssprachen
Nicht jede block-strukturierte Sprache ist ausschließlich block-strukturiert
WS-BPEL 2.0 unterstützt Graph-basierte Prozessmodellierung mit einer wohl-definierten Semantik
Die Modell-Transformationen müssen überdacht werden! Graph-basierte Abbildung von BPMN auf BPEL?