You are on page 1of 58

Session 2 Mastering BPMN 2.

0
Meera Srinivasan Senior Principal Product Manager

The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracles products remains at the sole discretion of Oracle.

Mastering BPM 11 g Webinar Series

Agenda
Overview of BPMN 2.0
BPMN Gateways BPMN Subprocesses

BPMN Events (Start, End, Catch, Throw, Boundary & Event Subprocess)
Learn More

Mastering BPM 11 g Webinar Series

Mastering BPM 11g Webinar Series


http://snipurl.com/masteringbpm 1. Oracle BPM Suite 11g Overview 2. Mastering BPMN 2.0 3. Ruling with rules - Advanced Business Rules 4. Empowering the Business User 5. Process Analytics - Managing and Monitoring

6. BPM 11g Application Programming Interfaces (APIs)


7. BPM Best Practices Deployment, HA and more
Mastering BPM 11 g Webinar Series

Ease-of-use Powered by BPMN 2.0


Seamless Business IT Collaboration

Progressive Refinement
Analyst Tools Developer Tools

Analysts model at their level of abstraction Developers refine the model with implementation details Different perspectives are maintained

No loss in translation
What you model is what you execute

Model portability
Process Execution Engines
Mastering BPM 11 g Webinar Series

Well defined persistence format Levels of conformance

Collaborative Process Design


Supports Top-down & Bottom-up modeling
MDS
BPM Studio
Publish / Synchronize Publish / Synchronize

BPM Composer

Collaborative Process Development


Check-in/ Checkout & version management

Process Modeling & Simulation

Deploy BPMN 2.0 processes

Process Modeling & Customization

Source Control Systems

BPM Run-time

Source of truth

Quick overview of BPMN building blocks


BPMN consists of three main objects:
Activity: Represents work to be done Gateway: Controls flow logic of the process. Used for splitting and merging paths. Event: Supports asynchronous communication with other processes, error handling, and controlling flow logic

Activity

Gateway

Event

Sequence Flow connection


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

Start Event Activity

End Event

Mastering BPM 11 g Webinar Series

Task Types
Interactive Task Service Task Rules Task

Task
Atomic activity. Different types of tasks distinguished by different markers. Service Task (Synchronous system interaction ) Send and Receive Tasks (Asynchronous system interaction) Interactive Task (Human step managed by workflow engine) Manual Task (Not managed by a workflow engine) Rules Task (Managed by Business Rules engine) Script Task (Used for running scripts) None Task (For just documentation and mapping purposes) Call Activity (To call another independent BPMN process Process chaining)

Task Types are:

Mastering BPM 11 g Webinar Series


2009 Oracle Corporation Proprietary and Confidential BPMN for BPM Bootcamp 11g

BPMN Lanes
BPMN Lanes are similar to swimlanes. BPMN Lanes are Process Roles and have to be mapped to other Process Roles or LDAP users or groups. The assignee of Interactive Tasks is usually derived from the swimlane Role.

Lane

Mastering BPM 11 g Webinar Series


2009 Oracle Corporation Proprietary and Confidential BPMN for BPM Bootcamp 11g

Interactive Task Types


Complex
Full-fledged task editor The swim lanes has no bearing on assignees

FYI
For notification only

Group
Parallel approval pattern Task is completed when the Voted Outcomes are in

Initiator
Initiate the process from the Task Work list Form

Management
Sequential list of approvers up the management chain Starting participant is the manager of the Role

User
Individual user(s) or group(s)

10

Copyright 2008, Oracle. All rights reserved.

Business Catalog (1 of 2)
Shared artifacts promote collaborative process development.
BPM Project

Org Chart

BPMN Processes

Simulations

User Interfaces

Business Indicators

Business Catalog
Data Types Events Rules Exceptions Human Tasks

Services
(Adapters, External, BPEL, Mediator)

Business Catalog holds process related artifacts. Provides building blocks for implementing processes. Promotes sharing and reuse. Facilitates collaboration between Business and IT.

Business Catalog (2 of 2)
Linkage to Business Catalog artifact makes process step concrete
Business Catalog Artifact Business Object (Complex data type) Events (EDN) Exception Linkage to BPMN model 1. Arguments for Implementation artifacts 2. Arguments for Message Events 3. Data Objects (variables) Signal Event 1. Error Event 2. Message Event (in the case of Fault)

References, Services (BPEL, Adapters, External Services)

1. 2. 3. 4.

Service Task Send Task Receive Task Message Event

Human Task Implementations Rule Implementations

Interactive Tasks Rule Tasks

Implement BPMN process step (1 of 4)


Model is the Executable

