BPMN 2.0 Fundamentals and Workshop

From Training Material
Jump to navigation Jump to search


title
BPMN 2.0 Fundamentals and Workshop
author

Filip Stachecki (filip@NobleProg.pl)

Business Process⌘

ClipCapIt-141204-113643.PNG

BPMN 2.0 Spec:

A Process describes a sequence or flow of Activities 
in an organization with the objective of carrying out work.

Process Logic⌘

by Bruce Silver

ProcessModelManyPaths.png

  • Process Logic (Process Model) is a complete map of all the paths from the triggering event to any defined end state.
  • Process Model is more than documentation of one instance of the process.
  • Process logic is usually hidden.

BPMN⌘

  • Business Process Model and Notation (BPMN)
  • OMG standard
  • similar to flowchart diagram, but
    • formal (spec)
    • event based
    • with message flows

BPMN benefits⌘

  • standard notation maintained by OMG
  • not vendor specific
  • free

Demonstration⌘

  • Simple process

Levels of BPMN Process Modelling⌘

by Bruce Silver - Three Levels of Process Modeling with BPMN, BPMS Watch, April 2008

  • Descriptive modeling
    • Abstract, high-level, simple to communicate across the organization
    • Requires understanding of fundamental concepts such as pools and lanes, tasks and subprocesses and sequence flow, not the complexities of BPMN's various flow control and event patterns
  • Analytical modeling
    • More details, showing all the steps, including the exception paths required to analyze process performance using simulation or to create details requirements for an IT implementation. Requires understanding of BPMN's various decisions and merge patterns, event and exception handling patterns. Hierarchical representation of the end to end business process
  • Executable modeling
    • BPMN is a part of the executable process implementation. Imposes many validation constraints.
    • Modeling at this level is somewhat vendor tool-dependent.

Descriptive modeling⌘

BPMN Descriptive.png

BPMN Activity⌘

An Activity

  • is work that is performed within a Business Process
  • can be atomic or non-atomic (compound)
  • represent points in a Process flow where work is performed
  • is executable element of a BPMN process

Types of Activities⌘

  • Task
    • an atomic Activity within a Process flow
    • is used when the work in the Process cannot be broken down to a finer level of detail
  • Sub-Process
    • compound activity
      • Event Sub-Process
      • Transaction
      • Ad-Hoc
  • Call Activity
    • allows the inclusion of re-usable Tasks and Processes in the diagram

Types of Sub-Processes⌘

ClipCapIt-171018-154250.PNG

Sequence Flow⌘

BPMNSequenceFlow.png

A Sequence Flow is used to show the order that Activities will be performed in a Process.

Token ⌘

  • Token traverses the Sequence Flows and passes through the elements in the Process
  • A token is a theoretical concept that is used as an aid to define the behavior of a Process that is being performed
  • The behavior of Process elements can be defined by describing how they interact with a token as it “traverses” the structure of the Process.
  • A token does NOT traverse a Message Flow

Sequence Flow Splitting⌘

BPMNFlowSplit.png

  • Conditional flow - sequence flow with a condition that is evaluated to determine whether or not the sequence flow will be used
  • Default flow - used only if all the other outgoing conditional flows are not true


Gateways ⌘

GatewaysFil.png

Gateways are used to control splitting and merging of sequence flows.

  • do not represent ‘work’ being done
  • are considered to have zero effect on the operational measures of the process (cost, time, etc.).
  • two types of gateways: converge and diverge
  • are optional

Exclusive Gateway ⌘

BPMNExclusiveGateway.png         ClipCapIt-150930-095706.PNG

XOR Gateway

  • A diverging Exclusive Gateway (Decision) is used to create alternative paths within a Process flow
  • Only one of the paths can be taken, this means the gateway is exclusive
  • A Decision can be thought of as a question that is asked at a particular point in the Process
  • The question has a defined set of alternative answers
  • Each answer is associated with a condition Expression that is associated with a Gateway’s outgoing Sequence Flows

Exclusive Gateway Example⌘

ExclusiveGatewayExample.png

Merging (exclusive)⌘

BPMN ExclusiveGatewayMerging.png

Parallel Gateway ⌘

BPMNParallelGateway.png

AND Gateway

  • A Parallel Gateway is used to create or synchronize (combine) parallel flows
  • A Parallel Gateway creates parallel paths without checking any conditions; each outgoing Sequence Flow receives a token upon execution of this Gateway
  • For incoming flows, the Parallel Gateway will wait for all incoming flows before triggering the flow through its outgoing Sequence Flows

Parallel Gateway Example 1⌘

BPMNParallelGatewayExample2Ways.png

Parallel Gateway Example 2⌘

Element join.png

Gateway Exercises⌘

  • Exercise 1.
  • Exercise 2.
  • Demonstration - splitting and merging

BPMNSplit.png

Inclusive Gateway ⌘

BPMNInclusiveGateway.png

OR Gateway

  • A diverging Inclusive Gateway (Inclusive Decision) can be used to create alternative but also parallel paths within a Process flow
  • Unlike the Exclusive Gateway, all condition Expressions are evaluated
  • The true evaluation of one condition Expression does not exclude the evaluation of other condition Expressions
  • All Sequence Flows with a true evaluation will be traversed by a token
  • Since each path is considered to be independent, all combinations of the paths MAY be taken, from zero to all
  • However, it should be designed so that at least one path is taken.

Inclusive Gateway Example 1⌘

InclusiveGatewayExample.png

Inclusive Gateway Example 2⌘

InclusiveGatewayExample2EN.png

