bpm tutorial

37

Upload: vinh1964

Post on 24-Oct-2014

166 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: BPM Tutorial
Page 2: BPM Tutorial

Business Process Modelling Business Process Modelling Notation Notation –– A tutorialA tutorial

Sam Mancarella

Chief Technology Officer

Sparx Systems

OMG SOA in Healthcare

January 14, 2011

[email protected]

Page 3: BPM Tutorial

www.sparxsystems.com/resources

Tutorial ObjectivesTutorial Objectives

This tutorial will cover…

BPMN Timeline

What BPMN is, Process Modelling

BPMN Essentials

Orchestration, Choreography

Examples

Wrap Up, Future Directions

Page 4: BPM Tutorial

www.sparxsystems.com/resources

ReferencesReferences

BPMN Official Pagehttp://www.bpmn.org/

BPMN Wikipediahttp://en.wikipedia.org/wiki/Business_Process_Modeling_Notation

BPMN Specification (v2.0 Beta 2)http://www.omg.org/spec/BPMN/Current/

BPMN Specification (v1.2 Formal)http://www.omg.org/spec/BPMN/1.2/

BPMN Examples (v2.0 Beta 2)http://www.omg.org/spec/BPMN/2.0/examples/PDF

Page 5: BPM Tutorial

www.sparxsystems.com/resources

BPMN TimelineBPMN Timeline

Business Process Management Initiative developed BPML (BPMI now part of OMG)

Proposed graphical language for BPM, combined with execution semantics

Implementation difficulties, semantic requirements

BPML replaced with:

BPEL (or BPEL4WS) for target execution language

BPMN for graphical notation

History

August 2001 – Notation working group formed (35 companies)

May 2004 – BPMN 1.0 published under BPMI

2005 – BPMI becomes part of OMG

Feb 2006 – BPMN 1.0 formalised as an OMG specification

Jan 2008 – BPMN 1.1 released

Jan 2009 – BPMN 1.2 released

Aug 2009 – BPMN 2.0 Beta 1 released

May 2010 – BPMN 2.0 Beta 2 released

Finalisation & Adoption

Page 6: BPM Tutorial

www.sparxsystems.com/resources

What Is BPMN?What Is BPMN?

BPMN is…

A Graphical modelling language, with symbols, relationships and attributes for the purpose of process modelling

Expression of processes generated into executable processes (BPEL)

Expression of processes for ‘general execution’ (Human, human-operated)

Simple, palatable language – ‘flowchart-like’ non-IT practitioner consumption

BPMN is not…

A methodology, process, framework

Complex, usable in subsets

*Metamodel

*Serialization specification

* Exists in BPMN 2.0 (“was-not, until recently…”)

Page 7: BPM Tutorial

www.sparxsystems.com/resources

BPMN & Process ModellingBPMN & Process Modelling

Process Modelling - capture of ordered sequences of business activities & info

Business Processes – description of how a business pursues its objectives

Process Maps: simple flow charts of high-level activities

Process Descriptions: flow charts with more information (not enough for full realisation)

Process Model: flow charts with enough information for analysis, simulation, execution

BPMN is flexible to handle all variants of BP

…to understand the business processes of the organisation to innovate…

Page 8: BPM Tutorial

www.sparxsystems.com/resources

BPMN EssentialsBPMN Essentials

Logical process ‘flow’, finite start and end points

Diamond – decision point? yes/no paths for an extra step

Rounded boxes must therefore ‘do stuff’

Receive CreditReport

Approval

Include TransactionHistory

Include StandardText

Approve?

Yes

No

Events Events

Gateway

Activities

Sequence Flows

Page 9: BPM Tutorial

www.sparxsystems.com/resources

BPMN EssentialsBPMN Essentials

«L

an

«L

an

«P

oo

«Group»

«P

oo

ArtifactsConnectorsFlow Objects

Events

Activities

Gateways

Data Object

Text Annotation

Sequence Flow

Message Flow

Association

Page 10: BPM Tutorial

www.sparxsystems.com/resources

BPMN Essentials BPMN Essentials -- ActivitiesActivities

BPMN Activity

Work performed within a business process

Atomic or composite

Used to model Tasks, Sub-processes

Can iterate (loop)

Task

Sub-Process

Looped Task

Page 11: BPM Tutorial