Business & IT share the same model Enrich model by linking process step to implementation artifacts.
Add Implementation Reference

Browse for an Implementation artifact in Catalog


Delete Implementation Reference

Zero-code development IT friendly as well

Implement BPMN process step (2 of 4)


Model is the Executable
Data Object Browser

Human Workflow Pattern

Drag & drop Data Objects to set the input and output arguments

Oracle Confidential Do Not Distribute

Implement BPMN process step (3 of 4)


Model is the Executable

The process step is tied to a Service now

Oracle Confidential Do Not Distribute

Implement BPMN process step (4 of 4)


Model is the Executable
Process Data Objects Input arguments

Business friendly simple mapping mode.


Rich set of XPath functions Type validation Auto-mapping

Simple drag & drop

Simple & XPath modes

Output arguments

XSLT editor

Oracle Confidential Do Not Distribute

Agenda
Overview of BPMN 2.0
BPMN Gateways BPMN Subprocesses

BPMN Events (Start, End, Catch, Throw, Boundary & Event Subprocess)
Learn More

Mastering BPM 11 g Webinar Series

Gateway Types
Requirement
Parallel paths all outgoing paths are taken

Gateway
AND Gateway

Details

One and only one outgoing path is taken


One or more outgoing paths can be taken

Exclusive Gateway
OR Gateway

Multiple outgoing paths are taken but some of these paths Complex Gateway can be aborted based on some data condition One and only Event can be received
Mastering BPM 11 g Webinar Series

Event Based Gateway

Exclusive Gateway (1 of 2)

Order of Evaluation

Conditions are specified on conditional flows

No conditions for default path Flow when Condition 2 evaluates to true

19

Exclusive Gateway (2 of 2)
Exclusive Gateways can be used to create arbitrary graphs

Flow when Approval is Manual and outcome is APPROVED

Exclusive Gateways can be used to create a Loop

Flow when Business Practices Review is Required and outcome = REJECT

20

And Gateway
Parallel Split Parallel Join

AND Gateways need to be balanced

Multiple End Events

Except when the outgoing path ends in an End Event !

21

OR Gateway
Inclusive or OR Gateways are Decisions where there is more than one possible outcome. They are usually followed by a corresponding merging Inclusive (OR) Gateway or Complex Gateway. Outgoing paths of an Inclusive Gateway have a default path as well.

2009 Oracle Corporation Proprietary and Confidential

BPMN for BPM Bootcamp 11g

22

Complex Gateway
Used when complex conditions needs to be specified.

Merging Gateway -Join Parallel or OR Split Gateways


Condition needs to be specified to abort pending flows

Special Data Objects for Complex Gateway

23

Agenda
Overview of BPMN 2.0
BPMN Gateways BPMN Subprocesses

BPMN Events (Start, End, Catch, Throw, Boundary & Event Subprocess)
Learn More

24

Embedded Subprocess

Compound activity It has Start and End Event only None Start Event is allowed Cannot have Lanes and exhibits block-structure semantics Collapsed or expanded Usage
Simplified visualization; Hide implementation details Event handling across a set of activities Looping

2009 Oracle Corporation Proprietary and Confidential

BPMN for BPM Bootcamp 11g

25

Reusable subprocess ( 1 of 2)
Quote to cash Parent Process
Call Activity.

Call Activity is used to call another BPMN process. When invoking a child process (Re-usable subprocess), it is necessary to pass instance context from the parent to child process and vice-versa. Parent process waits until child process is complete.

Quote Process Child Process

Note: Reusable subprocess can have only None Start Event and Initiator user activity cannot be used.

2009 Oracle Corporation Proprietary and Confidential

BPMN for BPM Bootcamp 11g

26

Reusable subprocess (2 of 2)
Creating Reusable Subprocess Defining arguments for Reusable Subprocess

2009 Oracle Corporation Proprietary and Confidential

BPMN for BPM Bootcamp 11g

27

<Insert Picture Here>

Creating Loops using Embedded Subprocess

Oracle Proprietary. Copyright 2006, Oracle Corporation

Oracle Confidential - Highly Restricted

28

Looping Subprocess using Loop Marker


WHILE & REPEAT-UNTIL

Special Data Objects for Loop marker

Before (check) = Evaluate condition before looping (WHILE loop), >= 0 Before (uncheck) = Evaluate condition after looping (REPEAT UNTIL loop) , >=1

Used to create a WHILE or REPEAT-UNTIL loop. Implementation Attributes :


Loop Condition (Expression)
Evaluation Condition Terminate loop if loop has executed n times; Used to prevent infinite looping

Loop Maximum (Integer)

29

Looping Subprocess using Multi-Instance Marker ( 1 of 2)


