Title: A Discussion on Weak Points of XPDL
1Michele Chinosi University of Insubria Varese
(Italy) BPeX A New Approach to BPMN Model
Portability
2Agenda
- Brief introduction to BPMN, WS-BPEL, XPDL
- BPeX a new modeling approach
- A view of XPDL weaknesses
- How BPeX can aid to overcome these weak points
- A comparison between XPDL and BPeX
3A Brief Introduction
- BPMN (Business Process Modeling Notation),
developed by BPMI and adopted as standard by OMG
(2006, BPMN 1.0 2008, BPMN 1.1) - WS-BPEL (Web Services Business Process
Execution Language), developed by BEA, IBM
Microsoft, adopted by OASIS as standard. Version
2.0 (2007). - XPDL (XML Process Definition Language), developed
by WfMC. (2005, XPDL 2.0 2008, XPDL 2.1).
4A Brief Introduction
- BPMN is a graphical notation to model (represent)
business processes. - Standard for the look of a process
- 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
5BPeX Business Process eXtensions
The BPMN-XPDL-BPEL value chain From Keith Swenson
blog Go Flow, posted May 26, 2006
Michele Chinosi - Architecture Process - 2008
5
6BPeX Business Process eXtensions
Michele Chinosi - Architecture Process - 2008
6
7A 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
8Some XPDL Weaknesses in Details
- Elements renaming
- Complex conceptual model
- Lack of a native referential integrity
- Complex queries
9Elements 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
BPMN XPDL
Process WorkflowProcess
SequenceFlow Transition
SubProcess SubFlow
Gateway Route / Join / Split /
10A Complex Conceptual Model
- We analyzed the XML serialization provided with
the example inside the XPDL specification - We depicted a more high-level graphical
conceptual model of the XML tree - We compared the model with the Business Process
Diagram
11An Example Process
- This process is taken from XPDL specification
Document nr. WFMC-TC-1025, Section 8.1, pp.
109-127 and modeled using BPMN
12A Complex Conceptual Model
13A 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
14A 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
15Lack of Native Referential Integrity Constraints
- All the elements do not have a unique ID
- ID and IDRef are of type xsdNMTOKEN
- 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
16Lack of Native Referential Integrity Constraints
17Lack of Native Referential Integrity Constraints
- IDREFs are of type xsdNMTOKEN
- 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 states that The Process
attribute defines the Process that is contained
within the Pool
18Lack of Native Referential Integrity Constraints
19BPeX Business Process eXtensions
- ID and IDREF are defined as of types xsdID and
xsdIDREF - We add xsdKEY and xsdKEYREF 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
20Complex Queries
Which Lane does the Task with Id10 belong to?
- for x in (//Activity_at_Id10),
- y in (//Pool_at_Process //x/ancestorWorkf
lowProcess1/_at_Id//Lane/_at_Name) - return y
- Result
- /Package1/Pools1/Pool2/Lanes1/Lane1/_at_Nam
e - Lane-0
- //Lane//Task/_at_Id10/_at_Name
- Result
- /BPD1/Pool2/Lane1/_at_Name Lane-0
21BPeX Business Process eXtensions
- Built from scratch with a clear conceptual model
- Not based on WS-BPEL or XPDL
- BPeX can be translated to XPDL and BPEL using
XSLT - BPeX can be extended to integrate XPDL or BPEL
features - 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
22BPeX success stories
- Partnership with Euranet (an European business
consulting company) and Università degli Studi di
Bologna (Italy) - We modeled some real cases taken from several
SMEs - We started implementing some constraints taken
from NIST / ISO procedures to aid users modeling
processes - We extended BPeX to support some simple time/cost
metrics (BPM 2007) - We successfully added privacy policies to
web-based processes modeled with BPMN (WOSIS 2008)
23BPeX Conceptual Model
24Example Process in BPeX
25XPDL and BPeX comparison
BPeX XPDL
26Conclusions
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
27Summary
- Introduction to BPMN, BPEL, XPDL
- Our proposal BPeX
- Analysis of the XPDL weak points using a
practical example - How BPeX can aid to overcome these weak points
- A comparison between XPDL and BPeX
28Questions?
- michele.chinosi_at_uninsubria.it
- http//bpex.sourceforge.net
VARESE