NobleProg BPMN Certification Level 1 - Complete Materials

From Training Material
Jump to navigation Jump to search

BPMN Certification Level 1 Training Materials


BPMN 2.0 Purpose ⌘

  1. Provide a notation that is readily understandable by business and technical people
  2. Create a standardized bridge for the gap between the business process design and process implementation
  3. To ensure that XML languages designed for the execution of business processes, such as WSBPEL, can be visualized with a business-oriented notation.
  4. To standardize a business process model and notation in the face of many different modeling notations and viewpoints
  5. To provide a means of communicating process information to other businesses, users, managers and process implementers
  6. 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 ⌘

  1. Processes (Orchestration)
    • Private non-executable (internal) BP
    • Private executable (internal) BP
    • Public Processes
  2. Choreographies
  3. 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 ⌘

  1. Orchestration
    • Private non-executable (internal) Business Processes
    • Private executable (internal) Business Processes
    • Public Processes
  2. Choreographies
  3. 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:

  1. Login into Signavio
  2. Create "yourname" folder in NPCBPM_Exercises folder
  3. Create new BPMN 2.0 process diagram
  4. 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

Type Icon Explanation
Receive task
  • Waits for a Message to arrive from an external Participant
  • Once the Message has been received, the Task is completed
Receive start task
  • Starts the process
  • MUST NOT have any incoming Sequence Flow
  • Instantiate attribute MUST be set to true
User Task
  • A typical “workflow” Task where a human performer performs the Task with the assistance of a software application
  • The task is scheduled through a task list manager of some sort

Examples:

  • Phone operator updates customer record
  • User changing their password
Manual Task
  • Is expected to be performed without the aid of any business process execution engine or any application

Examples:

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

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

<slideshow style="nobleprog" headingmark="。" incmark="…" scaled="false" font="Trebuchet MS" >

Title
Workflow Patterns
Author
Bernard Szlachta (NobleProg Ltd)

</slideshow>

Workflow (Control Flow) Patterns 。

  1. Basic Control-Flow Patterns
  2. Advanced branch and join patterns
  3. Structural Patters
  4. Multiple instances patterns
  5. State-based patterns
  6. Cancellation patterns

Workflow (Control Flow) Patterns 。

  1. Basic Control-Flow Patterns
    • Sequence
    • Parallel Split
    • Synchronization
    • Exclusive Choice
    • Simple Merge
  2. Advanced branch and join patterns
    • Multi-Choice
    • Structured Synchronizing Merge
    • Multi-Merge
    • Structured Discriminator)
  3. Structural Patters
    • Arbitrary Cycles
    • Implicit Termination
  4. 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
  5. State-based patterns
    • Deferred Choice
    • Interleaved Parallel Routing
    • Milestone
  6. Cancellation patterns
    • Cancel Activity
    • Cancel Case

New Control-Flow Patterns

  1. Structured Loop
  2. Recursion
  3. Transient Trigger
  4. Persistent Trigger
  5. Cancel Region
  6. Cancel Multiple Instance Activity
  7. Complete Multiple Instance Activity
  8. Blocking Discriminator
  9. Cancelling Discriminator
  10. Structured Partial Join
  11. Blocking Partial Join
  12. Cancelling Partial Join
  13. Generalized AND-Join
  14. Static Partial Join for Multiple Instances
  15. Cancelling Partial Join for Multiple Instances
  16. Dynamic Partial Join for Multiple Instances
  17. Acyclic Synchronizing Merge
  18. General Synchronizing Merge
  19. Critical Section
  20. Interleaved Routing
  21. Thread Merge
  22. Thread Split
  23. 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

  1. Target must have:
    • outgoing sequence flows
    • no incoming sequence flows
  2. Target and Source Link Events should have the same name
  3. There should be only one Source corresponding to one target of the same name
  4. Can be used between lanes, but cannot be used between different pools




Boundary Events

Timers

Messages

Exercise

  1. 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
  2. If the message from the client arrives "report not needed", the sub-process should finish without notifying the manager

Non-Interrupting Boundary Events

Execise

  1. Modell a process "Bake Pizza", if the preparation goes more than 30 min, notify customer wihtout interrupting the sub-process
  2. 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