For loop
Parallel Multi-instance subprocess Sequential Multi-instance subprocess

Looping count


Termination condition

Used to create a FOR loop. Implementation Attributes :

Loop Cardinality (Expression)


No of times to execute loop Terminate loop if condition evaluates to true Unchecked = parallel execution Checked = sequential execution

Completion Condition

Is Sequential

Parallel versus Sequential Execution

30

Looping Subprocess using Multi-Instance Marker ( 2 of 2)


For-each loop
Used to create a FOR-each loop. Implementation Attributes :
Loop Data Input (Array)
Array size determines no of times to execute loop Collection of data items produced inside the subprocess Element of the LoopDataInput Array available inside subprocess Element of the LoopDataOutput Array available inside subprocess Terminate loop if condition evaluates to true

Loop Data Output (Array)

Looping is done across array items passed as input and output

InputDataItem (Special data object)

OutputDataItem (Special data object)

Completion Condition

Parallel versus Sequential Execution

31

Embedded versus Reusable Subprocess


Subprocess (Embedded Subprocess)
Part of the main process; similar to a BPEL scope; Not re-usable

Reusable Subprocess
Synchronous (two-way) Service Task invokes another BPMN Process exposed as a Service Reusable and called by multiple parent processes Need to pass variables back and forth; Does not have access to parent process context Events caught at the Boundary Event of Call Activity Reusable BPMN process cannot have Initiator Task and can have only None Start Event Can have swimlanes

Access to parent process variables and context Events caught by Boundary Event

Embedded subprocess cannot have Initiator Task and can have only None Start Event Cannot have swimlanes

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

Agenda
Overview of BPMN 2.0
BPMN Gateways BPMN Subprocesses

BPMN Events (Start, End, Catch, Throw, Boundary & Event Subprocess)
Learn More

33

<Insert Picture Here>

BPMN Start and End Events

Oracle Proprietary. Copyright 2006, Oracle Corporation

Oracle Confidential - Highly Restricted

34

Using Events To Instantiate A Process


Listens to external signals and creates a new process instance. Common Types of Start Events. None Called from a Main process. Sub-processes must always start with None Start Event. Message Triggered by the arrival of a Message. Message is a one-way web service operation directed to a specific participant Timer Triggered based on some schedule . Signal Triggered based on the arrival of a subscribed signal via broadcast mechanisms. The sender is unknown in this case and the Signal Start Event listens on a well known topic.

35

Multiple Start Events

Multiple start events of different trigger types. The first event that arrives triggers the process.

36

Multiple End Events

Process completes only when all Paths are completed. Common Types of End Events
o None Normal Completion. The control passes to the subsequent step in the main process if a subprocess completes normally. o Message Sends a Message before Completion. o Signal Broadcasts (publishes) signal before Completion. o Error Throws Error Before Completion. Running Parallel paths are aborted. Exception is thrown. o Terminate Process ends abruptly. Running parallel paths are aborted.

37

Timer & Signal Events


Timer Event
The Timer Events are used for scheduling the process instantiation or for waiting for a specific time period. Two ways to specify time: Specific date time. Scheduled, recurring time period.

Signal Event
The Signal Events are used for publishing or subscribing to a well known topic using broadcast mechanisms. Browse for Events specified in the Business Catalog.

EDN Events are automatically added to the BPM Business Catalog and available for associating it with BPMN Signal Events

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

38

Error Event
Check for showing System Exceptions Browse for Business or System Exception Pre-defined Business Exceptions in Business Catalog Specify Business or System Exception

Create new Business Exception

System Exceptions

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

39

Message Event (1 of 2)
Initiate Conversation
Conversation = Initiates You can either create a Service interface on the fly (or) Browse for an existing Service from the Business Catalog. Choose asynchronous or synchronous operation. Define the Payload Name the Operation

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

40

Message Event (2 of 2)
Continues Conversation
Conversation = Continues Message Endpoints Send (throw) nodes from other BPMN processes in BPM Project

Initiator Node = Start Event of Process Message Fault Choose Business Exception

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

41

<Insert Picture Here>

BPMN Intermediate Events

Oracle Proprietary. Copyright 2006, Oracle Corporation

Oracle Confidential - Highly Restricted

42

BPMN Intermediate Events


Intermediate Events occur in the middle of the process.
Some Intermediate Events are of type Catch and some of type Throw. Throw symbols are shaded while Catch symbols are not. The Catch Events wait or block for appropriate signals while the Throw events proceed after throwing the signal.

Throw Intermediate Events


throw Message Intermediate Event Send a Message to message to another participant (or process). Used for request-response and receive-reply scenarios. throw Signal Intermediate Event Publish or broadcast a signal.