Gateway Exercises 2⌘

  • Exercise 3.
  • Exercise 4.

Events ⌘

EventsBasics.png

An Event is something that “happens” during the course of a Process.
  • Events affect the flow of the Process and usually have a cause or an impact. The term “event” is general enough to cover many things in a Process.
  • The start of an Activity, the end of an Activity, the change of state of a document, a Message that arrives, etc., all could be considered Events

Types of events ⌘

  • Start Events - indicate where a particular Process will start
  • Intermediate Events - indicate where something happens (an Event) somewhere between the start and end of a Process
    • Boundary Intermediate Events - attached to the boundary of an Activity
  • End Events - indicate where a Process will end

Events Example⌘

EventsExampleEN.png

BPMNIntermediateEventExampleEN.png


None Events⌘

BPMNThreeTypesOfEvents.png

  • None Event does not have a defined trigger or result.
  • The Event MUST be displayed without a marker
  • None Start Event starts the process and generates new token
  • None End Event ends a particular flow and consumes the token

Events Exercises⌘

  • Exercise 1.

Pool and Participant⌘

BPMNPoolLane.png

  • The pool shape represents a participant.
  • A Lane is a sub-partition within within a Pool.
  • Lanes are used to organize and categorize Activities.
  • The meaning of the Lanes is up to the modeler.
  • Lanes are often used for such things as internal roles (e.g., Manager, Associate), systems (e.g., an enterprise application), an internal department (e.g., shipping, finance),

Message Flows ⌘

BPMNMessageFlow.png

  • A Message Flow is used to show the flow of Messages between two Participants that are prepared to send and receive them.
  • A Message Flow MUST connect two separate Pools. They connect either to the Pool boundary or to Flow Objects within the Pool boundary. They MUST NOT connect two objects within the same Pool.

Demonstration ⌘

  • Pool, Lane, Blackbox

4 Basic Message Events ⌘

BPMNMessageEvents.png

ClipCapIt-171018-163658.PNG

Message Events Example⌘

BPMNMessageFlowsExample.png

Collaboration Exercises⌘

  • Exercise 1.
  • Exercise 2.
  • Exercise 3.

Artifacts ⌘

Artifacts are used to provide additional information about the Process

  1. Element group.pngGroup
  2. Text annotations.pngText Annotation

Group ⌘

BPMNGroup.png

  • Provides a visual mechanism to group elements of a diagram informally.
  • Group can be used for documentation or analysis purposes.
  • Groups do not affect the flow of the Process.

Text Annotation ⌘

Text Annotation.png

  • Is a mechanism for a modeler to provide additional information for the reader of a BPMN Diagram
  • The Text Annotation object can be connected to a specific object on the Diagram with an Association
  • Does not affect the flow of the 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..)
  • 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 Example 1⌘

BPMNTimerExampleEN.png

Timer Example 2⌘

BPMNIntermediateTimerExample2EN.png

Interrupting vs. Non-Interrupting⌘

BPMNInterruptingVSNonInterrupting.png

Boundary Events Exercises⌘

  • Exercise 1:

Error Events⌘

ErrorEvents.png

  • 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⌘

BasicExceptionHandling.png Ex02 BasicExceptionHandlingMerge.png

Error Events Example 2⌘

Ex03 ExceptionHandling.png

Error Events Example 3⌘

Ex04 ExceptionHandling.png

Event-Based Exclusive Gateway⌘

Element event based multiple intermediate gateway.png

  • The Event-Based Gateway represents a branching point in the Process where the alternative paths that follow the Gateway are based on Events that occur
  • This is opposed to the evaluation of Expressions using Process data (as with an Exclusive or Inclusive Gateway which are Data Based)
  • A specific Event, usually the receipt of a Message, determines the path that will be taken
  • Basically, the decision is made by another Participant, based on data that is not visible to Process, thus, requiring the use of the Event-Based Gateway.

Example⌘

  • A company is waiting for a response from a customer they will perform one set of Activities if the customer responds “Yes” and another set of Activities if the customer responds “No.”
  • The customer’s response determines which path is taken
  • The identity of the Message determines which path is taken
  • That is, the “Yes” Message and the “No” Message are different Messages

Example⌘

  • The receipt of the Message can be modeled with an Intermediate Event with a Message trigger or a Receive Task
  • In addition to Messages, other triggers for Intermediate Events can be used, such as Timers

Figure10-116-event-based-gateway-example-using-message-intermidate-events.png or Figure10-117-event-based-gateway-example-using-receive-tasks.png

Data Modeling⌘

  • Data modeling is used to describe physical or information items that are created, manipulated, and used during the execution of a Process.
  • Data can be modeled using: Data Objects, Data Inputs, Data Outputs, Data Stores, Data Associations, ....

Data Objects⌘

BPMNDataObject.png

  • The primary construct for modeling data within the Process flow.
  • Data Associations are used to move data between Data Objects.
  • Tokens do not flow along a Data Association.

Data Input, Data Output⌘

BPMNDataObjectInOut.png

  • Activities and Processes often need data in order to execute.
  • In addition they can produce data during or as a result of execution.
  • Data requirements are captured as Data Inputs.
  • Data that is produced is captured using Data Outputs.

Data Store⌘

BPMNDataStore.pngDataStoreAndAssociations.png

  • A DataStore provides a mechanism for Activities to get or update stored information that will persist beyond the scope of the Process.
  • Represents a single unit of information (e.g. database record)


Annex⌘

BPMN shapes⌘

BPMN tools⌘

BPMN types of events

Business Process Model and Notation, v2.0, page 261

TypesOfEvents.png