29
XPDL 2.0 Tutorial Mike Marin WfMC Technical Committee Vice Chairman (Americas) Software Architect, FileNet Corporation

2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

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

Page 1: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

XPDL 2.0 Tutorial

Mike Marin WfMC Technical Committee Vice Chairman (Americas)

Software Architect, FileNet Corporation

Page 2: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

2

Agenda

• XPDL Definition

• Process Interchange

• BPMN Definition

• XPDL 2.0 Description

• Future

Page 3: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

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

Page 4: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

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

Page 5: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

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

Page 6: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

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

Page 7: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

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

Page 8: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

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

Page 9: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

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

Page 10: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

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)

Page 11: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

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.

Page 12: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

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.

Page 13: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

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.

Page 14: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

14

Activities

A Sub-Process can be in

an expanded form that

shows the process details

of the a lower-level set of

activities.

Page 15: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

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.

Page 16: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

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.

Page 17: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

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

Page 18: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

18

BPMN Example

Page 19: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

19

XPDL – BPMN Marriage

• BPMN

• Graphical notation

• No file format

• XPDL

• XML file format

• No graphics

Page 20: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

20

Sketchpad for BPMN

Page 21: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

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

Page 22: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

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

Page 23: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

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

Page 24: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

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>

Page 25: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

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

Page 26: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

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>

Page 27: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

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

Page 28: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

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.

Page 29: 2005 10-11 mm (seoul, korea - bpm korea forum) xpdl2 tutorial

29

http://www.wfmc.org

email: [email protected]

Contacts & Further Information