Michele Chinosi University of Insubria – Varese (Italy) BPeX: A New Approach to BPMN Model Portability
A  Brief   Introduction BPMN  (Business Process Modeling Notation), developed by BPMI and adopted as standard by OMG (2006). WS-BPEL  (Web Services – Business Process Execution Language), developed by IBM & Microsoft, adopted by OASIS as standard. Version 2.0 (2007). XPDL  (XML Process Definition Language), developed by WfMC. Version 2.0 (2005). Michele Chinosi - Architecture & Process - 2008
A Brief Introduction BPMN  is a graphical notation to model (represent) business processes WS-BPEL  is an “ execution language ” definition of web services orchestration independent from BPMN XPDL  stores and exchanges the process diagrams process  design format extended to support BPMN Michele Chinosi - Architecture & Process - 2008
BPeX: Business Process eXtensions Michele Chinosi - Architecture & Process - 2008 The BPMN-XPDL-BPEL value chain From Keith Swenson blog “Go Flow”, posted May 26, 2006
BPeX: Business Process eXtensions Michele Chinosi - Architecture & Process - 2008
A Comparison Between WS-BPEL and XPDL Michele Chinosi - Architecture & Process - 2008 WS-BPEL XPDL Expressive power Less expressive More expressive Naming convention Completely different Some names different Structure of the model Completely different Some relevant differences Native referential integrity Partially Missing Execution capabilities Full support No execution allowed Graphical information Not at all Full graphical support Validation / Analysis Complex queries Complex queries
Some XPDL Weaknesses in Details Elements renaming Complex conceptual model Lack of a native referential integrity Complex queries Michele Chinosi - Architecture & Process - 2008
Elements Renaming XPDL 2.0: comes 1 year before OMG published BPMN specification supports all the elements provided by BPMN specification maintains the possibility to describe more generic workflow diagrams avoid redundancy and duplicates Michele Chinosi - Architecture & Process - 2008 BPMN XPDL Process WorkflowProcess SequenceFlow Transition SubProcess SubFlow Gateway Route / Join / Split / …
A Complex Conceptual Model We analyzed the XML serialization provided with the example We depicted a more high-level graphical conceptual model of the XML tree We compared the model with the Business Process Diagram Michele Chinosi - Architecture & Process - 2008
An  Example Process This process is taken from XPDL specification [Document nr. WFMC-TC-1025, Section 8.1, pp. 109-127] and modeled using  BPMN Michele Chinosi - Architecture & Process - 2008
A Complex Conceptual Model Michele Chinosi - Architecture & Process - 2008
A Complex Conceptual Model XPDL was not originally developed to represent natively BPMN diagrams XPDL has to maintain a backward compatibility with its previous version Old names, old structure, old relationships This introduces: more complexity some misunderstandings fragmentation of information Michele Chinosi - Architecture & Process - 2008
A Complex Conceptual Model Michele Chinosi - Architecture & Process - 2008 BPMN XPDL Processes are children of Pools elements Pools are defined separately from WorkflowProcesses, referencing them through relationships Tasks are specifications of Activity elements Tasks are children of an Implementation element, descendant of an Activity block which belongs to a unique Activities element Events are directly referenced from a Lane element Events are children of an Activity element One Gateway is defined within a Lane The Route element is defined as child of an Activity
Lack of Native Referential Integrity Constraints All the elements do not have a unique ID ID and IDRef are of type xsd:NMTOKEN More than one element have the same ID BPMN specification requires the ID field to be “a unique Id that identifies the object from other objects within the Diagram” Michele Chinosi - Architecture & Process - 2008
Lack of Native Referential Integrity Constraints Michele Chinosi - Architecture & Process - 2008
Lack of Native Referential Integrity Constraints IDREFs are of type xsd:NMTOKEN It is possible to set as IDREF value a non-existent ID There is the need of a software tool to check the correctness of the values XPDL specification state that “The Process attribute defines the Process that is contained within the Pool” Michele Chinosi - Architecture & Process - 2008
Lack of Native Referential Integrity Constraints Michele Chinosi - Architecture & Process - 2008
Complex Queries With XPDL for $x in (//Activity[@Id=10]), $y in (//Pool[@Process =  //$x/ancestor::WorkflowProcess[1]/@Id]//Lane/@Name) return $y Result: /Package[1]/Pools[1]/Pool[2]/Lanes[1]/Lane[1]/@Name - Lane-0 With BPeX //Lane[//Task/@Id=10]/@Name Result: /BPD[1]/Pool[2]/Lane[1]/@Name – Lane-0 Michele Chinosi - Architecture & Process - 2008 Which Lane does the Task with  Id=10  belong to?
BPeX: Business Process eXtensions Built from scratch Clear conceptual model Not based on WS-BPEL or XPDL It supports all BPMN elements and features It has an XML-Schema serialization It strengthens BPMN weak connections Static analysis and validation Constraints / Metrics / Extensions Michele Chinosi - Architecture & Process - 2008
BPeX: Business Process eXtensions ID and IDREF are defined as of types xsd:ID and xsd:IDREF We add xsd:KEY and xsd:KEYREF  to enforce constraints We can assure that a Start Event of type Message will have all and only the attributes provided by BPMN specification We can statically validate the model without using software tools Michele Chinosi - Architecture & Process - 2008
BPeX Conceptual Model Graphical BPMN model Graphical BPeX model Michele Chinosi - Architecture & Process - 2008
Example Process in BPeX Michele Chinosi - Architecture & Process - 2008
XPDL and BPeX comparison Michele Chinosi - Architecture & Process - 2008 BPeX  XPDL
Conclusions Michele Chinosi - Architecture & Process - 2008 XPDL BPeX Expressive power More expressive Bijective correspondence Naming convention Some names different No differences Structure of the model Some relevant differences Few adjustments due Native referential integrity Missing Strong Execution capabilities No execution allowed Not yet but planned Graphical information Full graphical support Supported with extensions Analyses Complex queries required Simple queries
Questions? [email_address] http://bpex.sourceforge.net Michele Chinosi - Architecture & Process - 2008

BPeX: A New Approach to BPMN Model Portability

  • 1.
    Michele Chinosi Universityof Insubria – Varese (Italy) BPeX: A New Approach to BPMN Model Portability
  • 2.
    A Brief Introduction BPMN (Business Process Modeling Notation), developed by BPMI and adopted as standard by OMG (2006). WS-BPEL (Web Services – Business Process Execution Language), developed by IBM & Microsoft, adopted by OASIS as standard. Version 2.0 (2007). XPDL (XML Process Definition Language), developed by WfMC. Version 2.0 (2005). Michele Chinosi - Architecture & Process - 2008
  • 3.
    A Brief IntroductionBPMN is a graphical notation to model (represent) business processes WS-BPEL is an “ execution language ” definition of web services orchestration independent from BPMN XPDL stores and exchanges the process diagrams process design format extended to support BPMN Michele Chinosi - Architecture & Process - 2008
  • 4.
    BPeX: Business ProcesseXtensions Michele Chinosi - Architecture & Process - 2008 The BPMN-XPDL-BPEL value chain From Keith Swenson blog “Go Flow”, posted May 26, 2006
  • 5.
    BPeX: Business ProcesseXtensions Michele Chinosi - Architecture & Process - 2008
  • 6.
    A Comparison BetweenWS-BPEL and XPDL Michele Chinosi - Architecture & Process - 2008 WS-BPEL XPDL Expressive power Less expressive More expressive Naming convention Completely different Some names different Structure of the model Completely different Some relevant differences Native referential integrity Partially Missing Execution capabilities Full support No execution allowed Graphical information Not at all Full graphical support Validation / Analysis Complex queries Complex queries
  • 7.
    Some XPDL Weaknessesin Details Elements renaming Complex conceptual model Lack of a native referential integrity Complex queries Michele Chinosi - Architecture & Process - 2008
  • 8.
    Elements Renaming XPDL2.0: comes 1 year before OMG published BPMN specification supports all the elements provided by BPMN specification maintains the possibility to describe more generic workflow diagrams avoid redundancy and duplicates Michele Chinosi - Architecture & Process - 2008 BPMN XPDL Process WorkflowProcess SequenceFlow Transition SubProcess SubFlow Gateway Route / Join / Split / …
  • 9.
    A Complex ConceptualModel We analyzed the XML serialization provided with the example We depicted a more high-level graphical conceptual model of the XML tree We compared the model with the Business Process Diagram Michele Chinosi - Architecture & Process - 2008
  • 10.
    An ExampleProcess This process is taken from XPDL specification [Document nr. WFMC-TC-1025, Section 8.1, pp. 109-127] and modeled using BPMN Michele Chinosi - Architecture & Process - 2008
  • 11.
    A Complex ConceptualModel Michele Chinosi - Architecture & Process - 2008
  • 12.
    A Complex ConceptualModel XPDL was not originally developed to represent natively BPMN diagrams XPDL has to maintain a backward compatibility with its previous version Old names, old structure, old relationships This introduces: more complexity some misunderstandings fragmentation of information Michele Chinosi - Architecture & Process - 2008
  • 13.
    A Complex ConceptualModel Michele Chinosi - Architecture & Process - 2008 BPMN XPDL Processes are children of Pools elements Pools are defined separately from WorkflowProcesses, referencing them through relationships Tasks are specifications of Activity elements Tasks are children of an Implementation element, descendant of an Activity block which belongs to a unique Activities element Events are directly referenced from a Lane element Events are children of an Activity element One Gateway is defined within a Lane The Route element is defined as child of an Activity
  • 14.
    Lack of NativeReferential Integrity Constraints All the elements do not have a unique ID ID and IDRef are of type xsd:NMTOKEN More than one element have the same ID BPMN specification requires the ID field to be “a unique Id that identifies the object from other objects within the Diagram” Michele Chinosi - Architecture & Process - 2008
  • 15.
    Lack of NativeReferential Integrity Constraints Michele Chinosi - Architecture & Process - 2008
  • 16.
    Lack of NativeReferential Integrity Constraints IDREFs are of type xsd:NMTOKEN It is possible to set as IDREF value a non-existent ID There is the need of a software tool to check the correctness of the values XPDL specification state that “The Process attribute defines the Process that is contained within the Pool” Michele Chinosi - Architecture & Process - 2008
  • 17.
    Lack of NativeReferential Integrity Constraints Michele Chinosi - Architecture & Process - 2008
  • 18.
    Complex Queries WithXPDL for $x in (//Activity[@Id=10]), $y in (//Pool[@Process = //$x/ancestor::WorkflowProcess[1]/@Id]//Lane/@Name) return $y Result: /Package[1]/Pools[1]/Pool[2]/Lanes[1]/Lane[1]/@Name - Lane-0 With BPeX //Lane[//Task/@Id=10]/@Name Result: /BPD[1]/Pool[2]/Lane[1]/@Name – Lane-0 Michele Chinosi - Architecture & Process - 2008 Which Lane does the Task with Id=10 belong to?
  • 19.
    BPeX: Business ProcesseXtensions Built from scratch Clear conceptual model Not based on WS-BPEL or XPDL It supports all BPMN elements and features It has an XML-Schema serialization It strengthens BPMN weak connections Static analysis and validation Constraints / Metrics / Extensions Michele Chinosi - Architecture & Process - 2008
  • 20.
    BPeX: Business ProcesseXtensions ID and IDREF are defined as of types xsd:ID and xsd:IDREF We add xsd:KEY and xsd:KEYREF to enforce constraints We can assure that a Start Event of type Message will have all and only the attributes provided by BPMN specification We can statically validate the model without using software tools Michele Chinosi - Architecture & Process - 2008
  • 21.
    BPeX Conceptual ModelGraphical BPMN model Graphical BPeX model Michele Chinosi - Architecture & Process - 2008
  • 22.
    Example Process inBPeX Michele Chinosi - Architecture & Process - 2008
  • 23.
    XPDL and BPeXcomparison Michele Chinosi - Architecture & Process - 2008 BPeX XPDL
  • 24.
    Conclusions Michele Chinosi- Architecture & Process - 2008 XPDL BPeX Expressive power More expressive Bijective correspondence Naming convention Some names different No differences Structure of the model Some relevant differences Few adjustments due Native referential integrity Missing Strong Execution capabilities No execution allowed Not yet but planned Graphical information Full graphical support Supported with extensions Analyses Complex queries required Simple queries
  • 25.
    Questions? [email_address] http://bpex.sourceforge.netMichele Chinosi - Architecture & Process - 2008