PV207 – Business Process Management Spring 2021 Jiří Kolář, Lubomír Dočkal, Lubomír Hruban Process modeling II Lecture overview ● From L1 to L2 ● L2: timing precision ● BPMN 2.0 Level 2: ○ Subprocess ○ Activity call ○ Events ■ Messages ■ Signals ■ Errors ■ Escalations ○ Gateways ○ BPMN 2.0 summary BPMN 2.0: from L1 to L2 ● Level 1 ○ Flowcharting ○ Business experts <=> analysts/developers ○ The goal is to express simple activity sequences ○ Minimum of nesting and interprocess interactions ○ Simple events only ● Level 2 ○ Analytical BPMN model ○ Process analysts <=> Process developers ○ Precise activity execution timing ○ Subprocess nesting and interprocess interactions ○ Events and signals, exception handling Level 2: timing precision ● Each activity has exact start and completion ● Service task ○ Starts immediately when reached ○ Being performed immediately and completed ● User task ○ Starts immediately when reached ○ Being performed once user open it in a ”worklist” = task “claim” Level 2: timing precision example Subprocess vs Call activity ● Subprocess ○ Expandable (nested) part of the process ○ Defined inside process ○ Nested for better readability ● Activity call ○ Call of global task or process ○ Defined as a separate process, then imported ○ Reusable in other processes Event types: Basic types ● Start events ○ Event initiate process/subprocess ○ One (or more in very special cases) ○ Always catching ● Intermediate events ○ Occur during process ○ Can be throwing or catching ● End events ○ Occur at the end of process flow ○ Always throwing ○ End affect only one branch (except Terminate) Event types - Examples EventsDownloaded from: http://frapu.de/blog/index.php?m=07&y=09&d=01&entry=entry090701-211320 Event types: Catching vs. Throwing ● Throwing ○ Emits the event ○ Flow continues immediately ● Catching ○ Catch the event ○ Flow waits for the event picture source: http://www.activiti.org/userguide/, http://mainthing.ru/wp-content/uploads/2010/11/message-e.png Event types: Interrupting vs non-interrupting picture source: http://www.processmodeling.info/posts/highlights-from-bpmn-2-0-non-interrupting-events/ ● Interrupting ○ Standard process flow is interrupted ○ Flow is directed through the event ● Non-interrupting ○ Standard flow continues normally ○ Parallel flow is directed through the event Event types: Interrupting vs non-interrupting picture source: http://processpedia.com.au/community/wp-content/uploads/Order-Procurement-Process-Map-Example.png ● Message represents a message send by external entity ~ Pool ○ Messaging is for interprocess communication ○ Inside the process use sequence flow instead ● Message does not have to be JMS, SOAP etc. but it can be fax, mail, SMS etc. ● A Message can be received and start process ● A message can occur as intermediate event ● A message can be sent at the end of process Event semantics: Messages Event semantics: Message - examples Event semantics: Signals ● Signal is similar to message, except ○ Is not addressed to any particular consumer ○ Entity producing signal does not “care” who is listening ○ Many instances of the same process can consume it ○ Good for loosely coupled communication ○ Signals are used often inside one process, messages not Event semantics: Timer ● Cyclic events ● Points in time ● Timeouts ● Handling unusual but expected behaviour ○ Corrective actions (interrupting) ○ Additional steps to be done in parallel (non-interrupting) Event semantics: Escalations picture source: http://processpedia.com.au/community/wp-content/uploads/Order-Procurement-Process-Map-Example.png Event semantics: Errors ● Used for serious problem in process ● Throw - catch mechanism ○ Always interrupting ○ Always boundary event ● There should be some error handling actions picture source: http://www.activiti.org/userguide/, http://mainthing.ru/wp-content/uploads/2010/11/message-e.png Event-based gateway ● Event-based gateway ○ Branching based on event, only one triggered ○ Different semantics – branched according to event that is placed after the gateway Multi-instance and Loop activity ● Multi-instance ○ Shortcut for a number (dynamically defined) of the same activities that run in parallel or in series. ● Loop ○ Shortcut for a repeating one activity until a condition is met. What is in not covered here ● Transactional events ○ Compensations ○ Cancellations events ○ Rollbacks ● Other diagrams covered in BPMN 2.0 specs ○ Choreography diagrams ○ Conversation diagrams FIN Questions? PV207 – Business Process Management Spring 2021 Jiří Kolář, Lubomír Dočkal