NobleProg BPMN Certification Level 1 - Complete Materials
BPMN Certification Level 1 Training Materials
Copyright Notice
Copyright © 2004-2026 by NobleProg Limited All rights reserved.
This publication is protected by copyright, and permission must be obtained from the publisher prior to any prohibited reproduction, storage in a retrieval system, or transmission in any form or by any means, electronic, mechanical, photocopying, recording, or likewise.
BPMN 2.0 Purpose ⌘
- Provide a notation that is readily understandable by business and technical people
- Create a standardized bridge for the gap between the business process design and process implementation
- To ensure that XML languages designed for the execution of business processes, such as WSBPEL, can be visualized with a business-oriented notation.
- To standardize a business process model and notation in the face of many different modeling notations and viewpoints
- To provide a means of communicating process information to other businesses, users, managers and process implementers
- To exchange BPMN definitions (both domain model and diagram layout) between different tools
Audience of BPMN ⌘
- Business users
- Business analysts
- Strategy analyst
- Quality managers
- Technical developers
- Process designers
- Developers
- Integrators
- Software, System and Enterprise Architects
Conformance ⌘
Software based on spec
- software developed only partially matching compliance/conformance
Modeling Conformance
- Process modeling
- Choreography modelling
Execution Conformance
- Process Execution
- BPEL Process Execution
Tool can comply only to one of the above or any subset of them.
BPMN Complete Conformance complies to the all 4 above.
Sub-models within an end-to-end BPMN model ⌘
- Processes (Orchestration)
- Private non-executable (internal) BP
- Private executable (internal) BP
- Public Processes
- Choreographies
- Collaborations (can include Processes and Choreographies
- Conversations
BPMN 2.0 compared to BPMN 1.2 ⌘
- Formalizes the execution semantics for all BPMN elements
- Defines an extensibility mechanism
- Refines Event composition and correlation
- Extends the definition of human interactions
- Defines a Choreography model
BPMN Sub-models ⌘
- Orchestration
- Private non-executable (internal) Business Processes
- Private executable (internal) Business Processes
- Public Processes
- Choreographies
- Collaborations, which can include Processes and/or Choreographies
- A view of Conversations
Private (Internal) Business Process ⌘
- Internal to a specific organization
- Other names:
- Workflow
- BPM Processes
- Orchestration of services
- Can be executable and non-executable
- Contained within a single Pool
- The flow of Messages can cross the Pool boundary to show the interactions that exist between separate private Business Processes
Public Process ⌘
- Represents the interactions between a private Business Process and another Process or Participant
- Only those Activities that are used to communicate to the other Participant(s) are included in the public Process
- All other “internal” Activities of the private Business Process are not shown
- Public Process shows to the outside world the Message Flows and the order of those Message Flows that are needed to interact with that Process
- Public Processes can be modeled separately or within a Collaboration to show the flow of Messages between the public Process Activities and other Participants
- Called “abstract” in BPMN 1.2.
- Public Process is orchestrated by the private processes (as oppose to Collaboration)
Collaboration ⌘
- Depicts the interactions between two or more business entities
- Contains two or more Pools
- Can be shown as two or more public Processes communicating with each other
- The corresponding internal (executable) Processes are likely to have much more Activity and detail than what is shown in the public Processes.
Choreography ⌘
- Definition of the expected behavior
- B procedural contract between interacting Participants
- A self-contained Choreography have no Pools or Orchestration
- Choreography exists between Pools (or Participants)
- The Choreography Activities are interactions that represent a set (1 or more) of Message exchanges, which involves two or more Participants
- There is no central controller, responsible entity or observer of the Process
Conversation ⌘
- The Conversation diagram is a particular usage of and an informal description of a Collaboration diagram
- Pools of a Conversation usually do not contain a Process and a Choreography is usually not placed in between the Pools of a Conversation diagram
- A Conversation is the logical relation of Message exchanges
- Message exchanges are related to each other and reflect distinct business scenarios
- Conversation Diagram Provides a “bird’s eye” perspective of the different Conversations that relate to the domain
Quiz
Private Process
Simple Process
01.01 - Simple Process
Exercise 01.01
Purpose: familiarization with the tool and basic elements
Steps:
- Login into Signavio
- Create "yourname" folder in NPCBPM_Exercises folder
- Create new BPMN 2.0 process diagram
- Create the same process as shown in picture 01.01
Process Goals and Outcomes
01.02 - Process Goals and Outcomes
Exercise 01.02
To the above process, add "second shot" scenario ,i.e. when a person taking exam fails, they can try one more time.
Process Name
- Process name is represented by name name of the Pool
01.03 - Process Name
Roles and Lanes
- Roles are represented by Lanes
01.04 - Lanes
- Lanes can be used to any kind of categorization (e.g. important, not important, etc...)
- Lanes do not denote activities performer
- Organization Roles can be denoted via Participant and a Pool as well, but this is determined when preparing process for execution.
Concurrent Tasks
01.05 - Concurrent Tasks
- A Parallel Gateway is used to synchronize (combine) parallel flows and to create 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
Uncontrolled flow
- Diagram 4 above will result in task "Greet Delegates" to be executed three times, hence probably it is not what the modeller intended
- Diagram 4 above is equivalent to diagram below
Deadlocks
Opposite situation may be when exclusive gateway is followed by parallel gateway
Sub-processes
Sub-process boundaries
Sequence flow cannot cross sub-process boundaries.
Activities, Gateways and Loops
Ad-hoc
- A group of Activities that have no REQUIRED sequence relationships
- A set of Activities can be defined for the Process, but the sequence and number of performances for the Activities is determined by the performers of the Activities
- Ad-hoc sub-process is marked with a tilde character
Loops
01.07 - Loops
Multiple Loop Markers
You cannot combine multiple loop markers!
Exclusive 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
Inclusive 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.
Complex Gateway
Event Based Gateway
Activities
BPMN Activity Basics
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
Activities Type
- 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
- an end-user or applications are used to perform the Task when it is executed
- Sub-Process
- Call Activity
- allows the inclusion of re-usable Tasks and Processes in the diagram
Types of Tasks
Receive, Manual and User tasks examples
Business Rule and Script Tasks examples
Business Rule vs Gateways
Sub-process Markers
- A Sub-Process is an Activity whose internal details have been modeled using Activities, Gateways, Events, and Sequence Flows
- A Sub-Process is a graphical object within a Process, but it also can be “opened up” to show a lower-level Process
Types of Sub-Processes
Collapsed
Expanded
Sub-process Markers
Makers can be combined.
BPMN 2 Workflow Patterns
Source: http://www.workflowpatterns.com/documentation/documents/BPM-06-22.pdf
Workflow (Control Flow) Patterns 。
- Basic Control-Flow Patterns
- Advanced branch and join patterns
- Structural Patters
- Multiple instances patterns
- State-based patterns
- Cancellation patterns
Workflow (Control Flow) Patterns 。
- Basic Control-Flow Patterns
- Sequence
- Parallel Split
- Synchronization
- Exclusive Choice
- Simple Merge
- Advanced branch and join patterns
- Multi-Choice
- Structured Synchronizing Merge
- Multi-Merge
- Structured Discriminator)
- Structural Patters
- Arbitrary Cycles
- Implicit Termination
- Multiple instances patterns
- Multiple Instances without Synchronization
- Multiple Instances with a priori Design-Time Knowledge
- Multiple Instances with a priori Run-Time Knowledge
- Multiple instances without a priori run-time knowledge
- State-based patterns
- Deferred Choice
- Interleaved Parallel Routing
- Milestone
- Cancellation patterns
- Cancel Activity
- Cancel Case
New Control-Flow Patterns
- Structured Loop
- Recursion
- Transient Trigger
- Persistent Trigger
- Cancel Region
- Cancel Multiple Instance Activity
- Complete Multiple Instance Activity
- Blocking Discriminator
- Cancelling Discriminator
- Structured Partial Join
- Blocking Partial Join
- Cancelling Partial Join
- Generalized AND-Join
- Static Partial Join for Multiple Instances
- Cancelling Partial Join for Multiple Instances
- Dynamic Partial Join for Multiple Instances
- Acyclic Synchronizing Merge
- General Synchronizing Merge
- Critical Section
- Interleaved Routing
- Thread Merge
- Thread Split
- Explicit Termination
Basic Patterns: Sequence
AKA: Sequential routing, serial routing
Basic Patterns: Parallel Split
AKA: AND-split, parallel routing, parallel split, fork
Basic Patterns: Synchronization
AKA: AND-join, rendezvous, synchronizer
Basic Patterns: Exclusive Choice
AKA: XOR-split, exclusive OR-split, conditional routing, switch, decision, case statement
Basic Patterns: Simple Merge
AKA: XOR-join, exclusive OR-join, asynchronous join, merge.
Basic Patterns: Multi-Choice
AKA: Conditional routing, selection, OR-split, multiple choice.
Basic Patterns: Structured Synchronizing Merge
AKA: Synchronizing join, synchronizer.
Basic Patterns: Multi-Merge
AKA: None
Basic Patterns: Structured Discriminator
AKA: 1-out-of-M join.
Basic Patterns: WCP-10 Arbitrary Cycles
AKA: Unstructured loop, iteration, cycle.
Structural Patterns
Basic Patterns: Implicit Termination
AKA: None.
Basic Patterns: Multiple Instances without Synchronization
AKA: Multi threading without synchronization, spawn off facility.
Basic Patterns: Multiple Instances with a priori Design-Time Knowledge
AKA: None.
Basic Patterns: Multiple Instances with a priori Run-Time Knowledge
AKA: None.
Basic Patterns: Multiple instances without a priori run-time knowledge
AKA: None.
Basic Patterns: Deferred Choice
AKA: External choice, implicit choice, deferred XOR-split.
Basic Patterns: Interleaved Parallel Routing
AKA: None.
- A set of activities has a partial ordering defining the requirements with
respect to the order in which they must be executed
- Each activity in the set must be executed once and they can be completed in any order that accords with the partial order
- However, as an additional requirement, no two activities can be executed at
the same time (i.e. no two activities can be active for the same process instance at the same time)
Basic Patterns: Milestone
AKA: Test arc, deadline, state condition, withdraw message.
Basic Patterns: Cancel Activity
AKA: Withdraw activity.
Basic Patterns: Cancel Case
AKA: Withdraw case.
Events
Start and End Events
Explicit vs Implicit start and end events
Start Event and Pools
Process Trigger
Single Event
Multiple Start Events
Timer Start Event
Multiple End Events
Terminate Event
Alternatives to Terminate Event
- Terminate event can leave data in an inconsistent state
- It should be avoided if possible
- Below an alternative to the scenario above
Intermediate Events
Timer Event
Messages
Message and Service Task
Messages Quiz
Exercise
Rewrite the scenario above using 4 intermediate messages
Link Event
- Target must have:
- outgoing sequence flows
- no incoming sequence flows
- Target and Source Link Events should have the same name
- There should be only one Source corresponding to one target of the same name
- Can be used between lanes, but cannot be used between different pools
Boundary Events
Timers
Messages
Exercise
- Model a sub-process "Write a Report". When employee cannot finish a report in 2 days, you terminate the sub-process and notify the manager
- If the message from the client arrives "report not needed", the sub-process should finish without notifying the manager
Non-Interrupting Boundary Events
Execise
- Modell a process "Bake Pizza", if the preparation goes more than 30 min, notify customer wihtout interrupting the sub-process
- If the customer (after being notified after 30min) notify the pizza company that they do not want the pizza anylonger, the pizza preparation sub-process should terminate.
Sub-process and Start Event
Exercises 1
- Map the Ordering Pizza in a restaurant processes.
- Use names: Customer, Waiter, Chef, pizza order, pizza, money, receipt
- Use lanes only (one pool)
Data
Data Objects
Data Store
Public Process
Public Process ⌘
- Represents the interactions between a private Business Process and another Process or Participant
- Only those Activities that are used to communicate to the other Participant(s) are included in the public Process
- All other “internal” Activities of the private Business Process are not shown
- Public Process shows to the outside world the Message Flows and the order of those Message Flows that are needed to interact with that Process
- Public Processes can be modeled separately or within a Collaboration to show the flow of Messages between the public Process Activities and other Participants
- Called “abstract” in BPMN 1.2.
- Public Process is orchestrated by the private processes (as oppose to Collaboration)
Collaboration ⌘
- Depicts the interactions between two or more business entities
- Contains two or more Pools
- Can be shown as two or more public Processes communicating with each other
- The corresponding internal (executable) Processes are likely to have much more Activity and detail than what is shown in the public Processes.
Nobel Prize
Exercises 2
- Map Pizza Delivery processes.
- Use names: Pizza Customer, Pizza Vendor, Chef, Clerk, Delivery Boy, pizza order, pizza, money, receipt
- Use two pools (Pizza Customer, Pizza Vendor)
Choreographies and Conversation
Choreography ⌘
- Definition of the expected behavior
- B procedural contract between interacting Participants
- A self-contained Choreography have no Pools or Orchestration
- Choreography exists between Pools (or Participants)
- The Choreography Activities are interactions that represent a set (1 or more) of Message exchanges, which involves two or more Participants
- There is no central controller, responsible entity or observer of the Process
Conversation
- The Conversation diagram is a particular usage of and an informal description of a Collaboration diagram
- Pools of a Conversation usually do not contain a Process and a Choreography is usually not placed in between the Pools of a Conversation diagram
- A Conversation is the logical relation of Message exchanges
- Message exchanges are related to each other and reflect distinct business scenarios
- Conversation Diagram Provides a “bird’s eye” perspective of the different Conversations that relate to the domain


