Business Process Modelling -10.2/2013 - Marcello La Rosa Queensland University of Technology Brisbane, 26 September 2013 Quick Repeat from Week 9 • How can we compensate for the effects of an activity? • How can we perform routines in parallel to a process? • What is an alternative notation to boundary events? © INB/INN320 10.2/2013 – 26 September 2013 BPMN Modelling - Choreography diagrams - BPMN 2.0 model types © INB/INN320 10.2/2013 – 26 September 2013 Choreography Diagram Customer Focuses on the interactions among two or more participants. Order Cancelation Request for Quote Order Cancelation Ack Quote Order Confirmation Manufacturer Invoice © INB/INN320 10.2/2013 – 26 September 2013 Payment Customer Choreography Diagram (cont’ed) Order Cancelation Cancel Order Request for Quote Order Cancelation Ack Get Quote Place Order Quote Manufacturer Interactions can be explicitly captured © INB/INN320 10.2/2013 – 26 September 2013 Order Confirmation Confirm Order Payment Pay for Order Invoice Choreography Diagram (cont’ed) Pools can be dropped Order Cancelation Customer Cancel Order Request for Quote Order Customer Customer Get Quote Place Order Manufacturer Manufacturer Quote Manufactuer Cancelation Ack Order Confirmation Payment Customer Customer Confirm Order Pay for Order Manufactuer Manufacturer Invoice © INB/INN320 10.2/2013 – 26 September 2013 Choreography Process model of the interactions taking place between two or more business parties • Focuses on message exchange between parties • Acts as a contract between parties • Can be refined into private processes or into a collaboration diagram © INB/INN320 10.2/2013 – 26 September 2013 Choreography Task • Atomic activity • Represents an interaction between two business parties • Either one-way (asynchronous) or two-way (synchronous) • Distinction between initiating and receiving party Initiator Choreography Task Name Recipient © INB/INN320 10.2/2013 – 26 September 2013 Choreography Task • Band of initiating party unfilled • Message icons optional Choreography Task Collaboration View Customer Customer Car Evaluate cost estimation Handover car Estimate of costs Cost estimate Car Cost estimate © INB/INN320 10.2/2013 – 26 September 2013 Garage Garage Evaluate damage ... ... Basic Choreography Elements Sequence flow – Connects and orders choreography tasks, events and gateways Events – Most process events allowed. No non-interrupting events Gateways – All process gateways allowed: Exclusive, Inclusive, Parallel and Eventbased gateways Annotation © INB/INN320 10.2/2013 – 26 September 2013 Text annotations, groups – No restrictions on their use Choreography Sequencing Constraints The initiator of a Choreography Activity must have been involved in the previous Activity (excluding first activity) Why?! Business Process Model and Notation, Page 338 OMG Document Number: formal/2011-01-03 January 2011 © INB/INN320 10.2/2013 – 26 September 2013 Choreography Sequencing Constraints Business Process Model and Notation, Page 339 OMG Document Number: formal/2011-01-03 January 2011 © INB/INN320 10.2/2013 – 26 September 2013 Example: Choreography of an auction A Seller sends information about an item he wants to sell to an auction Provider. The Provider publishes the auction by offering the item to the Bidder. Once the auction has started the Bidder may place an offer. In case the item is sold the auction Provider finalises the purchase with the Buyer, otherwise he notifies the Seller that his item has not been sold. © INB/INN320 10.2/2013 – 26 September 2013 Solution: Choreography of an auction Initiator must be the party that took the decision Item sold Seller Bidder Bidder Compile auction Offer item Place offer Auction Provider Auction Provider Auction Provider © INB/INN320 10.2/2013 – 26 September 2013 Finalize purchase Auction Provider Seller Item not sold Decision needs to be taken by preceding interaction, based on available data Buyer Notify of unsold item Auction Provider Choreography Task – Internal Markers Only one of the loop or multi-instance applicable © INB/INN320 10.2/2013 – 26 September 2013 Multi-instance Party A Choreography Task Choreography Task Party B Party B Send Message Receive Message Party A Party A Party B Party B Party A Loop Send Message Receive Message Choreography Task Multi-instance Party marker Party A • Parties may be multi-instance • E.g. customers or shippers Send Message Party A Choreography Task Party B Party B © INB/INN320 10.2/2013 – 26 September 2013 Receive Message Example: Choreography of an auction Where can we use the MI party in the auction example? Buyer Buyer Item Item sold sold Seller Seller Bidder Bidder Bidder Bidder Compile auction Compile auction Offeritem item Offer Place offer offer Place Auction Provider Auction Provider AuctionProvider Provider Auction Auction Provider Provider Auction Finalizepurchase purchase Finalize AuctionProvider Provider Auction Seller Seller Item Item not not sold sold Notify Notifyofofunsold unsold item item Auction AuctionProvider Provider © INB/INN320 10.2/2013 – 26 September 2013 Sub-Choreography • Compound activity of a choreography • Involves at least two business parties • Loop, MI activity and MI party markers are applicable Party C Party B Party C Party B Choreography SubProcess Name Party A Choreography Sub-Process Name Party B Party C Choreography Task Name X Choreography Task Name Y Party A Party B Party A © INB/INN320 10.2/2013 – 26 September 2013 What is this choreography doing? The interactions following an eventbased split must have the same receiver All parties involved in the interactions following the split must be involved in the interaction preceding the split, to be aware of the timer © INB/INN320 10.2/2013 – 26 September 2013 Example: Choreography Use this diagram as a template to build the corresponding collaboration diagram © INB/INN320 10.2/2013 – 26 September 2013 Solution © INB/INN320 10.2/2013 – 26 September 2013 So, what’s the difference between Collaboration and Choreography diagrams? References Required • Section 4.7 of Chapter 4 of textbook “Fundamentals of BPM” Recommended • OMG (2011): BPMN 2.0 Specification • BPM Offensive (2011): BPMN 2.0 Poster • OGM (2010): BPMN 2.0 By Example Web References • OMG BPM Initiative • BPMN Community Books on BPMN • Silver B. (2011): “BPMN Method & Style” 2nd Edition, Cody-Cassidy © INB/INN320 10.2/2013 – 26 September 2013 A/Prof. Marcello La Rosa IS School Academic Director (Corporate Programs and Partnerships) BPM Discipline, IS School Science & Engineering Faculty Queensland University of Technology 126 Margaret Street Brisbane QLD 4000 Australia p +61 (0)7 3138-9482 e m.larosa@qut.edu.au w www.marcellolarosa.com © INB/INN320 10.2/2013 – 26 September 2013