business management process management process modeling bpmn presentations

BPMN 2.0 Introduction

Description

BPMN 2.0
Introduction
Business Process Modeling Notation

Transcript

This presentation gives an overview of the BPMN 2.0 elements and how the standard can be used for business process modeling. Please run these slides in presentation mode. They contain several animations for a better understanding! BPMN 2.0 Introduction Business Process Modeling Notation from Version 2.0: Business Process Model and NotationATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Agenda  Basic Terms  Gateways  Lanes  Events  Additional Tasks  Sub Processes  Pools  ArtifactsATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA BPMN Basic Elements Flow objects Connectors Artifacts Task Sequence Flow Data Object Event Message Flow Group Gateway Association Annotation/ Association Text Lane Lane Participant PoolATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Important Terms Process Model Description of Process Prozess Instance Initiated Process Token ≠ Document (virtual) Object(s) routed on one or more path through the model Correlation Assignment of a process instance on base of a unique key (UUID)ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA A first Process Appetite Meal ready Appetite realized satisfied Meal Buying Food Eating Meal cooking Start Event Task Sequence- Interim Event End Event (Blank) flow (Blank) (Blank) Appetite Object Food Object realized Passive Verb buying Verb Event TaskATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Agenda - Gateways  Basic Terms  Gateways  Lanes  Events  Additional Tasks  Sub Processes  Pools  ArtifactsATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Exclusive (XOR-)Gateway Appetite Requested realized Recipe? Pasta Looking for Recipe X Pasta Pasta Cooking cooked Steak Steak Steak Roasting Roasted Salad Salad Salad Data based Preparing Prepared Exclusive Gateway (branching) XOR-Split X = A Gateway is no TaskATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Exclusive (XOR-)Gateway Merging Appetite Requested Appetite realized Recipe? satisfied Looking Pasta for Recipe Preparing Salad X Cooking Pasta X Eating Meal 20 min Steak Roasting Steak 10 min Data based Annotation Exclusive Gateway (merging) XOR-Join Gateway-Joins are optional!ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Parallel Gateway AND-Split & AND-Join Appetite Requested Appetite realized Recipe? satisfied Pasta Looking for Recipe + X Cooking Pasta X + Eating Meal Steak Roasting Steak Salad Preparing Salad Parallel Gateway Parallel Gateway (synchronizing) (parallizing)ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Understanding the Token 1/3 When does the token finishing? At this position the engine Appetite Requested does not wait for the Appetite realized Recipe? second token satisfied Pasta Looking for Recipe + X Cooking Pasta X Êating Meal 20 min 5 min 15 min 30 min Steak Roasting Steak 35 min 15 min Salad Preparing Salad 10 minATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Understanding the Token 2/3 correct modelAppetite Requested Appetiterealized Recipe? satisfied Pasta Looking for Recipe + X Cooking Pasta X + Eating Meal 20 min 5 min 15 min Steak Roasting Steak 35 min 15 min Salad Preparing Salad 10 min ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Understanding the Token 3/3 When does the token finishing? Task Started Task 1 finished + Task 1 Editing Task 1 10 min Task 2 finished 10 min Task 2 Editing Task 2 15 min 15 minATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Data Based Inclusive Gateway OR-Split & OR-Join 1/4 We want: - Only one salad or - One salad and „something substantial“ like pasta or steak or - Only „something substantial“ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Data Based Inclusive Gateway OR-Split & OR-Join 2/4 Appetite Requested Requested Appetite realized Variant Recipe? satisfied Looking Pasta for Recipe O X Cooking Pasta X O Eating Meal Something 20 min 5 min Substantial 15 min Steak Roasting Steak 15 min Salad Preparing Data based Salad Data based inclusive Gateway inclusive Gateway (parallelizing 10 min (synchronising) OR-Split = and - or - Situation one, several or all pathsATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Data Based Inclusive Gateway OR-Split & OR-Join 3/4 Appetite Requested Requested Appetite realized Variation Recipe? satisfied Looking Pasta for Recipe O X Cooking Pasta X O Eating Meal Something 20 min 5 min Substantial 15 min Steak Roasting Steak 35 min 15 min Salad Preparing Salad 10 minATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Data Based Inclusive Gateway OR-Split & OR-Join 4/4 Appetite Requested Appetite realized Recipe? satisfied Pasta Looking for Recipe O Cooking Pasta O Eating Meal 20 min 5 min 15 min Eating at home Appetite Salad Not satisfied tastefull? Salad Preparing Salad X Eating external 10 min Two possible tokens and ends!ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Standard Flow What happens if you neither want to eat pasta nor steak? Deadlock – the token stops at a undefined position => „Other“-Tasks to model or: Appetite Requested Appetite realized Menue satisfied Pasta Looking for recipe X Cooking Pasta X Eating Meal Steak Roasting Steak Pizza Ordering PizzaATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA BPMN Rules & Etiquette  BPMN does not specify what happens if no ending path is being executed  There are no implicit sequence flows allowed => all sequence flows must be modeled  Use a standard flow if there is a danger of a dead lockATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Complex Gateway 1/3 Exercise: We want to order pizza and are evaluating available menus and internet offers. As soon as one taks is finished we want to order!ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Complex Gateway 2/3 Reading Appetite menu Appetite realized satisfied + + Ordering Pizza Eating Meal Researching Internet Offer Reading Appetite menu Appetite realized satisfied + X Ordering Pizza Eating Meal Researching Internet Offer Reading Appetite menu Appetite realized satisfied + O Ordering Pizza Eating Meal Researching Internet OfferATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Complex Gateway 3/3 Reading Appetite menu Appetite realized satisfied + I X Ordering Eating I Pizza Meal Researching Internet Offer If several tokens are arriving at a complex gateway, the gateway will wait for a predefined number of tokens before the merged token will be routed to next task. (the number of tokens will be specified by a comment assigned to the complex gateway)ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Combination of Gateways Appetite Appetite realized satisfied Looking for recipe + Preparing Salad + Eating Meal X Chinese Meal X Ordering Chinese Meal Pizza Ordering PizzaATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Return Jump with Gateways Appetite Appetite realized satisfied Looking for recipe + Preparing Salad + Eating Meal ok Reorder X X Pizza Ordering PizzaATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Conditional Flow Appetite Cooking Appetite realized Pasta satisfied Pasta? Looking for Eating Meal Recipe Steak? Roasting Steak 1. Without Join-Gateway it is not possible to model a synchronization! 2. Reduced possibilities for condition checks 3. Conditional flows following the semantic of OR-SplitsATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Agenda - Lanes  Basic Terms  Gateways  Lanes  Events  Additional Tasks  Sub Processes  Pools  ArtifactsATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Pools & Lanes Lanes Appetite Requested Dish Appetite flat-sharing community realized satisfied Arno Pasta Looking for recipe X Cooking Pasta X Eating Meal Nadja Steak Roasting Steak Pool Only Arno will eat pasta or steak!ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Pools & Lanes - Correct Appetite Requested Dish Appetite flat-sharing community realized satisfied Arno Pasta Looking for recipe X Cooking Pasta X Eating Meal Appetite satisfied Nadja Eating Steak Roasting Meal Steak Pool Both will eat pasta or steak – but Arno will decide!ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Pools & Lanes Variants Start Lane 1 detected Task 1 End detected Lane 2 Task 2 Pool 1 End detected Lane 3.1 Lane 3.2 Task 3 Lane 3 End detected Task 4ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Agenda - Events  Basic Terms  Gateways  Lanes  Events  Additional Tasks  Sub Processes  Pools  ArtifactsATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Events Catching Events eingetretene EreignisseATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Interrupting / Resuming Catching Events Interrupting Throwing Events ResumingATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Events & Correlation wrong End Start variant 1 detected detected Task 2 End detected + Task 1 Task 3 Start variant 2 detected End detected Task 4 Two start events are throwing two different process universal ids = two process instancesATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Events & Correlation correct End detected Task 2 Start Event 2 End detected detected Task 1 ? Task 3 End detected Task 4ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Event Sequences Start End Event 2 Event 3 detected detected Task 1 ? ? Task 2 Events must be proceed one after the other End Start ? detected detected Event 1 Task 1 + + Task 2 Event 2 ? AND-Join-Gateway waits for both EventsATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Interrupting Task Execution interrupting boundary intermediate event Start End detected detected Task 1 Task 2 ? End Event 1 detected Task 3 Task 1 will be interrupted, if event 1 appears. Attention: Only during execution of a task!ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Execution of a new Task/Token None interrupting boundary event Start Ende deteted deteted Task 1 Task 2 Ende Event 1 deteted Task 3 Task 1 will be continued if event 1 appears. Task 3 will be executed parallel to task 2 For each new appeared event 1 a separate UUID (Token) will be created.ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Start Events Top Level Sub process Sub process non- interrupting interrupting Blank Receive Message Timer Escalation Condition Error Compensation Signal Multiple (one from many) Multiple / ParallelATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Intermediate Catching Events Catch Occurred Attached Attached non interrupting interrupting Receive message Timer Escalation condition Link Error Cancel Compensation Signal Multiple Multiple / ParallelATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Throwing Events Throw Intermediate End Blank Send Message Escalation Link Error Cancel Compensation Signal Multiple TerminateATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Message Intermediate Events Appetite Appetite Pizza Ordered Pizza delivered realized satisfied Looking for Eating Pizza Pizza Appetite With the following process two pizzas would be ordered! Appetite realized Pizza ordered Pizza delivered satisfied Looking for Ordering Eating Pizza Pizza Pizza Messages will be sent to none pool members (BPMN rule) The recipient must be known! => Message events regard on messages, which the process receives from externals.ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Timer Events  In Intervalls  Regularly at defined time  In time relation to a specific event  Once at defined timeATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Specific Timer Events Monday – Friday Arrived at at 7:00 07:45 Office Leaving Eating Driving bed cornflakes underground Every two 10 min tea hours break Reading Reading documents Mails … 6 months before 1 day before vacations vacations Looking for Booking Packing hotel hotel suitcase … 14.6. 14:00 Uhr 14.6. 9:00 clock Sending Eating ice with Buying ice invitations colleagues …ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Error-Events - only! termination Appetite Appetite realized satisfied Baking Setting Eating Pizza table Meal Pizza Pizza erhalten charred Ordering pizzaATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Conditional-Events Pizza Frozen Pizza eaten requested Inserting Removing Éating Switching Pizza into Pizza Pizza on Oven Oven Oven 180° Waiting 20 min The condition of an occured event must be completely independent from the actual proces!ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Signal-Events Pizza-TV-Spot Pizza rated on seen pizzatest.de Inserting Removing Eating Buying Pizza into Pizza Pizza Pizza Oven hungry 20 min waited Messages have a recipient – Signals not! Anybody who receives a signal can decide whether he wants to act or not!ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Link-Events Start realized Task 1 A Ende realized Task 2 AATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Compensations-Event - (Transactions) Friday Friday 1 pm Still Wish? 6 pm Organizing ja Carrying out Evening Reserving Tickets X X Activity nein End realized Cinema Canceling Requested Cinema Activity? X Friends Arrange meeting with Cancel Activity friends End realized Watching Canceling TV FriendsATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Effect of Compensation  The started task takes effect only inside the actual pool  Only if task of attached compensation was carried out  The link to the compensation task must be an association (pointed line)  Compensation task is a „specific task“ (see following slide)ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Multiple Event Buying Eating Pizza Pizza Pizza-Spot Getting hungry Pizza rated seen Pizza-Spot seen Buying Pizza = Eating Pizza Pizza rated Getting hungry Sent Get recommendation recommendationATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Multiple Event – Effect  Catching Event: there must be one event active (caught)  Throwing Event: all included events must be thrown not very useful but helpful for a better overviewATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Cancel Event (only sub processes) Organize Journey Arranging Booking Booking Request Visit Flight Hotel Vacations Journey Request Booked Denied Hotel Booked out Booking Journey other Hotel Canceled Canceling Canceling Canceling Visit Flight Hotel All Hotels booked out Cancel Organizing JourneyATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Event Based Gateway Appetite Appetite realized Pizza received satisfied Ordering Eating Pizza Pizza 60 min Calling Pizzaria again Pizza received XOR-Semantic One of the following events will be carried out, the other will be destroyed!ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Agenda – Specific Tasks  Basic Terms  Gateways  Lanes  Events  Additional Tasks  Sub Processes  Pools  ArtifactsATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Additional Tasks – Types 1/3 General Send Service Receive Manual Script User Rule Reference – Call not allowed anymoreATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Specific Tasks – Types 2/3 General Service Automatically proceed by the engine / use of a Web Service Manual by a user – explicite not by support of a software system User caused by the process engine – edited and completed by a userATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Specific Tasks – Types 3/3 Send technical – for asynchrony communication Receive technical – for asynchrony communication Script software code proceed by engine Rule routing by business rules Call references a global task It is possible to define company specific tasks!ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Specific Tasks – Annotations 1/3 Loops Appetite 1 am satisfied Suggesting Cooking Meal Meal … Until all agree Agree all? Appetite 1 am satisfied Suggesting yes X Meal X … no 1 am Appetite Agree all? satisfied Suggesting yes Meal X … noATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Specific Task – Annotation 2/3 Multiple Task Appetite 1 am satisfied Looking for Cooking Meal Meal … All interested With a multiple task it is possible to parallize tasks dynamically. This task will initialized multiple and proceed sequential or parallel!ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Specific Tasks - Annotation 3/3 Compensation Appetite 1 am satisfied Inviting for Preparing Meeting Meeting … Canceling Meeting (to anybody)ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Agenda – Sub Processes  Basic Terms  Gateways  Lanes  Events  Additional Tasks  Sub Processes  Pools  ArtifactsATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Sub Processes Appetite 1 am satisfied Task Sub Process + … Sub Process Appetite satisfied Task 2 Task 3 There are embedded, reusable and referenced sub processes. BPMN 2.0 only knows embedded sub processes. They are embedded in a pool or lane and have a blank start event.ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Sub Process – Attached Events Appetite 1 am satisfied Looking for Cooking Recipe Meal + … Oven demaged Eating external • Cancel at message, time and conditional events, if sub process has to react on external activity! • At errors, cancelations and escalations messages will be transferred to the main process. • It is possible to use multiple intermediate events.ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Sub Process - Annotation Semantic identical to Sub Process Sub Process Sub Process annotations of tasks. + + + The annotation „Adhoc“ => ~ is only at sub processes allowed Journey planning Turning off Updating 1 am Semantic: All, Radiator Voice Mail any or only one … is possible. The decision is Watering Paking taken by the Plants Suitcase user. ~ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Event - Sub Processes Preparing Meal Looking for Cooking Eating Inviting Recipe Meal Meal Friends Inviting Additional Guest Taking into Account another Guest Friend invites someone Getting Meal External Ordering Meal Oven demagedATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Event - Sub Processes Collapsed Preparing Meal Looking for Cooking Eating Recipe Meal Meal Inviting Friend Inviting Getting Meal Additional Guest External + +ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Agenda - Pools  Basic Terms  Gateways  Lanes  Events  Additional Tasks  Sub Processes  Pools  ArtifactsATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Pools Message Flows - ALLOWEDATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Pools Message Flows – NOT ALLOWED X - Events with message flows, which are not the type message. - Or generally spoken: Gateways with Message FlowsATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Pool Example Pizzaria Cook Baking Pizza La Mama Pizzaria Order Receipted Pizza invoiced Carrier Delivering Cashing Pizza Pizza Appetite Appetite realized satisfied Pizza Ordering received Eating Customer Pizza Pizza Chris Hill 60 min Asking at Pizzaria again Pizza receivedATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Pool Example Pizzaria Cook Baking Pizza La Mama Pizzaria Order Receipted Pizza invoiced Carrier Delivering Cashing Pizza Pizza Appetite Appetite realized satisfied Pizza Ordering Paying received Eating Customer Pizza Pizza Pizza Chris Hill 60 min Asking at Pizzaria again Pizza receivedATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Pool Collapsed Pizza Selling La Mama Appetite Appetite realized satisfied Pizza Ordering Paying received Eating Customer Pizza Pizza Pizza Chris Hill 60 min Asking at Pizzaria again Pizza receivedATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Pools Collapsed Pizza Selling La Mama Order Asking Again Delivering Paying Cashing Pizza OrderingATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Multiple Instances Pools Customer Received finished Order Getting Selecting Pizza Ordering Offer Offer fakturiert Product SupplierATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Agenda - Artifacts  Basic Terms  Gateways  Lanes  Events  Additional Tasks  Sub Processes  Pools  ArtifactsATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Artifacts and Associations Data 1 Status A Data 1 Status B Data 2 Ordering Task 1 Task 2 Product Input Status A Output • Additional symbols available Liste • Combination possible Datenablage • Own symbols allowedATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA END BPMN Poster: http://www.bpmb.de/images/BPMN2_0_Poster_EN.pdfATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Contact: Bjoern.Reinhold@de.GBS.com PAVONE Ltd, UK School House, Hackforth BEDALE, N. Yorks. DL8 1PE United Kingdom Phone: +44 (0) 1748 811527 E-Mail: info@pavone.com PAVONE AG Technologiepark 9 33100 Paderborn Phone: +49 52 51 / 31 02-0 Fax: +49 52 51 / 31 02-99 E-Mail: info@pavone.de PAVONE AG in Böblingen Herrenberger Str. 122 For more information please visit our 71034 Böblingen homepage http://www.pavone.com Phone: +49 7031 / 4997 10 Fax: +49 70 31 / 4997 97 E-Mail: info@pavone.deATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Catching Events Throwing Events X I X I~ATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA Ein Prozess Fluss-Objekte Verbindende Objekte Artefakte Text Teilnehme r Lan e Pool Lan eATLANTA ▪ BOSTON ▪ COPENHAGEN ▪ DRESDEN ▪ FRANKFURT ▪ KARLSRUHE ▪ LONDON ▪ LÜBECK ▪ MANCHESTER ▪ NEW YORK ▪ PADERBORN ▪ TORONTO ▪ VARNA