www.sparxsystems.com/resources

BPMN Essentials BPMN Essentials -- ActivitiesActivities

Sub-Processes

Hierarchical process development

Have an ‘inner working model’

Collapse/expand to show and hide finer level of detail

Embedded, independent, reusable

Sub-Process

Receive CreditReport

Approval

Include TransactionHistory

Include StandardText

Approve?

Yes

No

Page 12: BPM Tutorial

www.sparxsystems.com/resources

BPMN Essentials BPMN Essentials -- EventsEvents

Events

Something that ‘happens’ in a process

Affect the flow of a process

Have a trigger or result

Boundary determines the type of event

Start

Intermediate

End

Page 13: BPM Tutorial

www.sparxsystems.com/resources

BPMN Essentials BPMN Essentials -- EventsEvents

Start Event

Beginning of a process

Different triggers that start the process

‘None’ Start Event

Undefined trigger to start of process

Entry point to a Sub Process

None

Message

Timer

Rule

Link

Terminate

Error

Page 14: BPM Tutorial

www.sparxsystems.com/resources

BPMN Essentials BPMN Essentials -- EventsEvents

Intermediate Event

Occur after a process has started, but before it ends

Placed in the normal process flow or attached to boundary of an activity

None

Message

Timer

Rule

Link

Terminate

Error

Page 15: BPM Tutorial

www.sparxsystems.com/resources

BPMN Essentials BPMN Essentials -- EventsEvents

End Event

End of a process

“Results” denote the ‘final step’ in the process

None

Message

Timer

Rule

Link

Terminate

Error

Page 16: BPM Tutorial

www.sparxsystems.com/resources

BPMN Essentials BPMN Essentials -- GatewaysGateways

Gateways

Controls sequence flow within a process at a point of divergence or convergence

Gateways split and merge flows

Exclusive (Data)

Exclusive (Event)

Inclusive

Complex

Parallel

Page 17: BPM Tutorial

www.sparxsystems.com/resources

BPMN Essentials BPMN Essentials -- GatewaysGateways

Exclusive Gateway

A Decision control point

Only one outgoing path selected

Decision mechanisms:

Data – using condition expressions (first affirmative)

Event – receiving alternate messages (first received)

Activity1Payment ok?

Send PaymentProblem

Cancel Order

Send Confirmation

Activity1Payment ok?

Send Cancel

Send Invoice

Send Reminder

No

3 Days

Yes

No

No, Exceeded Retry

Yes

Page 18: BPM Tutorial

www.sparxsystems.com/resources

BPMN Essentials BPMN Essentials -- GatewaysGateways

Inclusive Gateway

More than one outcome possible

Corresponding merge gateway

Activity1Documents Required?

Prepare Document A

Prepare Document B

Prepare Document C

Collate Documents

DocC

Doc B

Doc A

Page 19: BPM Tutorial

www.sparxsystems.com/resources

BPMN Essentials BPMN Essentials -- GatewaysGateways

Parallel Gateway

Multiple parallel paths are executed

No causality on branches

Also used as a synchronisation point

Prepare Results

Post Results to Web

Email Results

SMS Results

Call PressConference

Page 20: BPM Tutorial

www.sparxsystems.com/resources

BPMN Essentials BPMN Essentials -- GatewaysGateways

Complex Gateway

Decision with advanced definitions of behaviour

Activity1

Review Breach Reports

Sector 1 Report

Sector 2 Report

Sector 3 Report

Page 21: BPM Tutorial

www.sparxsystems.com/resources

BPMN Essentials BPMN Essentials -- ArtifactsArtifacts

Artifacts

Convey information beyond the process itself

Data Objects, Groups, Annotations

‘Extension Point’ for BPMN

Not part of the process ‘Flow’

«Group»

Data Object

Page 22: BPM Tutorial

www.sparxsystems.com/resources

BPMN Essentials BPMN Essentials -- ArtifactsArtifacts

Data Object

Used to show use of objects in Process

Data – Inputs, Outputs

Document – capturing document state within process

Text Annotation

Callout for textual comment

Group

Annotation that highlights key aspects of process

«Group»

Data Object

Page 23: BPM Tutorial

www.sparxsystems.com/resources

BPMN Essentials BPMN Essentials -- SwimlanesSwimlanes

