On the Choice Between Graph-Based and Block-Structured Business Process Modeling Languages

Preview:

Citation preview

Oliver Kopp, Daniel Martin, Daniel Wutke, Frank LeymannInstitute of Architecture of Application Systems

kopp@iaas.uni-stuttgart.de

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?

Recommended