• Save
Introduction To BPMN 2
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Introduction To BPMN 2

on

  • 88,512 views

New: You can now buy your own PDF copy of this presentation for 3GBP here: https://www.distribly.com/product/2937?aid=22718 ...

New: You can now buy your own PDF copy of this presentation for 3GBP here: https://www.distribly.com/product/2937?aid=22718

Concise, simple and complete introduction to BPMN 2 (Business Process Model and Notation).

This presentation is based on our best-selling book, "Introduction to BPMN 2".

There are two versions of the book available:

Interactive iBook for iPad and Mac (recommended!):
https://itunes.apple.com/gb/book/introduction-to-bpmn-2/id539183604?mt=11&uo=4

Non interactive PDF for all other platforms:
https://www.distribly.com/product/2939?aid=22718

See www.clearviewtraining.com for more details.

Statistics

Views

Total Views
88,512
Views on SlideShare
82,289
Embed Views
6,223

Actions

Likes
265
Downloads
0
Comments
28

132 Embeds 6,223

http://arzumanyan.com.ru 1659
http://processdevelopments.blogspot.com 1577
http://clearvie.www66.a2hosting.com 359
http://www.slideshare.net 258
http://www.clearviewtraining.com 254
http://blog.ananet.ch 181
http://theintelligententerprise.blogspot.com 155
http://www.mkrotki.pl 153
http://www.techgig.com 143
http://www.businessprocessincubator.com 128
http://marwaninaltum.blogspot.com 109
http://alikasmile.blogspot.com 99
http://www.linkedin.com 93
http://processdevelopments.blogspot.co.uk 83
http://chingchangtw.blogspot.tw 67
http://mkrotki.pl 64
http://processdevelopments.blogspot.de 61
http://processdevelopments.blogspot.com.au 52
http://processdevelopments.blogspot.ca 43
http://processdevelopments.blogspot.be 41
http://confluence.cmi-hro.nl 41
http://sharepoint.ecmleader.com 40
http://processdevelopments.blogspot.sg 39
http://process-modelling-city.blogspot.com 38
https://tasks.crowdflower.com 36
http://processdevelopments.blogspot.com.br 25
http://clearviewtraining.com 22
http://processdevelopments.blogspot.nl 20
http://theintelligententerprise.blogspot.com.au 19
http://alikasmile.blogspot.ru 17
http://processdevelopments.blogspot.ae 16
http://static.slidesharecdn.com 15
http://theintelligententerprise.blogspot.ru 14
http://example.com 14
http://processdevelopments.blogspot.fr 14
http://processdevelopments.blogspot.in 13
http://theintelligententerprise.blogspot.de 12
http://processdevelopments.blogspot.sk 11
http://processdevelopments.blogspot.ch 11
http://www.fatec.edu.br 9
https://www.linkedin.com 9
http://processdevelopments.blogspot.co.nz 7
http://processdevelopments.blogspot.it 7
http://translate.googleusercontent.com 6
https://twitter.com 6
http://theintelligententerprise.blogspot.co.uk 6
http://theintelligententerprise.blogspot.in 6
http://processdevelopments.blogspot.ru 6
http://theintelligententerprise.blogspot.com.br 5
http://www.slashdocs.com 5
More...

Accessibility

Categories

Upload Details

Uploaded via as Apple Keynote

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

15 of 28 Post a comment

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • I'm half time instructor in Bahcesehir University and Yeditepe University in Istanbul, My research area is BPM/BPA, EA. If it's appropriate for you, I want use some of the slides in my classes. My email adress is hk.1962@gmail.com.
    Thanks in anticipation.
    See : http://www.bahcesehir.edu.tr/icerik/3848-yonetim-bilisim-sistemleri-ders-listesi
    http://www.yeditepe.edu.tr/dinamik/bolum.dot?isim=sistem-muhendisligi&catIsim=akademik-kadro
    Are you sure you want to
    Your message goes here
    Processing…
  • Check the slide 55

    Thanks,
    AS
    Are you sure you want to
    Your message goes here
    Processing…
  • very good
    Are you sure you want to
    Your message goes here
    Processing…
  • If you want to use this material for BPMN 2 training, you can now buy a license here:

    http://www.lulu.com/shop/jim-arlow/introduction-to-bpmn-2-license-1-off-up-to-10-delegates/ebook/product-20496538.html
    Are you sure you want to
    Your message goes here
    Processing…
  • Sorry - this is a commercial training course from my company. I can share it online, but I can't give the slides away (except to Universities).
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n

