OCEB2F 06 Business Process Modeling Skills

From Training Material
Jump to navigation Jump to search

Module 6. Business Process Modeling Skills⌘

Advanced Events⌘

Terminate Event⌘

  • This type of End indicates that all Activities in the Process should be immediately ended.
  • This includes all instances of multi-instances.
  • The Process is ended without compensation or event handling.
  • Terminate end event in a sub-process ends only that sub-process (without ending parent process).

Timer Events ⌘

  • Expresses a time gap in processing or a wait for a period of time.
  • Start Timer – start on specific date (Monday at 9am, etc..) or a specific cycle (e.g., every Monday at 9am)
  • Intermediate Timer - a specific time-date or a specific cycle (e.g., every Monday at 9am)
  • If used in the main flow it acts as a delay mechanism
Timer Start Event⌘

  • Starts the Process on specific date (Monday at 9am, etc..) or a specific cycle (e.g., every Monday at 9am)
Timer Example 1⌘

Intermediate Boundary Events⌘

The process waits for a certain action to happen

  • Can be attached to the boundary of an activity
    • Message (arrives from a participant and triggers the Event)
    • Timer (absolute date or cycle – e.g. Every Monday at 9 am) which tigers the event
    • Error (only boundary of the activity)
    • Signal (send to everyone)
Timer Example 2⌘

Interrupting vs. Non-Interrupting⌘

Signal Events⌘

  • A Signal is for general communication within and across Process levels, across Pools, and between Business Process Diagrams.
  • A BPMN Signal is similar to a signal flare that shot into the sky for anyone who might be interested to notice and then react. Thus, there is a source of the Signal, but no specific intended target.
Signal Event Example 1⌘

Signal Event Example 2⌘

Conditional Events ⌘

  • Is triggered when a condition such as "Temperature above 20°C" become true.

  • A Link is a mechanism for connecting two sections of a Process.
  • Link Events can be used to avoid long Sequence Flow lines.
  • The use of Link Events is limited to a single Process level (i.e., they cannot link a parent Process with a Sub-Process or one pool to another pool).
  • There can be multiple source Link Events, but there can only be one target Link Event.
  • Link event must have name

Error Events⌘

  • An Error is generated when there is a critical problem in the processing of an Activity or when the execution of an Operation failed
  • An Error indicates that a named Error should be generated.
  • 3 types of error events:
    • Start Event Sub-Process Interrupting
    • Intermediate Boundary Interrupting
    • End
  • Process can't wait for an error or rise an error in itermediate event (only in Boundary Intermediate)
  • Process can't be instantiated using error event (only in Event Sub-Process)
Error Events Example 1⌘

Error Events Example 2⌘

Error Events Example 3⌘

Escalation Events⌘

  • An Escalation identifies a business situation that a Process might need to react to.
  • In contrast to an Error, an Escalation by default is assumed to not abort the Activity to which the boundary Event is attached.
Escalation Example⌘

Task and Subprocesses⌘

  • Task
    • A rounded rectangle (AKA roundtangle) showing the finest or atomic process step. It cannot be broken down to a finer level.
  • Subprocess (collapsed)
    • A roundtangle that can contain a series of other steps
  • Subprocess (expanded)
    • Shows all the subprocess activities
    • May contain "-" sign

Subprocesses⌘

  • A Sub-process is a compound activity in that it has detail that is defined as a flow of other activities
  • Expanded sub-process may be used as a mechanism for showing a group of parallel activities in more compact way
  • Expanded sub-process does not need to include Start Event or an End Event and the sequence flow to/from these Events

Subprocess Markers⌘

Ad-Hoc⌘

  • Ad-Hoc Sub-Process contains a number of embedded inner activities and is intended to be executed with a more flexible ordering compared to the typical routing of processes
  • It is possible to specify sequence flows between some of the contained activities.
Compensation⌘

  • Compensation is concerned with undoing steps that were already successfully completed, because their results and possibly side effects are no longer desired and need to be reversed.
  • If an Activity is still active, it cannot be compensated, but rather needs to be canceled.
  • Compensation is performed by a compensation handler. A compensation handler performs the steps necessary to reverse the effects of an Activity.

Types of Tasks ⌘

Receive Task ⌘

  • Waits for a Message to arrive from an external Participant
  • Once the Message has been received, the Task is completed

  • Starts the process
  • MUST NOT have any incoming Sequence Flow
  • Instantiate attribute MUST be set to true

Send Task ⌘

  • Sends a Message to an external Participant.
  • Once the Message has been sent, the Task is completed.

Service Task ⌘

  • uses some sort of service, which could be a Web service or an automated application.

User Task ⌘

  • A typical “workflow” Task where a human performer performs the Task with the assistance of a software application
  • Examples:
    • Phone operator updates customer record
    • User changes his password

Manual Task ⌘

  • Is expected to be performed without the aid of any business process execution engine or any application
  • Example:
    • A telephone technician installing a telephone at a customer location

Business Rule Task ⌘

  • Provides a mechanism for the Process to provide input to a Business Rules Engine and to get the output of calculations that the Business Rules Engine might provide

Script Task ⌘

  • Is executed by a business process engine
  • The modeler or implementer defines a script in a language that the engine can interpret
  • When the Task is ready to start, the engine will execute the script
  • When the script is completed, the Task will also be completed.

Loops and multi-instance⌘

Standard Loop ⌘

  • The Activity will loop as long as the boolean loopCondition is true
  • The condition is evaluated for every loop iteration, and MAY be evaluated at the beginning or at the end of the iteration (testBefore = true lub testBefore = false)
  • In addition, a numeric cap can be optionally specified - loopMaximum
  • Loop activity instances are sequentially executed - one after another.
  • Loop Activity is similar to DO WHILE loop.

Multi-Instance Activity⌘

Multi-Instance parallel

Multi-Instance sequential

  • The instances MAY execute in parallel or MAY be sequential.
  • Multi-Instance Activites are used with collection of items
  • Multi-Instance Activity is similar to FOR EACH loop

Multi-Instance Activity Example⌘

Module 6. Questions⌘

  • What Types of Tasks are there in BPMN?
  • What is the difference between Interrupting and Non-Interrupting event?
  • What is the difference between Escalation and Error event?
  • What is Link Event?
  • What is Conditional Event?
  • What is the difference between Signal and Message Event?