BPM Tutorial
BPM Tutorial
Sam Mancarella Chief Technology Officer Sparx Systems OMG SOA in Healthcare January 14, 2011 [email protected]
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
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
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
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
Lane
www.sparxsystems.com/resources
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
Hierarchical process development Have an inner working model Collapse/expand to show and hide finer level of detail
No
Approval
Yes
Approve?
www.sparxsystems.com/resources
Intermediate
End
www.sparxsystems.com/resources
Message
Timer
Error
Rule
Link
Terminate
www.sparxsystems.com/resources
Message
Timer
Error
Rule
Link
Terminate
www.sparxsystems.com/resources
Message
Timer
Error
Rule
Link
Terminate
www.sparxsystems.com/resources
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
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)
Cancel Order
Yes
Send Confirmation
Send Cancel
No
Activity1
Payment ok?
Send Invoice
Yes
www.sparxsystems.com/resources
Activity1
Documents Required?
Collate Documents
Doc C
Prepare Document C
Inclusive Gateway
More than one outcome possible Corresponding merge gateway
www.sparxsystems.com/resources
Prepare Results
Email Results
SMS Results
Parallel Gateway
Multiple parallel paths are executed No causality on branches Also used as a synchronisation point
www.sparxsystems.com/resources
Sector 3 Report
www.sparxsystems.com/resources
Data Object
Group
www.sparxsystems.com/resources
Data Object
Text Annotation
Group
Group
Annotation that highlights key aspects of process
www.sparxsystems.com/resources
Lanes
Sub partitions within Pool Organisation roles Sequence and Message interaction
Lane Lane Pool
www.sparxsystems.com/resources
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
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
CheckAmount
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
www.sparxsystems.com/resources
Pizza Order
www.sparxsystems.com/resources
www.sparxsystems.com/resources
www.sparxsystems.com/resources
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
www.sparxsystems.com/resources
Questions?
Product Portfolio
Technology Extensions
www.sparxsystems.com/resources