Catch Intermediate Events

catch Timer Intermediate Event Acts as a delay mechanism. Based on a specific time date or time cycle. catch Message Intermediate Event Receives Message. Used for requestresponse and receive-reply scenarios.

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

BPMN by Example Wait for a specific time period


catch Timer Intermediate Event .

The catch events that occur in the middle of the process blocks or waits for the events to occur. The execution is stalled and does not proceed until the event arrives. Timer Intermediate Event is of Catch type only. The Timer Events use the system clock for scheduling.

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

<Insert Picture Here>

BPMN Boundary Event & Event Subprocess

Oracle Proprietary. Copyright 2006, Oracle Corporation

Oracle Confidential - Highly Restricted

45

Handling Exceptions ( 1 of 2)

System Exceptions

46

Handling Exceptions (2 of 2)
BPMN synchronous service

Message Fault

Message End Event defined as Message Fault Service Task is used for invoking Sync BPMN Process Fault thrown by Sync BPMN Process is caught by Boundary Error Event

Business Exception caught using the Boundary Error Event.

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

Error Propagation in Subprocess


Interrupting Boundary Error Event Exception Path

Interrupting Boundary Error Event - the normal flow is interrupted and the exception path is taken
Non-Interrupting Boundary Timer Event Event Handling Path

Non- Interrupting Boundary Timer Event - both the normal flow and the event handling path is taken
48

Event Sub Process (1 of 2)


Handling Interrupting Events
Interrupting Error Event Subprocess catches Quote Exceptions , interrupts normal flow and Event Subprocess is executed. It can be executed only once during the life time of the process.

Interrupting Error Event Sub-process

49

Event Sub Process (2 of 2)


Handling Non-Interrupting Events
Non-Interrupting Timer Event Subprocess triggered upon SLA expiration, does not interrupt normal flow and Event Subprocess is executed. It is re-entrant and can be executed multiple times during the life time of the process.

Non-Interrupting Timer Event Sub-process

50

<Insert Picture Here>

BPMN Process Conversations

Oracle Proprietary. Copyright 2006, Oracle Corporation

Oracle Confidential - Highly Restricted

51

BPMN Process as Asynchronous Service


Message Start Event (Receive) Message End Event (Reply)

Initiator

Pick Initiator Node

Output Message Input Message Payload Payload

Reply Operation Receive Operation

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

BPMN Process as Synchronous Service


Receive Reply To

Fault

Pick Initiator Node Initiator

Input Message Payload Output Message Payload

Operation Name

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

Message Conversations
Receive Reply

Request Response

A throw Message Intermediate Event (send) followed by catch Message Intermediate Event (receive) is Event (send) is asynchronous request-response scenario.

A catch Message Intermediate Event (receive) followed by throw Message Intermediate receivereply scenario.

54

Process Interactions
Call Activity & Reusable BPMN process
Synchronous (two way) Call Activity blocks until Reusable process is completed All types of Events thrown by Reusable process can be caught Unified audit trail

Service Task

Send & Receive (throw/catch)


Asynchronous (one-way and two-way) peer to peer communication Exceptions are not propagated No

Synchronous (two-way) Service Task invokes another BPMN Process exposed as a Service Only Message Faults can be thrown by the invoked process and caught No

Reusable BPMN process cannot have Initiator Task and can have only None Start Event

No such restrictions on Invoked process.

No such restrictions on peer to peer processes

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

Agenda
Overview of BPMN 2.0
BPMN Gateways BPMN Subprocesses

BPMN Events (Start, End, Catch, Throw, Boundary & Event Subprocess)
Learn More

56

BPMN vs BPEL
We are agnostic customers can go all BPEL or all BPMN. But when they ask our best practices: BPEL
Developer models and implements (typically integrations) Want a programming language (block structured, flow-based, trycatch, etc) Limited to flows that are more structured Developers implementing coarse-grained service building blocks

BPMN
Top-level processes, true business processes Anytime business is involved in a process (see it, edit it, model it) Less structured processes Arbitrary directed graph good for some processes that are hard to implement in BPEL due to its structured nature

57

Available Now

Downloads and More

Hands-On Tutorial
http://snipurl.com /bpm11packt

OTN

http://www.oracle.com/te chnetwork/middleware/b pm/overview/index.html

Ask and Discuss

http://forums.oracle.co m/forums/forum.jspa?f orumID=560

Coming Soon

Follow Us

Handbook
http://snipurl.com /bpm11handbook http://blogs.oracle http://bit.ly/ twitter.com/ .com/bpm dp3kIh oraclebpm
Mastering BPM 11 g Webinar Series

You might also like