16
Oliver Kopp, Daniel Martin, Daniel Wutke, Frank Leymann Institute of Architecture of Application Systems [email protected] On the Choice Between Graph-Based and Block- Structured Business Process Modeling Languages Modellierung betrieblicher Informationssysteme MobIS 2008 – http://wi-mobis.gi-ev.de/

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

Embed Size (px)

Citation preview

Page 1: 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

[email protected]

On the Choice BetweenGraph-Based and Block-Structured

Business Process Modeling Languages

Modellierung betrieblicher Informationssysteme MobIS 2008 – http://wi-mobis.gi-ev.de/

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

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

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

Präsentiert von Oliver Kopp Graph-based vs. block-structured business process modeling languages 3

Beispielprozess

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

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>

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 + + {

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

Präsentiert von Oliver Kopp Graph-based vs. block-structured business process modeling languages 15

Zusammenfassung

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

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?