Introduction To BPMN 2 Presentation Transcript

  • 1. Introduction to BPMN 2 Training course for Available Introduction to BPMN 2 in iBooks Dr. Jim Arlow Clear View Training ISBN: 9780957292802 © 2012 Clear View Training Limited 1
  • 2. About the author… • Dr Jim Arlow • Director of Clear View Training LimitedIntroduction to BPMN 2 • Consultancy and training in UML, BPMN, Meta Data Management, Requirements Engineering • Customers include British Airways, BBC, JP Morgan Chase, Aviva Investments, Vodafone • Senior Visiting Research Fellow at Bournemouth University • Author of UML, BPMN and other books (next slide) • Linked in: http://uk.linkedin.com/in/jimarlow © 2012 Clear View Training Limited 2
  • 3. Our books... • Contact Clear View Training Limited (www.clearviewtraining.com) for BPMN and UML consultancy and Introduction to BPMNIntroduction to BPMN 2 training Introduction to Ruby Introduction to Ruby on Rails & AJAX In 9+ languages! Available in iBooks plus © 2012 Clear View Training Limited 3
  • 4. About the course book... • This training course is based on “Introduction to BPMN 2” Arlow and NeustadtIntroduction to BPMN 2 ISBN:9780957292802 • This is an enhanced ebook with animations, interactive figures and quizzes • It is available for the iPad etc. in Apple iBooks • We are excited about the potential of interactive textbooks and how this is realised by the revolutionary iBooks and iBooks Author from Apple. This is why the enhanced ebook is the primary edition of this work • If there is sufficient demand, we might make a non-interactive ePub or PDF version of the book available - contact us for details ISBN: 9780957292802 © 2012 Clear View Training Limited 4
  • 5. Our approach to BPMN • Introduction • Basic BPMNIntroduction to BPMN 2 • Just enough to get you started modelling • Core BPMN • Might be enough for up to 80% of your needs • Advanced BPMN • Filling in the gaps! • Exercises • An opportunity to use what you have learned as you go along • Laboratory Work © 2012 Clear View Training Limited 5
  • 6. Introduction to BPMN 2 Processes and BPMN 2 Chapter 1 of © 2012 Clear View Training Limited 6
  • 7. Contents • What is a business process? • Why model processes?Introduction to BPMN 2 • What is BPMN 2? • History • Structure • Complexity © 2012 Clear View Training Limited 7
  • 8. What is a business process? • There is no standard definition of a business process, so we define it as:Introduction to BPMN 2 A sequence of activities performed by one or more business participants in order to deliver value to the business • This definition emphasises the following points: • The process can be broken down into a sequence of simpler activities • These activities have to be performed by someone or something (a participant) • The ultimate goal is to deliver value to the business whether directly or indirectly © 2012 Clear View Training Limited 8
  • 9. Types of business process • Management processes Management • Govern the operation of a businessIntroduction to BPMN 2 • Operational processes • Constitute the core business activities and create the primary value stream Operational • Supporting processes • Support the core operational Supporting processes Management © 2012 Clear View Training Limited 9
  • 10. Why model processes? You can’t control what you don’t understandIntroduction to BPMN 2 • Understand and control current processes • Measure time, cost, resources • Improve current processes • Streamline, identify missing steps, rationalise • Design new processes • Realise business requirements with new processes • Communicate existing and new processes • Process models are a very effective way to communicate existing and new processes • Automate processes • Apply a process execution engine © 2012 Clear View Training Limited 10
  • 11. What is BPMN 2? • Business Process Model and Notation v. 2 • Human oriented industry standard graphical notationIntroduction to BPMN 2 for modelling processes • Based on flow charts (already widely used) • Has a mapping to BPEL4WS • Scope: • Organisational structures and resources • Functional breakdowns • Data and information flows • Business strategy • Business rules © 2012 Clear View Training Limited 11
  • 12. BPMN history Ongoing BPMN developmentIntroduction to BPMN 2 BPMI.org OMG OMG OMG starts BPMN 1.0 BPMN 1.2 BPMN 2.0 developing BPML 2001 2002 2003 2004 2008 2009 2010 BPMN = Business BPMN = Business Process Modelling Process Model and Notation Notation • Note the name change from 1.x to 2.x © 2012 Clear View Training Limited 12
  • 13. Models, diagrams and pictures Model DiagramIntroduction to BPMN 2 Model Diagram elements have elements well-defined provide a visual meanings syntax for (semantics) representing model elements • A true BPMN tool such as Magic Draw is a modelling tool: • When diagrams are created information is added into an underlying model • Each model element may be represented by 0..* diagram elements • Each diagram element must have exactly 1 representation in the underlying model • The modelling tool enforces BPMN semantics and syntax • Pictures have no formal syntax or semantics (e.g. PowerPoint, Visio) © 2012 Clear View Training Limited 13
  • 14. Model element attributes • BPMN model elements may have attributes. These are slots that store information Task attributesIntroduction to BPMN 2 about the element • Attributes store the semantic "meat" of the model • BPMN tools allow you to inspect and change attributes Double click Task © 2012 Clear View Training Limited 14
  • 15. BPMN structure • BPMN 2 allows you to model 3 different, but related aspects of business processes:Introduction to BPMN 2 • Process - a sequence of activities that constitutes a business process • Focus: the sequence of activities and events • Collaboration - a process that has two or more participants • Focus: the sequence of activities and events and or the Messages sent between participants • Choreography - a sequence of interactions between participants • Focus: the participants in the business process and the sequence in which they interact together © 2012 Clear View Training Limited 15
  • 16. BPMN structure summary • BPMN has a relatively simple high-level structure BUT complexity arises because BPMN has: • 4 types of event (with many different triggers and throw & catch semantics)Introduction to BPMN 2 • 4 types of activity (but with many variants) • 5 types of gateway • 3 connecting objects • 2 artifacts • 4 types of data object • Conversations, choreographies etc. © 2012 Clear View Training Limited 16
  • 17. Managing BPMN complexity • Divide and conquer! • We define 3 levels ofIntroduction to BPMN 2 BPMN Advanced • Basic - just enough to Core create some simple models (bootstrap!) Basic • Core - enough for about 80% of your modelling needs • Advanced - features that are rarely needed © 2012 Clear View Training Limited 17
  • 18. Summary • BPMN 2 – Business Process Model and Notation • Model processes so that you can understand andIntroduction to BPMN 2 improve existing processes, and create new processes • We can categorise processes into management, operational and support • BPMN has a simple high-level structure © 2012 Clear View Training Limited 18
  • 19. Laboratory work • Consider the organization in which you are currently working...Introduction to BPMN 2 • List the key business processes. • Categorize these processes as management, operational or support processes. • Which of these processes do you think could be improved? Suggest some possible improvements. © 2012 Clear View Training Limited 19
  • 20. Introduction to BPMN 2 Basic BPMN Chapter 2 of © 2012 Clear View Training Limited 20
  • 21. Contents • What is Basic BPMN? • Process semantics – the token gameIntroduction to BPMN 2 • Basic BPMN elements in the process diagram: • Artifacts • Swimlanes • Flow objects • Connecting objects © 2012 Clear View Training Limited 21
  • 22. What is Basic BPMN? • It is the simplest possible subset of BPMN that we consider to be useableIntroduction to BPMN 2 • The goal of Basic BPMN is to be: • Just enough BPMN to get you creating very simple diagrams! • Easy to learn • Easy for non-technical stakeholders to understand • Good enough for rough sketches and informal diagrams © 2012 Clear View Training Limited 22
  • 23. Basic BPMN structure • Basic BPMN comprises the simplest useable subset of elements:Introduction to BPMN 2 © 2012 Clear View Training Limited 23
  • 24. The process diagram • BPMN defines a process as a set of flow elements that comprise different types of flow node that may be connected by sequence flows and other connecting objects to form a kind of flowchartIntroduction to BPMN 2 • Flow nodes may be: • Events – something that happens during the process • Activities – work performed in the process • Gateways – control flow through the process Event Gateway activity Sequence Flow © 2012 Clear View Training Limited 24
  • 25. Process semantics - the token game • Token game – a token is an imaginary focus of control that you imagine flowing around the process • Tokens traverse from a source flow object to a target flowIntroduction to BPMN 2 object via a sequence flow • A flow object executes when it has tokens on one or more of its input flows • When a flow object starts to execute it takes tokens off its input flows • When a flow object has finished executing it offers tokens on one or more of its output flows End event Start event © 2012 Clear View Training Limited 25
  • 26. Process instances • Each time a process receives a new start event, a new instance of that process begins executingIntroduction to BPMN 2 • We say that a process may have many process instances Instance 3 Instance 2 Instance 1 Time © 2012 Clear View Training Limited 26
  • 27. Diagram annotation • BPMN provides two artifacts, the text annotation and group, that allow you to add extra information to models • We use text annotations extensively to document our modelsIntroduction to BPMN 2 • Text annotations are linked to model elements by the association connecting object Artifacts Syntax Name Semantics Text annotation Text annotations allow text to be added to a diagram to increase its comprehensibility Association Group A way to group together diagram elements to show that they are related © 2012 Clear View Training Limited 27
  • 28. Using artifacts • Use groups as a way to organise and highlight parts of the model in order to increase its comprehensibility • Groups have no semantics beyond a simple organising roleIntroduction to BPMN 2 • In the example below, the groups indicate phases in the process • Use text annotations connected to flow objects by associations to document the process © 2012 Clear View Training Limited 28
  • 29. Flow objects • A process is defined as a sequence of flow objects: • Events – something that happens during the processIntroduction to BPMN 2 • Activities – work performed in the process • Gateways – split/merge flow through the process • There are many types of flow object! Event Gateway Activity Sequence flow © 2012 Clear View Training Limited 29
  • 30. Connecting objects • Connect flow nodes together: • Sequence flows – determine the sequence of activities • Message flows – messages between process participantsIntroduction to BPMN 2 • Associations – associate text or data with modeling elements Sequence flow Message flow Pool Association © 2012 Clear View Training Limited 30
  • 31. Collaboration diagrams • A collaboration diagram is like a process diagram but with more than one participant • We can organise the collaboration diagram into:Introduction to BPMN 2 • Pools – represent a participant in the process • Lanes – group related activities • N.B. If a diagram has a single pool and no lanes, it is a process diagram and the pool boundary rectangle may be omitted © 2012 Clear View Training Limited 31
  • 32. Pools, message flows and messages • Use pools in conjunction with explicit messages to show communication between two or more business participants:Introduction to BPMN 2 Pool representing the Sales Department A Message collaboration diagram Message flow Pool representing the Warehouse © 2012 Clear View Training Limited 32
  • 33. Summary • Basic BPMN Elements in the process diagram: • ArtifactsIntroduction to BPMN 2 • Flow objects • Connecting objects • Swimlanes • BPMN semantics – the token game © 2012 Clear View Training Limited 33
  • 34. Laboratory work • Do the BPMN syntax review inIntroduction to BPMN 2 © 2012 Clear View Training Limited 34
  • 35. Introduction to BPMN 2 Basic events, activities & gateways Chapter 3 of © 2012 Clear View Training Limited 35
  • 36. Contents • What is an event? • What is an activity?Introduction to BPMN 2 • What is a gateway? © 2012 Clear View Training Limited 36
  • 37. Simple definitions... • Event – something of note that happens to the businessIntroduction to BPMN 2 • Activity – a piece of work performed in a process • Gateway – controls the flow through the process Gateway Event Activity © 2012 Clear View Training Limited 37
  • 38. What is an event? • All businesses are subject to notable occurrences that we call events: • An is something of note that happens to the business that is important from the process perspectiveIntroduction to BPMN 2 • Events may optionally have triggers that cause the event to occur, and results that are the result of the event. Triggers are indicated by a symbol inside the event icon (see later) • There are 4 types of event, syntactically distinguished by their boundary style: Types of event Syntax Boundary Name Semantics Thin Start events Begin the process by emitting a token Double Intermediate events Occur during the process Intermediate boundary Intermediate events that are attached to an events activity boundary Thick End events Terminate a process flow by consuming a token © 2012 Clear View Training Limited 38
  • 39. Basic events • There area only 3 Basic events all of which are none events:Introduction to BPMN 2 • None start event • None intermediate event • None end event Trigger Start Intermediate End Name Top Event sub- Event sub- Catching Boundary Boundary non- Throwing process process non- interrupting interrupting interrupting interrupting None © 2012 Clear View Training Limited 39
  • 40. None Events • None events have an unspecified (none) trigger • Use these when you either don’t know or don’tIntroduction to BPMN 2 care what triggers the event Start Intermediate End Top Event sub- Event sub- Catching Boundary Boundary non- Throwing process process non- interrupting interrupting interrupting interrupting Catching semantics - Throwing semantics - None start - emits a token when the process/sub-process starts None end - consumes a token None intermediate - consumes a token then emits a token and terminates flow © 2012 Clear View Training Limited 40
  • 41. None start and end eventsIntroduction to BPMN 2 None None end start event event • The none start event begins the process or sub- process in an unspecified way by emitting a token • The none end event terminates a particular flow through the process or sub-process by consuming a token • If there are other, parallel flows, these will not be affected • There are 10 possible start event triggers and 9 possible end event triggers that we will look at later © 2012 Clear View Training Limited 41
  • 42. More than one start event • Sometimes a process is different depending on how it is started... • This example shows a simple Order Process that may beIntroduction to BPMN 2 started by an Email, Phone Call or Letter requesting items Note: we can only have a single none start event per process © 2012 Clear View Training Limited 42
  • 43. None intermediate event • This doesn’t really do anything – it has no trigger, so it fires immediately on receiving a tokenIntroduction to BPMN 2 • Use it as a marker to indicate that the activity/ process has reached an important intermediate state or milestone • They are not used very often! None intermediate event as a milestone marker © 2012 Clear View Training Limited 43
  • 44. Summary • We have had a brief overview of event semantics - we will deal with this in depth inIntroduction to BPMN 2 Core BPMN • Basic events: • None start event - begins the process or sub-process in an unspecified way by emitting a token • None intermediate event - doesn’t really do anything - use it as a marker for an important intermediate state or milestone • None end event - terminates a particular flow through the process or sub-process by consuming a token © 2012 Clear View Training Limited 44
  • 45. Introduction to BPMN 2 Basic activities © 2012 Clear View Training Limited 45
  • 46. What is an activity? • Activity – a piece of work performed in a process • There are 6 types of activityIntroduction to BPMN 2 Types of activity Syntax Name Semantics Task An activity that is considered atomic within this particular process. Sub-process An activity that can be decomposed hierarchically into other (collapsed) activities. This is also known as an embedded sub-process. Ad-hoc The sequence of activities is determined by the process sub-process performers (see Chapter 4). (collapsed) Event sub- Event sub-process – a sub-process that is triggered by a process message, error, escalation, compensation, conditional, signal, (collapsed) time or multiple event (see Chapter 4). Call activity Invokes a global process or task (see Chapter 4). Transaction sub- Represents a sub-process that has transactional (ACID) process properties (see Chapter 9). (collapsed) © 2012 Clear View Training Limited 46
  • 47. What is a sub-process? • Sub-processes provide a composition mechanism • They may be nested hierarchically to any required level of detail - try to limit the levels to 3 maximumIntroduction to BPMN 2 • They may be shown collapsed or expanded to show the tasks and sub-processes contained within them • A sub-process may only begin with a none start event and end with a none end event Double Click Collapsed sub- Expanded process sub-process © 2012 Clear View Training Limited 47
  • 48. Activity semantics • An activity may have zero or more input flows and zero or more output flowsIntroduction to BPMN 2 • It executes when gets a token on any input flow • After completion it offers tokens simultaneously on all of its output flows Pick And Pack Order executes when it gets a token on any of its input flows © 2012 Clear View Training Limited 48
  • 49. Introduction to BPMN 2 Basic gateways © 2012 Clear View Training Limited 49
  • 50. What is a gateway? • You control the flow through the process by using gatewaysIntroduction to BPMN 2 • Gateways converge (merge) and diverge (split) the flow through a process • There are 5 types of gateway. Each type has specific converging and diverging behaviour controlled by: • Conditions on the incoming and outgoing flows • Events on the outgoing flows • A single condition on the gateway itself • Basic BPMN only has two gateways - the exclusive gateway and the parallel gateway © 2012 Clear View Training Limited 50
  • 51. Basic gateways • Exclusive gateway – allows you to express decisions • Note: the syntax has 2 equivalent optionsIntroduction to BPMN 2 • Parallel gateway – allows you to express parallelism Gateways Syntax Name Converging (input) Diverging (output) Exclusive Consumes incoming token Emits single token to outgoing flow whose gateway condition is True. Parallel Waits for token on all incoming flows Emits tokens to all outgoing flows. gateway Event based Consumes incoming token Emits tokens on all outgoing flows which are gateway connected to intermediate events. 1st to fire passes on token. Inclusive Merges tokens from upstream Emits token on all outgoing flows whose gateway diverging inclusive gateway condition is True. Complex Determined by condition set in the Determined by conditions on outgoing gateway activationCondition attribute sequence flows. © 2012 Clear View Training Limited 51
  • 52. The exclusive gateway • The exclusive gateway has one or more input flows, and two or more output flows. When it accepts a token on one of its input flows it emits a single tokenIntroduction to BPMN 2 on a single output flow: • Each output flow has a condition and the set of conditions must be mutually exclusive • A token is emitted on the output flow whose condition is True Condition Default - if none of the conditions are True © 2012 Clear View Training Limited 52
  • 53. Exclusive gateway merge • You can use exclusive gateways simply to merge to process flows - the two models belowIntroduction to BPMN 2 are exactly equivalent In this model the task T3 merges the two input flows. We call this an implicit merge. In this model the exclusive gateway merges the two input flows. We call this an explicit merge. © 2012 Clear View Training Limited 53
  • 54. Parallel gateway • The parallel gateway has one or more input flows, and two or more output flowsIntroduction to BPMN 2 • It waits for a token on all of its input flows (join), then emits a token on all of its output flows (fork) Join the Fork the flows flow © 2012 Clear View Training Limited 54
  • 55. Basic BPMN example PoolIntroduction to BPMN 2 Condition Sequence flow Start event End event Message Exclusive flow gateway Text annotation Task Association © 2012 Clear View Training Limited 55
  • 56. Summary • Event – something of note that happens to the business • Type - start, intermediate, boundary, endIntroduction to BPMN 2 • Behaviour - catching/throwing • Effect - interrupting/non-interrupting • Trigger - none • Activity – a piece of work performed in a business process • Task - considered atomic within this particular process • Sub-process - can be decomposed hierarchically into other activities • Gateway – controls the flow through the business process • Exclusive - consumes incoming token then emits single token to outgoing flow whose condition is True • Parallel - waits for token on all incoming flows, then emits tokens to all outgoing flows © 2012 Clear View Training Limited 56
  • 57. Laboratory work - Assumptions • Using Basic BPMN model the following processes: • Making a cup of teaIntroduction to BPMN 2 • Reading your email • Applying for a training course • Before you can model any of these processes, you will first need to make some assumptions about the context in which the process runs. For each process, list all of the assumptions you are making © 2012 Clear View Training Limited 57
  • 58. Laboratory work - ATM We often perform simple processes over and over, without being aware of the precise steps of those processes. To paraphrase Sherlock Holmes, we see, but do not observe. We have all used an ATM (automated teller machine) to withdraw cash...Introduction to BPMN 2 Using your memory, model the process for withdrawing cash from your bank’s ATM. Model the “happy day” process when everything works exactly as it should. This is your remembered process model. Next time you withdraw some cash from the machine, make a note of the steps in the process and, based on your notes, make an actual process model for withdrawing cash. Compare the two models. Look for: • Deletions – steps that are missing. • Distortions – steps that are incorrect. • Generalizations – multiple steps conflated into a single step. © 2012 Clear View Training Limited 58
  • 59. Laboratory work - a business process Think of a simple process that occurs in the business or organization you are involved inIntroduction to BPMN 2 and model it. How would you verify this model? Can you update your model based on the actual process? © 2012 Clear View Training Limited 59
  • 60. Introduction to BPMN 2 Core BPMN Chapter 4 of © 2012 Clear View Training Limited 60
  • 61. What is Core BPMN? • Includes all of Basic BPMN plus: • More start events, intermediate events and gatewaysIntroduction to BPMN 2 • Activities – task and sub-processes types • Data objects • Core BPMN is the essential set of BPMN modelling elements for Business Analysts! • Basic BPMN is only good for sketches • Advanced BPMN is used less frequently © 2012 Clear View Training Limited 61
  • 62. Core BPMN structureIntroduction to BPMN 2 © 2012 Clear View Training Limited 62
  • 63. Introduction to BPMN 2 Core BPMN - activities © 2012 Clear View Training Limited 63
  • 64. Contents • Core BPMN has 8 different types of task and 4 different types of sub-process!Introduction to BPMN 2 • These allow you to be more specific about the semantics of the activities in your process models • In this section we will look at • Global tasks and processes • Call activities • Task types • Sub-process types © 2012 Clear View Training Limited 64
  • 65. Call activities • A Global task/process is a reusable task/process that may be called from another process using a call activityIntroduction to BPMN 2 • Only a subset of task types may be global (next slide) • Call activities must have a thick black border and use task syntax to call global tasks and sub-process syntax to call global processes Process 1 Global Manual Validation Process Calls A call activity has a thick black border © 2012 Clear View Training Limited 65
  • 66. Task types Task typesIntroduction to BPMN 2 Syntax Semantics Global? An activity that is considered atomic within this particular process N Sends a message to an external participant on completion N Waits for a message from an external participant N A task performed entirely manually Y A task performed by a human with the assistance of automation Y A service such as a web service or automated application Y A script executed by a business process engine Y A task performed by a business rules engine Y © 2012 Clear View Training Limited 66
  • 67. Send and receive tasks • You can send and receive messages using send tasks and receive tasks respectivelyIntroduction to BPMN 2 • A send task, on completion, will send a message specified in its messageRef attribute down all outgoing message flows • N.B. if it has a data input, this is automatically placed in the message and so it must be equivalent to the message • A receive task simply waits for a message and then offers tokens on its outgoing Send and receive message M1 flows Syntax Semantics Global? Sends a message to an external participant on completion N Waits for a message from an external participant N © 2012 Clear View Training Limited 67
  • 68. Manual and user tasks • The manual task is performed without any automation by a human performerIntroduction to BPMN 2 • The user task is similar, except that the human performer is assisted by a software system of some kind © 2012 Clear View Training Limited 68
  • 69. Service task • The service (and user) task involve participants outside of the current process:Introduction to BPMN 2 • Service – a system external to the process • User – a user external to the process • Because of this, these tasks must be started by a message start event • When they end they will often send a message back to the process that started them Syntax Semantics Global? A task performed by a human with the assistance of automation Y A service such as a web service or automated application Y © 2012 Clear View Training Limited 69
  • 70. Script and business rule tasks • The script task represents a script that is executed by a Business Process EngineIntroduction to BPMN 2 • The business rule task allows the process to provide input to and receive output from a Business Rule Engine • A business rule is a statement that defines or constrains some aspect of the business and always resolves to either True or False Syntax Semantics Global? A script executed by a Business Process engine Y A task performed by a Business Rules engine Y © 2012 Clear View Training Limited 70
  • 71. Sub-process types • BPMN 2 has 4 different types of sub-processIntroduction to BPMN 2 Sub-process types Syntax Name Semantics Embedded The normal type of sub-process. It is embedded in the parent sub-process process, is activated by it, and can access all of its global data. (collapsed) Ad-hoc The sequence of activities is determined by the process performers. sub-process (collapsed) Event A sub-process that has no incoming or outgoing sequence flows. It sub-process is triggered by a message, error, escalation, compensation, (collapsed) conditional, signal, or multiple event. Transaction Sub-processes that have ACID properties (see Chapter 9). The sub-process sub-process is all or nothing – it runs to completion or fails (collapsed) completely leaving the system in a consistent state. © 2012 Clear View Training Limited 71
  • 72. Ad-hoc sub-process The tilde (~) indicates that this is an ad-hoc sub-processIntroduction to BPMN 2 • Sequencing of the activities is determined by the process performers • Each activity may be performed zero or more times • Ad-hoc sub-process attributes: • AdHocOrdering - determines if the activities can be performed in Parallel (the default) or must be Sequential (often determined by resource constraints) • AdHocCompletionCondition – a Boolean condition that defines when the Ad-Hoc sub-process will end • CancelRemaining – if True, cancel all executing parallel instances when the AdHocCompletionCondition becomes True © 2012 Clear View Training Limited 72
  • 73. Event sub-process • These are different from normal sub-processes because they are not part of the normal process flow: • They have no incoming or outgoing sequence flows, so are not part of the parent process flow!Introduction to BPMN 2 • They are always triggered by a start event whose trigger may be message, error, escalation, compensation, conditional, signal, timer or multiple • If triggered by an interrupting start event, they interrupt the containing process flow otherwise they run concurrently • They must have a dashed boundary Collapsed syntax Event sub- process with interrupting timer start event © 2012 Clear View Training Limited 73
  • 74. Summary • A global task/process is a reusable task/process that may be called from another process using a call activityIntroduction to BPMN 2 Ad-hoc sub-process (collapsed) Event sub-process (collapsed) © 2012 Clear View Training Limited 74
  • 75. Laboratory work • BPMN syntax review inIntroduction to BPMN 2 © 2012 Clear View Training Limited 75
  • 76. Introduction to BPMN 2 Event semantics Chapter 5 of © 2012 Clear View Training Limited 76
  • 77. Contents • Before we can look at the Core events, we have to understand event semantics in fullIntroduction to BPMN 2 detail: • Trigger • Behavior - catching/throwing semantics • Behavior - interrupting/non-interrupting semantics • Type: • Start • End • Intermediate • Boundary © 2012 Clear View Training Limited 77
  • 78. Detailed event semantics • We can classify the many BPMN 2 events according to: • Trigger - determines what causes the event to fireIntroduction to BPMN 2 • Behavior - throw or catch - interrupt the containing activity or not • Type - where can they be used in processes Trigger Type Behavior Throwing/catching Interrupting/ non-interrupting Start Catching Both Intermediate Both Event taxonomy Boundary Catching Both End Throwing © 2012 Clear View Training Limited 78
  • 79. Event trigger • The event trigger describes what the event actually does e.g. does it catch or send a message payload?Introduction to BPMN 2 • There are 13 event triggers in BPMN 2 – we’ll see all of these later in the course! • Triggers are shown as icons inside the event symbol • The trigger influences catch and throw semantics • e.g. it makes sense for a timer intermediate event to respond to (catch) time, but there is no meaningful sense in which it can throw anything Trigger icon There is no throwing variant of this timer Intermediate event, because all it does is respond to time © 2012 Clear View Training Limited 79
  • 80. Event behavior - throwing and catching • Events may have throwing or catching semantics: • Throwing - the event waits for a token then emits a trigger • The trigger is drawn filled inIntroduction to BPMN 2 • Catching - the event waits for its trigger and then emits a token • The trigger is drawn in outline • Start events can only catch • End events can only throw • Intermediate events can both catch and throw (depending on trigger) • Boundary events can only catch Throwing - trigger Catching - trigger drawn filled-in drawn in outline © 2012 Clear View Training Limited 80
  • 81. Event behaviour - interrupting and non-interrupting • Start and boundary events may have interrupting or non-interrupting semanticsIntroduction to BPMN 2 • Interrupting - the triggering activity terminates, and the process flow continues on from the catching event - solid boundary (default) • Non-interrupting - the triggering activity continues, and the process flow branches at the catching event - dashed boundary Interrupting - Non-Interrupting - solid boundary dashed boundary © 2012 Clear View Training Limited 81
  • 82. Event type • The event type divides the events up according to where they may be used in the process flow:Introduction to BPMN 2 • Start events occur at the start of the process flow • Intermediate events occur part way through • Intermediate boundary events (or just boundary events for short) are attached to activity boundaries • End events occur at the end • We will look at each of the four BPMN event types in detail over the next few sections © 2012 Clear View Training Limited 82
  • 83. What is a start event? • A start event begins a new instance of a process • It has a single outgoing sequence flow and noIntroduction to BPMN 2 incoming flows • When triggered, it emits a token on its single outgoing flow • The trigger specifies the cause of the start event e.g. a timer going off, a message or signal being received or none A message start event emits a token on receipt of a specific Message message (see later) © 2012 Clear View Training Limited 83
  • 84. What is an end event? • End events may: • End a particular path through a processIntroduction to BPMN 2 • End the whole process (terminate end event) • Generate a result (e.g. a message or signal being sent) • They have incoming flows and no outgoing flows because they consume their input tokens A message end event consumes a token then sends a message (the result) Message © 2012 Clear View Training Limited 84
  • 85. What is an intermediate event? • Intermediate events occur during a process - they do not spawn a new process instance! • They have have a single (optional) input flow and aIntroduction to BPMN 2 single output flow • They may catch or throw: • Catch - waits for the event trigger then emits a token • Throw - throws the event trigger then emits a token Example with throwing and catching message intermediate events © 2012 Clear View Training Limited 85
  • 86. Intermediate event catch/throw • Intermediate events have more complex catch/throw semantics than start or end events because they may have both an input flow and an output flow and they mayIntroduction to BPMN 2 catch and/or throw depending on their trigger • Throw: • Wait for a token on the single input flow • Throw the event trigger Exercise: Can you model this • If there is an output flow: behavior? • Emit a token on the single output flow • Catch: • If there is an input flow: • Wait for a token • Wait for the event trigger • Emit a token on the single output flow © 2012 Clear View Training Limited 86
  • 87. Answer • Intermediate event behavior metamodel • This is metamodelling (creating a model of aIntroduction to BPMN 2 model) © 2012 Clear View Training Limited 87
  • 88. What is a boundary event? • Boundary events are catching intermediate events placed on activity boundaries • Interrupting - branch the process flowIntroduction to BPMN 2 • Non-interrupting - fork the process flow Boundary event semantics Syntax Behaviour Semantics Interrupting If Branch triggered before Task 1 finishes terminate Task 1 execute Task 3 Else execute Task 2 Non- If Fork triggered before Task 1 finishes interrupting continue executing Task 1 AND fork to execute Task 3 concurrently Else execute Task 2 © 2012 Clear View Training Limited
  • 89. What we have learned • We have considered event semantics in depth: • Trigger - what causes the event to fireIntroduction to BPMN 2 • Behaviour - throwing and catching • Behaviour - interrupting and non-interrupting • Type - start, intermediate, boundary and end © 2012 Clear View Training Limited 89
  • 90. Introduction to BPMN 2 Core events Chapter 6 of © 2012 Clear View Training Limited 90
  • 91. Contents • In this section we look at all of the Core events • The Core triggers are:Introduction to BPMN 2 • Message • Signal • Timer • Conditional • Terminate © 2012 Clear View Training Limited 91
  • 92. Core events • There are 5 Core event triggers, message, signal, timer, conditional and terminateIntroduction to BPMN 2 Trigger Start Intermediate End Name Top Event sub- Event sub- Catching Boundary Boundary non- Throwing process process non- interrupting interrupting interrupting interrupting Message Signal Timer Conditional Terminate © 2012 Clear View Training Limited 92
  • 93. Messages and signals • Messages and signals are packets of dataIntroduction to BPMN 2 Messages are sent 1 to 1 and include references to the Message sender and receiver Signals are broadcast 1 to many and neither the sender nor the Signal receiver are specified © 2012 Clear View Training Limited 93
  • 94. Message events Start Intermediate End Top Event sub- Event sub- Catching Boundary Boundary non- Throwing process process non- interrupting interruptingIntroduction to BPMN 2 interrupting interrupting Catching semantics - Throwing semantics - wait for a message from a different pool then emit a token on receipt of a token throw a message to a different pool • Catching message events are triggered by receipt of a message from a different pool • Throwing message events throw a message (the result) to a different pool © 2012 Clear View Training Limited 94
  • 95. Send and receive tasks • You can also send and receive Messages using send tasks and Send and receive receive tasksIntroduction to BPMN 2 message M1 • A Send task, on completion, will send a message specified in its messageRef attribute down all outgoing message flows • N.B. if it has a data input, this is automatically placed in the message and so it must be equivalent to the message in terms of data • A receive task simply waits for a message and then offers tokens on its outgoing flows © 2012 Clear View Training Limited 95
  • 96. Message end event exampleIntroduction to BPMN 2 © 2012 Clear View Training Limited 96
  • 97. Signal events Start Intermediate End Top Event sub- Event sub- Catching Boundary Boundary non- Throwing process process non- interrupting interruptingIntroduction to BPMN 2 interrupting interrupting Catching semantics - Throwing semantics - wait for receipt of a signal then emit a token wait for a token then throw a signal • Catching signal events are triggered by receipt of a signal broadcast from within the current pool or from an external pool © 2012 Clear View Training Limited 97
  • 98. Signal end event example • When this event receives a token it broadcasts a signal to every activity or process set up to receive itIntroduction to BPMN 2 • Unlike a message, a signal specifies neither its source nor its target • Also unlike a message, you can send signals between activities in the same participant – this is often used to synchronise concurrent process flows Sends the Newsletter. Any activity or process that is waiting for a Newsletter can receive this signal © 2012 Clear View Training Limited 98
  • 99. Timer events Start Intermediate End Top Event sub- Event sub- Catching Boundary Boundary non- Throwing process process non- interrupting interrupting interrupting interruptingIntroduction to BPMN 2 Catching semantics - Throwing semantics - Start: emit a token when the time condition becomes True. Intermediate: wait for a token, then emit a token when the time condition becomes True. • Timer events respond to time, so they can only catch • They are triggered when a time condition becomes true • They can be used in three ways: • Time-out: an interrupting timer boundary event acts as a time-out because the activity is interrupted when the time condition becomes True • Timed-fork: a non-interrupting timer boundary event causes a fork in the flow when the time condition becomes True • Delay: a timer intermediate event causes the flow to pause until the time condition becomes True © 2012 Clear View Training Limited 99
  • 100. Timer event - time conditions • Timer events are triggered when a time condition becomes True e.g.Introduction to BPMN 2 • A point in time e.g. "At End Of Week" • After a duration in time e.g."After 2 Weeks" • A repeating condition e.g. "Every Tuesday" • Note: using a specific time or date (e.g. 1st Feb. 2009) may inhibit the reusability of the process • Although we often use natural language for time conditions, it is crucial to be very clear and precise! © 2012 Clear View Training Limited 100
  • 101. Timer event example Timer boundary event as a time-outIntroduction to BPMN 2 None intermediate event as a milestone marker Timer intermediate event as a delay © 2012 Clear View Training Limited 101
  • 102. Conditional events Start Intermediate End Top Event sub- Event sub- Catching Boundary Boundary non- Throwing process process non- interrupting interruptingIntroduction to BPMN 2 interrupting interrupting Catching semantics - Throwing semantics - wait for condition False->True transition then emit token True False • A conditional event is edge triggered when a Boolean condition transitions from False to True e.g. • "Overdue" - a Boolean value • "Overdue & !First Offence" - a Boolean expression • "Balance < 0.0" - a Boolean relation © 2012 Clear View Training Limited 102
  • 103. Terminate event Start Intermediate End Top Event sub- Event sub- Catching Boundary Boundary non- Throwing process process non- interrupting interruptingIntroduction to BPMN 2 interrupting interrupting Catching semantics - Throwing semantics - on receipt of a token, consume it and terminate all activities in the process • This type of end event consumes a token, then terminates all activities in the process © 2012 Clear View Training Limited 103
  • 104. Terminate event example • When this event receives a token all activities in the process stop!Introduction to BPMN 2 • A common use for a terminate end event is to stop a process after an interrupt or non-recoverable error Terminate all threads Wait for message intermediate events © 2012 Clear View Training Limited 104
  • 105. Core event example • The example shows the sort of rich process models you can create using combinations of the Core eventsIntroduction to BPMN 2 • This example is part of a process for handling debts… Explain what this process does… © 2012 Clear View Training Limited 105
  • 106. What we have learned • We have studied the Core events: • Message - send/receive a messageIntroduction to BPMN 2 • Signal - broadcast/receive a signal • Timer - responds to time • Conditional - edge triggered on a Boolean Condition • Terminate - terminate all activities © 2012 Clear View Training Limited 106
  • 107. Laboratory work - a bespoke product process Clear View Training Limited offers a bespoke product process to its clients for designing custom training courses. The process begins when our marketing department receives a customer request for a bespoke training course. The marketing department communicates with the customer to find out theIntroduction to BPMN 2 requirements for the new course (topic, number of days, format) and any business constraints (delivery time, cost constraints). Marketing then liaises with the production department to see if the course is feasible, and if so, produces a Product Specification which is sent back to the customer. This includes details of the deliverables and time and cost for the development. The Product Specification may go through several iterations between Marketing and the customer, until both agree to it or it is rejected. If the Product Specification is accepted, Marketing raises an invoice for payment in advance for the time and materials agreed in the Product Specification. Once payment has been received, the Product Specification goes to Production who start creating the required course materials (PowerPoint slides, exercises and delegate notes). The completed materials go through an internal review and are then presented to the customer as a beta release. If the customer accepts the beta, the course is promoted to version 1 and and released to the customer. However, the most likely outcome is that the customer provisionally accepts the materials pending changes. The customer may provisionally accept the materials several times before they are finally satisfied, when the course is promoted to version 1 and released to the customer. A very rare possible outcome (in fact, it has never yet happened) is that the customer might completely reject the course materials. In this case, the matter is escalated to the company director for resolution. © 2012 Clear View Training Limited 107
  • 108. Introduction to BPMN 2 Core gateways & data objects Chapter 7 of © 2012 Clear View Training Limited 108
  • 109. Contents • There is only a single Core gateway – the event-based exclusive gatewayIntroduction to BPMN 2 • Data objects allow you to represent the flow of data around the process © 2012 Clear View Training Limited 109
  • 110. Core gateways • The event based exclusive gateway is a type of exclusive gateway where, instead of conditions on its two or more outgoing flows, it has intermediate eventsIntroduction to BPMN 2 • When it accepts a token on one of its input flows it emits a token on each of its output flows: • Each of these tokens is received by an intermediate event which waits for its trigger • Whichever of these events is triggered first "wins", and the token passes through that event - all the other waiting tokens are consumed Core gateways Syntax Name Converging (input) Diverging (output) Event based Consumes incoming token Emits tokens on all outgoing flows which are exclusive connected to intermediate events. The first to gateway fire passes on a token. © 2012 Clear View Training Limited 110
  • 111. Event gateway example • This example shows a simple log on process that illustrates the event-based exclusiveIntroduction to BPMN 2 gateway (event gateway for short) Event-based Intermediate exclusive events gateway © 2012 Clear View Training Limited 111
  • 112. Data objects • Data objects indicate data flowing through a process, and (possibly) being transformed by it • They are connected to other elements by data associations, not byIntroduction to BPMN 2 sequence flows! • These show the movement of data objects and do not directly affect the flow of control through the process • They may specify in their assignment attribute a data mapping between the source and the target e.g. source.forename -> target.firstName • Data objects may be in 0 or more states – "A condition or situation during the life of an object during which it satisfies some condition, performs some activity or waits for some event " (the UML 2 Specification) • In UML the states an object may go through are modeled by creating state machine for its class • There is exactly one state machine for any class, • The states in the BPMN model and UML state machine model must be consistent! © 2012 Clear View Training Limited 112
  • 113. Types of data object • There are 4 types of data object • Three of the 4 types may represent a single data object, or a collection of data objects, such as a list of namesIntroduction to BPMN 2 • Data inputs and outputs are hardly ever used and are only included here for completeness Types of data object Syntax Collection syntax Semantics Used to show data flow through a process. This is the most commonly used form. Used to show data Inputs to a top-level process, global process or task that is called by a call activity. The optional attribute specifies if it is an optional or mandatory input. Used to show data outputs from a top-level process. A reference to an external data store such as a relational database that can store and provide data. Has a capacity attribute that is normally set to unlimited. © 2012 Clear View Training Limited 113
  • 114. Data objects example • A simple Product Specification Review processIntroduction to BPMN 2 Data association State © 2012 Clear View Training Limited 114
  • 115. Activities and data objects • As we have seen, activities may accept data objects as inputs and emit data objects asIntroduction to BPMN 2 outputs • This is represented in BPMN by each activity having the following data object related attributes: • Zero or many InputSets that define data objects input by the activity • Zero or many OutputSets that define data objects output by the activity • The detailed specification of the InputSets and OutputSets specify how the activity handles its inputs and outputs… © 2012 Clear View Training Limited 115
  • 116. Activity InputSets • Each activity may have zero or more InputSets. These act like parameters to a function, specifying the data the activity must have and could have before it can executeIntroduction to BPMN 2 • Each InputSet has the following attributes: InputSet attributes Attribute Semantics name The name of the InputSet dataInputRefs The list of all the data objects that may input to the activity optionalInputRefs The subset of the dataInputRefs that are optional i.e. the activity can execute even if they are not present whileExecutingInputRefs The subset of the dataInputRefs that may be processed whist the activity is executing outputRefs Lists the OutputSets (see next slide) expected to be created by the activity from this InputSet © 2012 Clear View Training Limited 116
  • 117. Activity OutputSets • Each activity may have zero or more OutputSets. These act like output values from a function, specifying the data objects output from the activity during or after executionIntroduction to BPMN 2 • Each OutputSet has the following attributes: InputSet attributes Attribute Semantics name The name of the InputSet dataOutputRefs The list of all the data objects that may be output from the activity optionalOutputRefs The subset of the dataOutputRefs that are optional i.e. the activity can execute even if they are not present whileExecutingOutputRefs The subset of the dataOutputRefs that may be processed whist the activity is executing outputSetRefs Lists the OutputSets expected to be created by the activity © 2012 Clear View Training Limited 117
  • 118. Summary • The event-based exclusive gateway offers a token on the first outgoing flow to receive anIntroduction to BPMN 2 event • Data objects allow you to show how information flows around the business process • Use states to show how data objects are transformed by the activities © 2012 Clear View Training Limited 118
  • 119. Laboratory work - a software engineering process In real world process modeling, you have three main sources of information that you use to construct your process models: • Documents – these can be text documents, informal diagrams, internalIntroduction to BPMN 2 standards, even PowerPoint slides. Because they are informal, they are generally ambiguous and partial in scope. • Interviews – you identify process participants, and interview them to understand what they do. • Real world – this is where you shadow a process participant as they actually go through the process. A variant on this is where you receive the appropriate training, and then perform the process yourself for a while. Usually, you get a mix of all of these things, so it’s important to know how to process this information. In the exercises in this book, we will provide you with documents (now) and interview transcripts (later) to work with. Unfortunately, we can’t supply you with any “real world”, although, as the capabilities of iBooks increases, this may change. © 2012 Clear View Training Limited 119
  • 120. Introduction to BPMN 2 Advanced BPMN Chapter 8 of © 2012 Clear View Training Limited 120
  • 121. Contents • Advanced activity behaviour • Looping • Standard loopingIntroduction to BPMN 2 • Multi-instance looping • Advanced events • Conditional events • Link events • Multiple events • Error events - error handling • Compensation events - compensation • Cancel events - transactions • Advanced gateways • Inclusive • Complex • Advanced sequence flow • Conditional sequence flow © 2012 Clear View Training Limited 121
  • 122. Advanced BPMN structure • There are many more triggers to cover!Introduction to BPMN 2 © 2012 Clear View Training Limited 122
  • 123. Introduction to BPMN 2 Activity looping © 2012 Clear View Training Limited 123
  • 124. Activity looping • You can specify that an activity loops (i.e. repeats many times) • There are four types of activity looping:Introduction to BPMN 2 Activity looping Syntax Semantics Explicit looping using gateways. Multiple activity instances execute in sequence. The same activity instance executes repeatedly, as defined by a set of attributes called StandardLoopCharacteristics. The activity spawns multiple instances that execute in sequence or in parallel, as defined by a set of attributes called MultiInstanceLoopCharacteristics. © 2012 Clear View Training Limited 124
  • 125. Standard looping • The same activity instance repeats itself again and again as defined by a set of attributes called the StandardLoopCharacteristicsIntroduction to BPMN 2 • We can easily create while and until loops (see next slide) by setting appropriate values for these attributes StandardLoopCharacteristics attributes Attribute Semantics loopCounter The number of loops that have been performed. This is automatically updated by the process engine (if there is one). loopMaximum The maximum possible number of loops (defaults to unlimited). loopCondition A Boolean condition controlling the loop that is evaluated once for every loop. testBefore If True, test the loopCondition before each iteration. If False, test loopCondition after each iteration. © 2012 Clear View Training Limited 125
  • 126. While loop – testBefore = True • testBefore is True so the loopCondition is checked at the beginning of each iteration • The activity only executes if the loopCondition is True then repeats whileIntroduction to BPMN 2 the loopCondition is True • N.B. it is quite common to use English for the loopCondition (unless you are using a process execution engine that requires code) Summarising the loopCondition on the diagram is good style! Pseudo code: While more Customers? = True Record Customer Details End While © 2012 Clear View Training Limited 126
  • 127. Until loop – testBefore = False • testBefore is False, so the loopCondition is checked at the end of the iteration • The activity always executes once then repeats if and only if theIntroduction to BPMN 2 loopCondition is true Pseudo code: Repeat Review Proposal Until accepted = True © 2012 Clear View Training Limited 127
  • 128. Multi-instance looping • The activity spawns multiple instances that execute in sequence or in parallel as defined by a set of activity attributes called theIntroduction to BPMN 2 MultiInstanceLoopCharacteristics MultiInstanceLoopCharacteristics attributes for looping Attribute Semantics isSequential If True, the activity instances execute sequentially. If False, the activity instances execute concurrently. loopCardinality Defines the maximum number of activity instances. loopDataInputRef A reference to a collection of data. A maximum of one activity XOR instance is created for each item in the collection. completionCondition A Boolean expression that, when True, cancels any remaining activity instances and emits a token. It determines the actual number of activity instances that complete. © 2012 Clear View Training Limited 128
  • 129. Multi-instance loop - event throwing • A multi-instance loop activity can throw events in order to help track the completion of the activity instance. It has two attributes that can hold references to events: noneBehaviorEventRef andIntroduction to BPMN 2 oneBehaviorEventRef • The value of its behavior attribute determines the precise conditions under which these events will be thrown • The events are usually caught by boundary events on the activity MultiInstanceLoopCharacteristics attributes for event throwing behavior Attribute value Event throwing behavior behavior = All Do not throw an event. A token is produced after completion of all activity instances. This synchronises the activity instances (default). behavior = One Throw the event specified by oneBehaviorEventRef the first time an activity instance completes. Allows the process to proceed after first instance completes. behavior = None Throw the event specified by noneBehaviorEventRef each time an activity instance completes. This can create parallel flows. behavior = Complex The action is user defined in the complexBehaviourDefinitions attribute. This is very advanced and we will not cover it here. © 2012 Clear View Training Limited 129
  • 130. Summary • BPMN provides flexible mechanisms for looping activities:Introduction to BPMN 2 • Explicit looping using gateways • Standard looping • While - activity executes at least once • Until - activity may not execute at all • Multi-instance loop sequential • The same activity instance executes over and over again as defined by the StandardLoopCharacteristics • Multi-instance loop parallel • Same as above, but activities execute in parallel © 2012 Clear View Training Limited 130
  • 131. Introduction to BPMN 2 Advanced events © 2012 Clear View Training Limited 131
  • 132. Advanced Events • There are many different types of Advanced event trigger:Introduction to BPMN 2 • Link • Conditional • Multiple • Multiple parallel • There are also events related to error handling - we deal with these in the next section • Error events - error handling • Compensation events - compensation • Cancel events - transactions © 2012 Clear View Training Limited 132
  • 133. Advanced events Trigger Start Intermediate End Name Top Event sub- Event sub- Catching Boundary Boundary non- Throwing process process non- interrupting interruptingIntroduction to BPMN 2 interrupting interrupting Link Multiple Parallel multiple Compensation Error Escalation Cancel © 2012 Clear View Training Limited
  • 134. Advanced events - general purpose • There are 7 different Advanced event triggers that we may divide these into two sets:Introduction to BPMN 2 • General purpose (this section) • Link - break long sequence flows • Multiple - a combination of triggers any one of which will trigger the Event • Multiple parallel - a combination of triggers all of which are required to trigger the event • Errors (next section) • Error events - error handling • Escalation events - escalation to a higher level of control • Compensation events - compensation after error • Cancel events - transactions © 2012 Clear View Training Limited 134
  • 135. Link intermediate events Start Intermediate End Top Event sub- Event sub- Catching Boundary Boundary non- Throwing process process non- interrupting interruptingIntroduction to BPMN 2 interrupting interrupting Catching semantics - Throwing semantics - accept link from corresponding throwing link event link to corresponding catching link event • Use link intermediate events to break long sequence flow lines and connect two or more parts of the same process at the same process level • They can’t cross pool or process boundaries, e.g. not process to sub-process • Multiple source link events can link to a single target link event but this is bad style! © 2012 Clear View Training Limited 135
  • 136. Multiple events Start Intermediate End Top Event sub- Event sub- Catching Boundary Boundary non- ThrowingIntroduction to BPMN 2 process process non- interrupting interrupting interrupting interrupting Catching semantics - Throwing semantics - any of the associated triggers may trigger the multiple event throw all of the associated triggers • Multiple events have two or more triggers associated with them • Catching – any of the associated triggers may trigger the multiple event • Throwing – the results specified by all of the associated triggers are thrown • It is good style to describe the associated triggers in an annotation! • You could also avoid them wherever you can! © 2012 Clear View Training Limited 136
  • 137. Example: multiple start event • The example shows a process fragment comprising a non-interrupting multiple startIntroduction to BPMN 2 event that has a timer event and a message event associated with it What does this process fragment do??? Consider refactoring to Without this annotation the model would be unreadable! © 2012 Clear View Training Limited 137
  • 138. Parallel multiple events Start Intermediate EndIntroduction to BPMN 2 Top Event sub- Event sub- Catching Boundary Boundary non- Throwing process process non- interrupting interrupting interrupting interrupting Catching semantics - Throwing semantics - emit token if all associated triggers occur • This is a more constrained version of the multiple event • It is catching only, and it requires all associated triggers to occur before it emits a token © 2012 Clear View Training Limited 138
  • 139. Summary • We have looked at some of the Advanced events • Link intermediate events - use throwing/catching pairs to break long sequence flow linesIntroduction to BPMN 2 • Terminate end event • Terminate all activities • Multiple events - have two or more triggers associated with them • Catching – any of the associated triggers may trigger the multiple event • Throwing – the results specified by all of the associated triggers are thrown • Parallel multiple events • Catching - all of the associated events must be triggered © 2012 Clear View Training Limited 139
  • 140. Introduction to BPMN 2 Advanced gateways © 2012 Clear View Training Limited 140
  • 141. Advanced gateways • There are only 2 Advanced gateways: • They have complex semantics that can make modelsIntroduction to BPMN 2 hard to understand so should be used with caution! Advanced Gateways Syntax Name Converging (input) Diverging (output) Inclusive Merges tokens from upstream Emits a token on all outgoing flows whose gateway diverging inclusive gateway condition is True Complex Determined by condition set in the Determined by conditions on outgoing gateway activationCondition attribute sequence flows © 2012 Clear View Training Limited 141
  • 142. Inclusive gateway • The inclusive gateway has complex diverging and converging behaviour • Because of this, inclusive gateways are generally only used inIntroduction to BPMN 2 pairs with each split being closely followed by a corresponding merge • Diverging - each output flow has a condition and a token is emitted on all output flows whose conditions are True • This is a logical inclusive OR • Converging - all the tokens generated by a corresponding upstream diverging inclusive gateway are synchronised and merged • To make matters really interesting, an inclusive gateway may also be mixed i.e. it has a mix of diverging and converging behavior (best not to go there...) © 2012 Clear View Training Limited 142
  • 143. Inclusive gateway example • This example is from a media player system: • You can Choose Media (Music, Slideshow or both)Introduction to BPMN 2 • Depending on what you have chosen, the system Plays Music, Plays Slideshow or both • When all media has finished playing, the process ends Condition Diverging Converging inclusive inclusive gateway gateway © 2012 Clear View Training Limited 143
  • 144. Conditional sequence flows • There is an alternative notation for diverging inclusive gateways shown below:Introduction to BPMN 2 • A set of conditional sequence flows are semantically equivalent to a diverging inclusive gateway This has precisely the same semantics as the previous slide! Conditional sequence flow © 2012 Clear View Training Limited 144
  • 145. Complex gateway • These have no default semantics: • Converging - modeller provides an activationCondition that determines what combination of input Tokens causes the Gateway to fireIntroduction to BPMN 2 • Diverging - modeller provides conditions on each outgoing Sequence Flow to determine which of them pass Tokens • Mixed - both of the above! • Complex gateways must be supported by text annotations that describe their semantics, otherwise the diagram is unreadable! • They are often used to combine many gateways into a single complex gateway - but this isn’t necessarily a good thing! Converging side Diverging side © 2012 Clear View Training Limited 145
  • 146. Complex gateway example • Note the activationCondition on the complex gateway converging side and the sequence flowIntroduction to BPMN 2 conditions on the complex gateway diverging side Can you simplify this? © 2012 Clear View Training Limited 146
  • 147. Summary • The two Advanced gateways have quite complex semantics so always look for simplerIntroduction to BPMN 2 solutions if possible! Advanced Gateways Syntax Name Converging (input) Diverging (output) Inclusive Merges tokens from upstream Emits token on all outgoing flows whose gateway diverging inclusive gateway condition is True Complex Determined by condition set in the Determined by conditions on outgoing gateway activationCondition attribute sequence flows © 2012 Clear View Training Limited 147
  • 148. Laboratory work • Take the review quiz inIntroduction to BPMN 2 © 2012 Clear View Training Limited 148
  • 149. Introduction to BPMN 2 Errors etc. Chapter 9 of © 2012 Clear View Training Limited 149
  • 150. Error handling • Error events work in throw/catch pairs: • Error end events throw an error, • Error start or boundary events catch the error:Introduction to BPMN 2 • Throw an error end event within an activity to end it and raise an error • Catch the error with an error start event at the same process level or an error boundary event to go up a process level • The error start or boundary event emits a token to another activity that handles the error • The error end event has an attribute called Error (its payload) that allows you to record the name and errorCode Start Intermediate End Top Event sub- Event sub- Catching Boundary Boundary non- Throwing process process non- interrupting interrupting interrupting interrupting Catching semantics - Throwing semantics - wait for error then emit a token on receipt of a token throw an error © 2012 Clear View Training Limited 150
  • 151. Error handling - same level • Use the error end event/error start event pair to handle errors at the same process level:Introduction to BPMN 2 In this example, error handling is at the same process level © 2012 Clear View Training Limited 151
  • 152. Error handling - next level • Use the error end event/error boundary event pair to handle errors at the parent process level:Introduction to BPMN 2 © 2012 Clear View Training Limited 152
  • 153. Escalation • Escalation is the strategy of escalating processing to some higher level of responsibility – it is not an error! • Escalation events work in throw/catch pairs much like errorIntroduction to BPMN 2 events • Throwing escalation events have an attribute called Escalation (their payload) that allows you to send a name and escalationCode Start Intermediate End Top Event sub- Event sub- Catching Boundary Boundary non- Throwing process process non- interrupting interrupting interrupting interrupting Catching semantics - Throwing semantics - wait for escalation then emit a token on receipt of a token throw an escalation © 2012 Clear View Training Limited 153
  • 154. Escalation vs. error exampleIntroduction to BPMN 2 Throw an escalation if FAQ fails Throw an error if can’t answer question © 2012 Clear View Training Limited 154
  • 155. Compensation • Compensation involves undoing activities or processes that have already been completed • The activity or process is rolled back one activity at a time. Each activity isIntroduction to BPMN 2 replaced by its compensation handler (if it has one) which executes • There are 5 steps in compensation: 2. Broadcast the compensation result 3. Roll back one activity at a time 1. Detect the need for compensation 4. Catch the compensation result 5. Run the compensation handler © 2012 Clear View Training Limited 155
  • 156. Compensation events • Like error events, compensation events usually operate in throw/catch pairsIntroduction to BPMN 2 • The throwing variants have quite complex semantics... Start Intermediate End Top Event sub- Event sub- Catching Boundary Boundary non- Throwing process process non- interrupting interrupting interrupting interrupting Catching semantics - Throwing semantics - wait for compensation then execute associated compensation handler on receipt of a token throw a compensation © 2012 Clear View Training Limited 156
  • 157. Compensation end event • Throwing compensation end event semantics are determined by the value of its activityRef attribute: • If activityRef has no reference to an activityIntroduction to BPMN 2 • Broadcast compensation to all completed activities (default) • Else • Send compensation only to the referenced activity • This behavior is summarised in the metamodel below: Throwing compensation end event semantics are determined by the value of the activityRef attribute © 2012 Clear View Training Limited 157
  • 158. Compensation intermediate event • Throwing compensation intermediate event semantics are determined by the value of its activityRef attribute and also the value of the waitForCompletion attribute:Introduction to BPMN 2 • If waitForCompletion is False (default) • Send/broadcast a compensation then emit a token • Else • Send/broadcast a compensation, wait for compensation activities to complete, then emit a token © 2012 Clear View Training Limited 158
  • 159. Compensation start event • The compensation start event is Interrupting and can only start a compensation event sub-Introduction to BPMN 2 process Event sub- process as compensation handler © 2012 Clear View Training Limited 159
  • 160. Compensation boundary event • Catching compensation boundary events are interrupting, because compensation is an interruption to the normal process flow! • Each compensation boundary event may be associated with aIntroduction to BPMN 2 compensation handler • Any activity may be set as a compensation handler by setting its isForCompensation attribute to True • It is a special activity that is not part of the normal process flow • Its sole purpose is to undo the action of the activity to which it is associated When the Refund compensation boundary event is triggered, execute the associated Refund Payment compensation activity Task as Association compensation handler © 2012 Clear View Training Limited 160
  • 161. Transactions • Transactions are sub-processes that have ACID properties:Introduction to BPMN 2 • Atomic - the transaction is treated as a discrete unit of work. All the activities in the transaction are performed or none of them are • Consistent - the transaction always leaves the system in a consistent state • Isolated - data in intermediate states are hidden from all other activities • Durable - on success, the changes are persistent © 2012 Clear View Training Limited 161
  • 162. Transactions in BPMN SuccessIntroduction to BPMN 2 BPMN defines three possible outcomes for Cancel transactions Exception • Success - everything works as planned. Exits via a sequence flow when all paths have succeeded • Cancel - the transaction is cancelled. Exits via a cancel boundary event. All transaction activities are rolled back and compensated if possible • Exception - something has gone wrong! Exits on an error boundary event. No roll-back possible! © 2012 Clear View Training Limited 162
  • 163. Transactions - cancel events • Cancel events are only for use with transactions • The cancel end event can only be used within aIntroduction to BPMN 2 transaction • The cancel boundary event can only be attached to a transaction boundary Start Intermediate End Top Event sub- Event sub- Catching Boundary Boundary non- Throwing process process non- interrupting interrupting interrupting interrupting Catching semantics - Throwing semantics - wait for a cancellation then emit a token accept a token then throw a cancellation © 2012 Clear View Training Limited 163
  • 164. Transaction example • Throwing a cancel end event causes Ship Items to compensate, then exit via the catching cancel boundary eventIntroduction to BPMN 2 Success: Exit via sequence flow Cancel: Compensate then exit via cancel boundary event Exception: Exit via error boundary event © 2012 Clear View Training Limited 164
  • 165. Summary • Errors may be handled using a error events in throw/catch pairs • Escalations work the same way, but using escalation event throw/catch pairsIntroduction to BPMN 2 • Compensation involves undoing activities or processes that have already been completed • The activity or process is rolled back one activity at a time. Each activity is replaced by its compensation handler (if it has one) which executes • Transactions are all or nothing sub-processes that have ACID properties Success BPMN defines three possible outcomes for transactions Cancel Hazard © 2012 Clear View Training Limited 165
  • 166. What we have learned • Error handling - throw a named error using an error end event • Catch at same process level with error start event • Catch at higher process level with error boundary eventIntroduction to BPMN 2 • Escalation - escalate processing to a higher level of responsibility using escalation event pairs • Compensation - 5 steps 1. Detect need for compensation 2. Broadcast the compensation event 3. Roll back one completed activity at a time. 4. Catch the compensation event 5. Run the compensation handler • Transactions are ACID with 3 possible outcomes: 1. Success 2. Cancel 3. Exception © 2012 Clear View Training Limited 166
  • 167. Laboratory work • See the laboratory work at the end of Chapter 9 in the course bookIntroduction to BPMN 2 © 2012 Clear View Training Limited 167
  • 168. Introduction to BPMN 2 Conversations Chapter 10 of © 2012 Clear View Training Limited 168
  • 169. What is a conversation? • A conversation is a logical grouping of message flows that share a correlation (topic) • They allow you to create more abstract views of collaborations thatIntroduction to BPMN 2 focus entirely on the participants and the conversations between them • The example below shows a simple collaboration with two message flows, Get Stock Level and Stock Level • These message flows must be correlated on the Product Identifier • We can group them into a conversation as shown on the next slide These messages must be correlated on the Product Identifier © 2012 Clear View Training Limited 169
  • 170. Example conversation • Conversations are connected to pools via conversation links • The conversation link represents one or more message flows so it has the same constraints as a message Flow - it can only connect pools, activities andIntroduction to BPMN 2 message events and must cross pool boundaries. • A conversation is atomic within its collaboration i.e. it only contains message flows • We can also use non-atomic sub-conversations that can be hierarchically decomposed - see later Conversation link Pool Conversation © 2012 Clear View Training Limited 170
  • 171. 4 Types of conversation • BPMN 2 has 4 types of conversation • Note that the call conversations have thick borders!Introduction to BPMN 2 Conversations Syntax Name Semantics Conversation Represents group of semantically related message flows Sub-conversation A conversation that may be hierarchically decomposed into conversations/sub-conversations and message flows Call conversation – A call to a global (reusable, atomic) conversation defined elsewhere global conversation Call conversation – A call to a collaboration defined elsewhere collaboration © 2012 Clear View Training Limited 171
  • 172. What is a sub-conversation? • Just as we may break a sub-process down hierarchically into otherIntroduction to BPMN 2 sub-processes and tasks, so we may break a sub- conversation down into sub- conversations, conversations and message flows • The motivation is similar - to hide complexity by providing more abstract Let’s see what this looks like expanded views © 2012 Clear View Training Limited 172
  • 173. Expanded sub-conversation • A sub-conversation may contain conversations, sub-conversations, messages and (of course)Introduction to BPMN 2 participants represented by pools © 2012 Clear View Training Limited 173
  • 174. What is a call conversation? • Call conversations allow you to reuse collaborations in much the same way as youIntroduction to BPMN 2 might call a function in a programming language • There are two types of call conversation: • Call conversation - global conversation: this calls a restricted type of collaboration called a global conversation (see next slide) • Call conversation - collaboration: this calls a collaboration that must have at least two participants and one or more message flows between them © 2012 Clear View Training Limited 174
  • 175. What is a global conversation? • A global conversation is a restricted kind of collaboration that contains two or more participants,Introduction to BPMN 2 the message flows between them and nothing else • It is designed specifically for reuse • It may be called by a call conversation - global conversation (see next slide) © 2012 Clear View Training Limited 175
  • 176. Call conversation - global conversation • To call the Log On collaboration, we must replace the original participantsIntroduction to BPMN 2 Student plays the CRS plays the User role Syntax: Thick border System role Named instance of the Log On global conversation © 2012 Clear View Training Limited 176
  • 177. Call conversation - collaboration • The collaboration is not restricted and may contain conversations and flow objectsIntroduction to BPMN 2 Change Password collaboration Syntax: Thick Calls border with + © 2012 Clear View Training Limited 177
  • 178. What we have learned • There are four types of conversations: • Conversation: a group of semantically related message flows that share a correlationIntroduction to BPMN 2 • Sub-conversation: a conversation that may be hierarchically decomposed into conversations/sub-conversations and message flows • Call conversation – global conversation: a call to a global conversation defined elsewhere • Global conversation – a restricted collaboration that only contains pools and message flows • Call conversation – collaboration: a call to a collaboration defined elsewhere • Conversation link – represents one or more message flows © 2012 Clear View Training Limited 178
  • 179. Laboratory work • See the laboratory work at the end of Chapter 10 in the course bookIntroduction to BPMN 2 © 2012 Clear View Training Limited 179
  • 180. Introduction to BPMN 2 Choreographies Chapter 11 of © 2012 Clear View Training Limited 180
  • 181. What is a choreography? • A choreography is a compact representation of a Collaboration that focuses on the sequenceIntroduction to BPMN 2 of interactions between participants and (generally) hides process details • A choreography comprises choreography activities, events and gateways connected by sequence flows (see next slide) © 2012 Clear View Training Limited 181
  • 182. Example choreography • This looks like a process, except that the activities are replaced by choreography activities • There are also limitations on what events may be used (see later)Introduction to BPMN 2 • Each choreography activity represents an interaction between two or more participants Initiating participant Non-initiating participant Choreography activity © 2012 Clear View Training Limited 182
  • 183. What is a choreography activity? • A choreography activity represents a cohesive grouping of Messages (interaction) between two or more participants • There are 3 types of choreography activityIntroduction to BPMN 2 Syntax Semantics A cohesive grouping of messages sent between two or more participants that is atomic. The participant bands above and below the name are where participants are referenced (see later). A cohesive grouping of messages sent between two or more participants that may be hierarchically decomposed into other choreography activities. A call to an already defined choreography task or sub-choreography. Uses task syntax (shown) with thick border to call tasks, and sub-choreography syntax with thick border to call sub-choreographies. © 2012 Clear View Training Limited 183
  • 184. Choreography task • A representation of a sequence of message flows between two or more participantsIntroduction to BPMN 2 Non-initiating Participant band participant Express as choreography task Choreography task name Initiating participant Message Log On Choreography collaboration task © 2012 Clear View Training Limited 184
  • 185. Sub-choreography • A sub-choreography is a choreography activity that can be hierarchically decomposed into other choreography activitiesIntroduction to BPMN 2 Collapsed sub- choreography Expand Expanded sub- choreography © 2012 Clear View Training Limited 185
  • 186. Call choreography • The call choreography acts as a placeholder for the called elementsIntroduction to BPMN 2 • It has a thick border • Works very much the same way as call activities: • Action name - the name of this call choreography • Behavior name - the name of the called choreography activity Thick border Action name Behavior name © 2012 Clear View Training Limited 186
  • 187. Choreography example • When a Student logs on to the CRS (Course Registration System), they are presented withIntroduction to BPMN 2 option to maintain their account or to maintain their courses • If they select account, they are given the option to change their password • If they select courses, they are given the option to enrol in a course, un-enrol from a course or list the courses they are enrolled in • If they enrol or un-enrol then the Lecturer for the course is notified © 2012 Clear View Training Limited 187
  • 188. CRS top-level choreography • The Student begins the choreography by Logging OnIntroduction to BPMN 2 © 2012 Clear View Training Limited 188
  • 189. Maintain Courses sub-choreographyIntroduction to BPMN 2 © 2012 Clear View Training Limited 189
  • 190. Sub-choreography looping • Has the same looping semanticsIntroduction to BPMN 2 Syntax Semantics to activities The same sub-choreography instance executes repeatedly. The sub-choreography spawns multiple instances that execute in sequence. See activity Looping for more details The sub-choreography spawns multiple instances that execute in parallel. © 2012 Clear View Training Limited 190
  • 191. Events in choreographies • Some events are logically incompatible with choreographies e.g.Introduction to BPMN 2 • Message start, intermediate and end events are redundant - use choreography activities instead • Messages that are only visible to a single participant such as error, escalation, compensation start, intermediate and end events can’t be shown on choreographies • Boundary events are usually placed on a participant band to indicate the participant that receives the event • The signal boundary event must not be placed on a participant, because the signal broadcast to all participants, not any specific participant © 2012 Clear View Training Limited 191
  • 192. Basic and Core events • Here are the Basic and Core eventsIntroduction to BPMN 2 Basic and core events that may be used in choreographies Trigger Start Intermediate End Name Top Catching Boundary Boundary non- Throwing interrupting interrupting None Message The sender must be one of the other participants Signal Signals must not be Timer placed on participants! Conditional © 2012 Clear View Training Limited 192
  • 193. Advanced Events • Here are the Advanced Events • Note: Terminate Event only applies to the participants in the choreography activity that Triggers it - avoidIntroduction to BPMN 2 Advanced events that may be used in choreographies Trigger Start Intermediate End Name Top Catching Boundary Boundary non- Throwing interrupting interrupting Cancel Compensation Link Terminate Multiple © 2012 Clear View Training Limited 193
  • 194. Gateways in choreographies • All of the 5 gateways can be used with choreographies - exclusive, parallel, eventIntroduction to BPMN 2 based, inclusive and complex • Conditions used by the gateway can only refer to data previously exchanged in a message - the choreography has no other way to access data • Because they are now no longer branching within a single participant, but rather are branching across participants they can give rise to quite complex semantics - see example on next slide... © 2012 Clear View Training Limited 194
  • 195. Simple exclusive gateway example • It doesn’t get much simpler than this: • 3 choreography tasks, CT1, CT2, CT3Introduction to BPMN 2 • 1 exclusive gateway • 3 participants PA, PB, PC Let’s see what this looks like as a collaboration! © 2012 Clear View Training Limited 195
  • 196. As a collaboration... • You can see that this gets complex quite quickly!Introduction to BPMN 2 We have used groups to indicate the choreography task boundaries © 2012 Clear View Training Limited 196
  • 197. Choreographies in context • There is a very close link between choreographies, conversations, collaborations and processes • As well as providing different tools that are suited to differentIntroduction to BPMN 2 modeling tasks, they can be arranged into an abstraction hierarchy Choreography Chunk conversations into choreography activities Chunk message Conversation Abstraction flows into choreography activities Chunk message flows into conversations Collaboration Hide process details Process © 2012 Clear View Training Limited 197
  • 198. Summary • Choreographies give you a useful way to model a sequence of interactions between two orIntroduction to BPMN 2 more participants • A choreography comprises a sequence of choreography activities, events and gateways connected by sequence flows • There are 3 types of choreography activity: • Choreography task • Sub-choreography • Call choreography © 2012 Clear View Training Limited 198
  • 199. Laboratory work • See the laboratory work at the end of Chapter 10 in the course bookIntroduction to BPMN 2 © 2012 Clear View Training Limited 199
  • 200. Introduction to BPMN 2 Course summary © 2012 Clear View Training Limited 200
  • 201. What we have learned... • We have covered all major aspects of BPMN 2 • We have applied BPMN in the exercises andIntroduction to BPMN 2 laboratory work © 2012 Clear View Training Limited 201
  • 202. Finally... • We hope you enjoyed the course, and that weIntroduction to BPMN 2 will see you again soon! Bye! © 2012 Clear View Training Limited 202