bpex: a new approach to bpmn model portability
DESCRIPTION
Architecture+Processes Conference, Washington DC, April 2008, organized by WfMCTRANSCRIPT
Welcome
Michele ChinosiUniversity of Insubria – Varese (Italy)
BPeX: A New Approach to BPMN Model Portability
April 21-23, 2008 Renaissance Washington, DC
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 2
April 21-23, 2008 Renaissance Washington, DC
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 3
April 21-23, 2008 Renaissance Washington, DC
BPeX: Business Process eXtensions
Michele Chinosi - Architecture & Process - 2008 4
The BPMN-XPDL-BPEL value chainFrom Keith Swenson blog “Go Flow”, posted May 26, 2006
April 21-23, 2008 Renaissance Washington, DC
BPeX: Business Process eXtensions
Michele Chinosi - Architecture & Process - 2008 5
April 21-23, 2008 Renaissance Washington, DC
A Comparison BetweenWS-BPEL and XPDL
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
Michele Chinosi - Architecture & Process - 2008 6
April 21-23, 2008 Renaissance Washington, DC
Some XPDL Weaknesses in Details
Elements renaming
Complex conceptual model
Lack of a native referential integrity
Complex queries
Michele Chinosi - Architecture & Process - 2008 7
April 21-23, 2008 Renaissance Washington, DC
Elements RenamingXPDL 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 8
BPMN XPDL
Process WorkflowProcess
SequenceFlow Transition
SubProcess SubFlow
Gateway Route / Join / Split / …
April 21-23, 2008 Renaissance Washington, DC
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 9
April 21-23, 2008 Renaissance Washington, DC
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 10
April 21-23, 2008 Renaissance Washington, DCMichele Chinosi - Architecture & Process - 2008 11
A Complex Conceptual Model
April 21-23, 2008 Renaissance Washington, DC
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 12
April 21-23, 2008 Renaissance Washington, DC
A Complex Conceptual Model
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
Michele Chinosi - Architecture & Process - 2008 13
April 21-23, 2008 Renaissance Washington, DC
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 14
April 21-23, 2008 Renaissance Washington, DC
Lack of Native Referential Integrity Constraints
Michele Chinosi - Architecture & Process - 2008 15
April 21-23, 2008 Renaissance Washington, DC
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 16
April 21-23, 2008 Renaissance Washington, DC
Lack of Native Referential Integrity Constraints
Michele Chinosi - Architecture & Process - 2008 17
April 21-23, 2008 Renaissance Washington, DC
Complex Queries
With XPDLfor $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 18
Which Lane does the Task with Id=10 belong to?
April 21-23, 2008 Renaissance Washington, DC
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 19
April 21-23, 2008 Renaissance Washington, DC
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 20
April 21-23, 2008 Renaissance Washington, DC
BPeX Conceptual Model
Graphical BPMN model
Graphical BPeX model
Michele Chinosi - Architecture & Process - 2008 21
April 21-23, 2008 Renaissance Washington, DC
Example Process in BPeX
Michele Chinosi - Architecture & Process - 2008 22
April 21-23, 2008 Renaissance Washington, DC
XPDL and BPeX comparison
Michele Chinosi - Architecture & Process - 2008 23
BPe
X XP
DL
April 21-23, 2008 Renaissance Washington, DC
Conclusions
Michele Chinosi - Architecture & Process - 2008 24
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
April 21-23, 2008 Renaissance Washington, DC
http://bpex.sourceforge.net
25Michele Chinosi - Architecture & Process - 2008