Swimlanes

Partition and organise activities

Identify participants and roles

Pools

Participants, Parties, Business Role

Interaction as flow of messages

Process fully contained within Pool

Lanes

Sub partitions within Pool

Organisation roles

Sequence and Message interaction «

La

ne

»«

La

ne»«P

oo

l»«

Po

ol»

Page 24: BPM Tutorial

www.sparxsystems.com/resources

BPMN Essentials BPMN Essentials -- ConnectorsConnectors

BPMN Connectors

Sequence Flow

Order that activities are performed

Between Events, Activities, Gateways

Message Flow

Flow of messages between two entities

Between Participants

Association

Associate data, information, artifacts with entities

NOT a UML Association

Connectors

Association

Message Flow

Sequence Flow

Page 25: BPM Tutorial

www.sparxsystems.com/resources

Orchestration and ChoreographyOrchestration and Choreography

Orchestration

Defines processes internal to a specific participant, organisation

Private processes within pool (and between lanes)

Sequence Flows and Message Flows

Choreography

Defines interactions between two or more participants, organisations, B2B, global processes

Public exchange of messages between pools in a collaboration

Message Flows only

Page 26: BPM Tutorial

www.sparxsystems.com/resources

Orchestration and ChoreographyOrchestration and Choreography

«Pool» LoanServ icesOrg

ReceiveRequest

CheckAmount

AssessLoanRisk

CheckAssessment

AssignYes ApproveLoan

ReplyResult

«Pool» Customer «Pool» Loan Broker

bpel:getVariableData('loanRequestMessage', 'amount')>=10000

bpel:getVariableData('riskAssessmentMessage', 'level ')>='low'

Page 27: BPM Tutorial

BPMN ExamplesBPMN Examples

‘BPMN By Example’http://www.omg.org/spec/BPMN/2.0/examples/PDF

Page 28: BPM Tutorial

www.sparxsystems.com/resources

Examples Examples –– Shipment ProcessShipment Process

Page 29: BPM Tutorial

www.sparxsystems.com/resources

Examples Examples –– The Pizza CollaborationThe Pizza Collaboration

«P

ool»

Pizza

Cu

sto

me

Po

ol»

Pizza

Ve

nd

or

Pizza Order

Pizza whereabouts Query

Pizza whereabouts Response

Pizza

Money

Receipt

Page 30: BPM Tutorial

www.sparxsystems.com/resources

Examples Examples –– The Pizza CollaborationThe Pizza Collaboration

Page 31: BPM Tutorial

www.sparxsystems.com/resources

Examples Examples –– The Pizza CollaborationThe Pizza Collaboration

Page 32: BPM Tutorial

www.sparxsystems.com/resources

Examples Examples –– The Pizza CollaborationThe Pizza Collaboration

Page 33: BPM Tutorial

www.sparxsystems.com/resources

Wrap UpWrap Up

BPMN in this tutorial…

A graphical modelling language for the purpose of process modelling

General execution, Machine execution

Events, Activities, Gateways, Connectors, Pools, Lanes

Orchestration WITHIN Pool, Choreography BETWEEN Pools

Examples

BPMN 2.0

Formal metamodel, concrete syntax

XMI interchange specification

UML Profile for BPMN (initial submissions due March 2010)

Vendors

73 Registered implementations (4 planned)

9 Service providers

http://www.bpmn.org/BPMN_Supporters.htm

Page 34: BPM Tutorial

www.sparxsystems.com/resources

ReferencesReferences

BPMN Official Pagehttp://www.bpmn.org/

BPMN Wikipediahttp://en.wikipedia.org/wiki/Business_Process_Modeling_Notation

BPMN Specification (v2.0 Beta 2)http://www.omg.org/spec/BPMN/Current/

BPMN Specification (v1.2 Formal)http://www.omg.org/spec/BPMN/1.2/

BPMN Examples (v2.0 Beta 2)http://www.omg.org/spec/BPMN/2.0/examples/PDF

Page 35: BPM Tutorial

Thank you for your attention!Thank you for your attention!

Questions?

Page 36: BPM Tutorial

www.sparxsystems.com/resources

Product PortfolioProduct Portfolio

UML Modeling Platform

Technology Extensions

Application Integration

UML Integration

Page 37: BPM Tutorial

thank you for your attention!