Business Process Modelling Notation A tutorial
Sam Mancarella Chief Technology Officer Sparx Systems OMG SOA in Healthcare January 14, 2011 sam.mancarella@sparxsystems.com
Tutorial Objectives
This tutorial will cover BPMN Timeline What BPMN is, Process Modelling BPMN Essentials Orchestration, Choreography Examples Wrap Up, Future Directions
www.sparxsystems.com/resources
References
BPMN Official Page
http://www.bpmn.org/
BPMN Wikipedia
http://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
www.sparxsystems.com/resources
BPMN 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
www.sparxsystems.com/resources
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)
www.sparxsystems.com/resources
BPMN & 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
www.sparxsystems.com/resources
BPMN Essentials
Activities Events
Receive Credit Report Approval Yes Include Standard Text No Include Transaction History
Events
Approve?
Gateway
Sequence Flows
Logical process flow, finite start and end points Diamond decision point? yes/no paths for an extra step Rounded boxes must therefore do stuff
www.sparxsystems.com/resources
BPMN Essentials
Flow Objects Connectors Artifacts Events Pool Sequence Flow Activities Data Object
Message Flow Text Annotation Lane Association Gateways Group Pool
Lane
www.sparxsystems.com/resources
BPMN Essentials - Activities
Task
BPMN Activity
Work performed within a business process Atomic or composite Used to model Tasks, Sub-processes Can iterate (loop)
Sub-Process
Looped Task
www.sparxsystems.com/resources
BPMN Essentials - Activities
Sub-Processes
Sub-Process
Hierarchical process development Have an inner working model Collapse/expand to show and hide finer level of detail
No
Include Transaction History
Receive Credit Report
Approval
Yes
Include Standard Text
Approve?
Embedded, independent, reusable
www.sparxsystems.com/resources
BPMN Essentials - Events
Events
Start
Something that happens in a process Affect the flow of a process
Intermediate
Have a trigger or result Boundary determines the type of event
End
www.sparxsystems.com/resources
BPMN Essentials - Events
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
Error
Rule
Link
Terminate
www.sparxsystems.com/resources
BPMN Essentials - Events
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
Error
Rule
Link
Terminate
www.sparxsystems.com/resources
BPMN Essentials - Events
End Event
End of a process Results denote the final step in the process
None
Message
Timer
Error
Rule
Link
Terminate
www.sparxsystems.com/resources
BPMN Essentials - Gateways
Gateways
Exclusive (Data)
Exclusive (Event)
Inclusive
Controls sequence flow within a process at a point of divergence or convergence Gateways split and merge flows
Complex
Parallel
www.sparxsystems.com/resources
BPMN Essentials - Gateways
No Send Payment Problem
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)
Payment ok? Activity1 No, Exceeded Retry
Cancel Order
Yes
Send Confirmation
Send Cancel
No
Activity1
Payment ok?
Send Invoice
Yes
Send Reminder 3 Days
www.sparxsystems.com/resources
BPMN Essentials - Gateways
Doc A Prepare Document A
Activity1
Documents Required?
Doc B Prepare Document B
Collate Documents
Doc C
Prepare Document C
Inclusive Gateway
More than one outcome possible Corresponding merge gateway
www.sparxsystems.com/resources
BPMN Essentials - Gateways
Post Results to Web
Prepare Results
Email Results
Call Press Conference
SMS Results
Parallel Gateway
Multiple parallel paths are executed No causality on branches Also used as a synchronisation point
www.sparxsystems.com/resources
BPMN Essentials - Gateways
Complex Gateway
Decision with advanced definitions of behaviour
Review Breach Reports Activity1 Sector 2 Report Sector 1 Report
Sector 3 Report
www.sparxsystems.com/resources
BPMN Essentials - Artifacts
Artifacts
Convey information beyond the process itself Data Objects, Groups, Annotations Extension Point for BPMN
Data Object
Group
Not part of the process Flow
www.sparxsystems.com/resources
BPMN Essentials - Artifacts
Data Object
Used to show use of objects in Process Data Inputs, Outputs Document capturing document state within process
Data Object
Text Annotation
Group
Callout for textual comment
Group
Annotation that highlights key aspects of process
www.sparxsystems.com/resources
BPMN Essentials - Swimlanes
Swimlanes
Partition and organise activities Identify participants and roles Pools
Participants, Parties, Business Role Interaction as flow of messages Process fully contained within Pool
Pool
Lanes
Sub partitions within Pool Organisation roles Sequence and Message interaction
Lane Lane Pool
www.sparxsystems.com/resources
BPMN Essentials - Connectors
BPMN Connectors
Sequence Flow
Order that activities are performed Between Events, Activities, Gateways
Connectors
Sequence Flow
Message Flow
Flow of messages between two entities Between Participants
Message Flow
Association
Associate data, information, artifacts with entities NOT a UML Association
Association
www.sparxsystems.com/resources
Orchestration 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
www.sparxsystems.com/resources
Orchestration and Choreography
Pool Customer Pool Loan Broker Pool LoanServ icesOrg ReceiveRequest
CheckAmount
bpel:getVariableData('loanRequestMessage', 'amount')>=10000 AssessLoanRisk
CheckAssessment
bpel:getVariableData('riskAssessmentMessage', 'level')>='low'
AssignYes
ApproveLoan
ReplyResult
www.sparxsystems.com/resources
BPMN Examples
BPMN By Example
http://www.omg.org/spec/BPMN/2.0/examples/PDF
Examples Shipment Process
www.sparxsystems.com/resources
Examples The Pizza Collaboration
Pool Pizza Customer Pool Pizza Vendor
Pizza Pizza whereabouts Query Receipt
Pizza Order
Pizza whereabouts Response Money
www.sparxsystems.com/resources
Examples The Pizza Collaboration
www.sparxsystems.com/resources
Examples The Pizza Collaboration
www.sparxsystems.com/resources
Examples The Pizza Collaboration
www.sparxsystems.com/resources
Wrap 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
www.sparxsystems.com/resources
References
BPMN Official Page
http://www.bpmn.org/
BPMN Wikipedia
http://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
www.sparxsystems.com/resources
Thank you for your attention!
Questions?
Product Portfolio
UML Modeling Platform
Application Integration UML Integration
Technology Extensions
www.sparxsystems.com/resources
thank you for your attention!