Upload
mike-marin
View
409
Download
1
Embed Size (px)
DESCRIPTION
“XPDL 2.0 Tutorial”. Introductory tutorial on the 2005 emerging XPDL 2.0 standard, presented by Mike Marin during the join BPM Korea Forum and WfMC technical meeting in Seoul, Korea.
Citation preview
XPDL 2.0 Tutorial
Mike Marin WfMC Technical Committee Vice Chairman (Americas)
Software Architect, FileNet Corporation
2
Agenda
• XPDL Definition
• Process Interchange
• BPMN Definition
• XPDL 2.0 Description
• Future
3
XPDL Definition
• XML Process Definition Language (XPDL)
• A modeling language for Process Definition
• A Process Definition Meta-model
• WfMC Reference Model Interface 1 – Process definition
• Goals
• Process Definition Model interchange between tool
4
The Process Definition
• Activity Network – Nodes & Transitions
• Sequential, Parallele, Conditional, and Message paths
• Activity Definitions
• Resource Requirement
• Work Assignment
• Applications and Services
• Data Definitions
• Arbitrarily complex graphs
• Sequential Activities
• Parallel Activities
• Loops / Cycles
• Conditional Paths
5
Process Definition Interchange
• Common meta-model
• Allow tools to exchange models
• Type of tools
• Simulation tools
• Monitoring tools
• Execution tools
• Modelling tools
• Repository tools
6
Meta-Model
Framew orkBPMN XPDL
Common Objects, Attributes, Semantics, and Usage
XPDL
Vendor Internal
Import / Export Layer
Vendor Internal
Import / Export Layer
Vendor Internal
Import / Export Layer
Simulation Engine Execution Engine Monitoring Engine
7
An Example of Standards Utilization
Process
Execution
Performance
Management
Analytics
OLAP
Simulation Controller
Animator
Engine
Process
Modeling Sketchpad
BPMN
Analysis,
Reporting and
Monitoring
Work
Processing XPDL
XML Log
Events
XPDL
Process
Designer
XPDL
• Today more than 24 products support XPDL
• See www.wfmc.org for details
8
XPDL 2.0 Purpose
• A persistent format for BPMN
• XPDL provides an XML file format
• BPMN provides a graphical notation
• Back compatible with XPDL 1.0
• XPDL and BPMN address the same modeling space
9
BPMN
• Graphical Business Notation to
• Describe processes
• Describe interaction between processes
• Business Process Modeling notation (BPMN)
• Object Management Group (OMG)
• Business Process Management Initiative (BPMI) group
• Design to be used by business analysts
10
Core Set of Diagram Elements
The core set of modeling
elements enable the easy
development simple
Business Process
Diagrams that will look
familiar to most Business
Analysts (a flowchart
diagram)
11
Swimlanes
A Pool is a “swimlane” and
a graphical container for
partitioning a set of
activities from other Pools,
usually in the context of
B2B situations.
A Lane is a sub-partition
within a Pool and will extend
the entire length of the Pool,
either vertically or
horizontally.
12
Events
An Event is something that
“happens” during the course
of a business process. These
Events affect the flow of the
Process and usually have a
trigger or a result. They can
start, interrupt, or end the
flow.
13
Activities
An activity is work that is
performed within a
business process. An
activity can be atomic or
non-atomic (compound).
The types of activities that
are a part of a Process
Model are: Process, Sub-
Process, and Task.
14
Activities
A Sub-Process can be in
an expanded form that
shows the process details
of the a lower-level set of
activities.
15
Connections
•A Sequence Flow is used to show the order that activities will be
performed in a Process.
•A Message Flow is used to show the flow of messages between
two entities that are prepared to send and receive them.
•An Association is used to associate information and artifacts with
flow objects.
16
Gateways
Gateways are modeling
elements that are used to
control how Sequence
Flows interact as they
converge and diverge within
a Process. If the flow does
not need to be controlled,
then a Gateway is not
needed.
17
Artifacts
Data Objects are not flow objects (i.e., connected
through Sequence Flow), but they do provide
information about how documents, data, and
other objects are used and updated within a
Process.
Text Annotations are a mechanism for a modeler
to provide additional information for the reader of
a BPMN diagram.
Groups provide a mechanism to visually organize
activities
18
BPMN Example
19
XPDL – BPMN Marriage
• BPMN
• Graphical notation
• No file format
• XPDL
• XML file format
• No graphics
20
Sketchpad for BPMN
21
New Elements in XPDL 2.0 from BPMN
• Pools and lanes
• used to define participants and roles
• Message flows
• used for communication between processes
• Associations and Artifacts
• used to document the process definitions
• Graphic information for each entity
22
Package Meta-Model
Process
(W. Process)
Package
[Business
Process Diagram
(BPD)]
Type
Declaration
ApplicationParticipant
Pool
Lane
Data Field
ExternalPackage
0..1
0..10..1
0..1
0..1
0..1
*
*
*
*
*
*
**
MessageFlow
Association
Artifact
sourcetarget
sourcetarget
Activity
target
source
source
sourcetarget
target
Resource
Repository or
Organizational
Model
System and
environmental data
W. Relevant
Data
Data Object
Group
Annotation
23
Process Meta-Model Process
(W. Process)
Type
Declaration
Application
ActivitySet(Embedded Sub-Process)
Data Field
(Property)
Participant ActivityTransition
(Sequence Flow)to
fromperformer
performer
usesuses
uses
uses
Pool Lane BlockActivityTask/Tool
SubFlow
Event
Route
Reference
Resource
Repository or
Organizational
ModelSystem and
environmental data
W. Relevant
Data
Gateway
24
Tool and Vendor Information
• Each tool can add tool specifics
• Graphical information
• Extensions
<xsd:element name="VendorExtension">
<xsd:complexType>
<xsd:sequence>
<xsd:any namespace="##other" processContents="lax"/>
</xsd:sequence>
<xsd:attribute name="ToolId" type="xsd:string" use="required"/>
<xsd:attribute name="schemaLocation" type="xsd:anyURI" use="required"/>
<xsd:attribute name="extensionDescription" type="xsd:anyURI"
use="optional"/>
<xsd:anyAttribute namespace="##other" processContents="lax"/>
</xsd:complexType>
</xsd:element>
25
Tool Specific Graphical Information
• Each tool adds its own graphical information
• Same XPDL can be displayed different by different
tools
XPDL
Tool A Tool B Tool C
26
Example <Activity Id="31" Name="">
<Route GatewayType="AND" MarkerVisible="true"/>
<TransitionRestrictions>
<TransitionRestriction>
<Join Type="AND"/>
</TransitionRestriction>
</TransitionRestrictions>
<NodeGraphicsInfos>
<NodeGraphicsInfo ToolId="ToolA" Width="41.0" Height="41.0">
<Coordinates XCoordinate="10" YCoordinate="75"/>
</NodeGraphicsInfo>
<NodeGraphicsInfo ToolId="ToolB" Page="1" Width="890">
<Coordinates XCoordinate="23" YCoordinate="12"/>
</NodeGraphicsInfo>
<NodeGraphicsInfo ToolId="ToolC" Width="25" Height="34" Shape="Round">
<Coordinates XCoordinate="1078" YCoordinate="230"/>
</NodeGraphicsInfo>
</NodeGraphicsInfos>
</Activity>
27
Extended Elements and Attributes
• XPDL schema is extensible
• Allows vendors to extend XPDL
• Adds arbitrary XML in a well defined manner
• Anonymous and namespace qualified extensions
28
Future
• XPDL
• WfMC will continue to maintain XPDL
• Will update based on
• BPMN evolution
• Implementers comments
• BPMN
• BPMI has become part of OMG
• BPMN will be further developed within OMG.