58
Session 2 Mastering BPMN 2.0 Meera Srinivasan Senior Principal Product Manager

2mastering_bpmn_20

Embed Size (px)

DESCRIPTION

Session 2 - Mastering BPMN 2.0ByMeera Srinivasan

Citation preview

Page 1: 2mastering_bpmn_20

Session 2 – Mastering BPMN 2.0

Meera Srinivasan

Senior Principal Product Manager

Page 2: 2mastering_bpmn_20

Mastering BPM 11g Webinar Series

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 Oracle’s products remains at the sole discretion of Oracle.

Page 3: 2mastering_bpmn_20

Mastering BPM 11g Webinar Series

Agenda

• Overview of BPMN 2.0

• BPMN Gateways

• BPMN Subprocesses

• BPMN Events (Start, End, Catch, Throw, Boundary &

Event Subprocess)

• Learn More

Page 4: 2mastering_bpmn_20

Mastering BPM 11g Webinar Series

Mastering BPM 11g Webinar Serieshttp://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

Page 5: 2mastering_bpmn_20

Mastering BPM 11g Webinar Series

Ease-of-use Powered by BPMN 2.0Seamless Business IT Collaboration

Progressive Refinement• 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• Well defined persistence

format

• Levels of conformance

Developer ToolsAnalyst Tools

Process Execution

Engines

Page 6: 2mastering_bpmn_20

BPM Composer

Process Modeling & Simulation

BPM Run-time

MDS

Collaborative Process Design Supports Top-down & Bottom-up modeling

Deploy BPMN 2.0

processes

Check-in/ Check-out & version management

Source Control Systems

Publish / Synchronize

BPM Studio

Process Modeling & Customization

Source of truth

Collaborative Process Development

Publish / Synchronize

Page 7: 2mastering_bpmn_20

Mastering BPM 11g Webinar Series

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 connectionA Sequence Flow is used to show the order that activities will be performed in a Process.

End EventStart Event Sequence FlowsActivity

Page 8: 2mastering_bpmn_20

Mastering BPM 11g Webinar Series

Task Types

• Task• Atomic activity. Different types of tasks distinguished by different markers.

• Task Types are:• 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)

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

Rules TaskService TaskInteractive Task

Page 9: 2mastering_bpmn_20

Mastering BPM 11g Webinar Series

BPMN Lanes

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

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

Page 10: 2mastering_bpmn_20

10 Copyright © 2008, Oracle. All rights reserved.

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)

Page 11: 2mastering_bpmn_20

BPM Project

Business Catalog

Data Types Events Rules ExceptionsServices

(Adapters, External, BPEL, Mediator)

Human

Tasks

Org Chart BPMN Processes Business IndicatorsUser InterfacesSimulations

• Business Catalog holds process related artifacts.

• Provides building blocks for implementing processes.

• Promotes sharing and reuse.

• Facilitates collaboration between Business and IT.

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

Page 12: 2mastering_bpmn_20

Business Catalog Artifact Linkage to BPMN model

Business Object (Complex

data type)

1. Arguments for Implementation artifacts

2. Arguments for Message Events

3. Data Objects (variables)

Events (EDN) Signal Event

Exception 1. Error Event

2. Message Event (in the case of Fault)

References, Services (BPEL,

Adapters, External Services)

1. Service Task

2. Send Task

3. Receive Task

4. Message Event

Human Task Implementations Interactive Tasks

Rule Implementations Rule Tasks

Business Catalog (2 of 2)

Linkage to Business Catalog artifact makes process step concrete

Page 13: 2mastering_bpmn_20

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.

• Zero-code development

• IT friendly as well

• Add Implementation Reference

• Browse for an Implementation artifact in Catalog

• Delete Implementation Reference

Page 14: 2mastering_bpmn_20

Drag & drop Data Objects to set

the input and output arguments.

Human Workflow Pattern

Data Object Browser

Oracle Confidential – Do Not Distribute

Implement BPMN process step (2 of 4)Model is the Executable

Page 15: 2mastering_bpmn_20

The process step is tied to a Service now

Oracle Confidential – Do Not Distribute

Implement BPMN process step (3 of 4)Model is the Executable

Page 16: 2mastering_bpmn_20

Simple & XPath modes

• Business friendly simple mapping mode.

• Rich set of XPath functions

• Type validation

• Auto-mapping

• XSLT editor

Simple drag & drop

Input arguments

Output arguments

Oracle Confidential – Do Not Distribute

Implement BPMN process step (4 of 4)Model is the Executable

Process Data Objects

Page 17: 2mastering_bpmn_20

Mastering BPM 11g Webinar Series

Agenda

• Overview of BPMN 2.0

• BPMN Gateways

• BPMN Subprocesses

• BPMN Events (Start, End, Catch, Throw, Boundary &

Event Subprocess)

• Learn More

Page 18: 2mastering_bpmn_20

Mastering BPM 11g Webinar Series

Requirement Gateway Details

Parallel paths – all outgoing

paths are taken

AND Gateway

One and only one outgoing

path is taken

Exclusive

Gateway

One or more outgoing paths

can be taken

OR Gateway

Multiple outgoing paths are

taken but some of these paths

can be aborted based on

some data condition

Complex Gateway

One and only Event can be

received

Event Based

Gateway

Gateway Types

Page 19: 2mastering_bpmn_20

19

Order of Evaluation

Exclusive Gateway (1 of 2)

Flow when Condition 2 evaluates to “true”

Conditions are specified on conditional flows

No conditions for default path

Page 20: 2mastering_bpmn_20

20

Exclusive Gateway (2 of 2)

Exclusive Gateways can be used to create arbitrary graphs

Flow when Approval is Manual and outcome is “APPROVED”

Flow when Business Practices Review is Required and outcome = “REJECT”

Exclusive Gateways can be used to create a Loop

Page 21: 2mastering_bpmn_20

21

And Gateway

Except when the outgoing path ends in an End Event !

AND Gateways need to be balanced

Parallel Split Parallel Join

Multiple End Events

Page 22: 2mastering_bpmn_20

22

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

Page 23: 2mastering_bpmn_20

23

• 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

Complex Gateway

Special Data Objects for Complex Gateway

Page 24: 2mastering_bpmn_20

24

Agenda

• Overview of BPMN 2.0

• BPMN Gateways

• BPMN Subprocesses

• BPMN Events (Start, End, Catch, Throw, Boundary &

Event Subprocess)

• Learn More

Page 25: 2mastering_bpmn_20

25

Embedded Subprocess

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

• 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

Page 26: 2mastering_bpmn_20

26

Reusable subprocess ( 1 of 2)

Call Activity.

Quote to cash – Parent Process

Quote Process – Child Process

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

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

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

Page 27: 2mastering_bpmn_20

27

Reusable subprocess (2 of 2)

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

Creating Reusable SubprocessDefining arguments for Reusable Subprocess

Page 28: 2mastering_bpmn_20

28Oracle Proprietary. Copyright 2006, Oracle Corporation Oracle Confidential - Highly Restricted

<Insert Picture Here>

Creating Loops using Embedded Subprocess

Page 29: 2mastering_bpmn_20

29

Looping Subprocess using Loop MarkerWHILE & 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

• Loop Maximum (Integer)

• Terminate loop if loop has executed “n” times; Used to prevent infinite looping

Page 30: 2mastering_bpmn_20

30

Looping Subprocess using Multi-Instance

Marker ( 1 of 2)For loop

Parallel Multi-instance subprocess

Sequential Multi-instance subprocess

• Used to create a FOR loop.

• Implementation Attributes :

• Loop Cardinality (Expression)

• No of times to execute loop

• Completion Condition

• Terminate loop if condition evaluates to

true

• Is Sequential

• Unchecked = parallel execution

• Checked = sequential execution

Parallel versus Sequential Execution

Looping count

Termination condition

Page 31: 2mastering_bpmn_20

31

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

• Loop Data Output (Array)

• Collection of data items produced inside the

subprocess

• InputDataItem (Special data object)

• Element of the LoopDataInput Array available

inside subprocess

• OutputDataItem (Special data object)

• Element of the LoopDataOutput Array

available inside subprocess

• Completion Condition

• Terminate loop if condition evaluates to true

Parallel versus Sequential Execution

Looping is done across array items passed as input and output

Page 32: 2mastering_bpmn_20

Embedded versus Reusable Subprocess

© 2009 Oracle Corporation – Proprietary and Confidential BPM Suite 11g Training BPMN Advanced Topic

Subprocess

(Embedded Subprocess)

Reusable Subprocess

Part of the main process; similar to a

BPEL scope;

Synchronous (two-way)

Service Task invokes another BPMN

Process exposed as a Service

Not re-usable Reusable and called by multiple parent

processes

Access to parent process variables and

context

Need to pass variables back and forth;

Does not have access to parent process

context

Events caught by Boundary Event Events caught at the Boundary Event of

Call Activity

Embedded subprocess cannot have

Initiator Task and can have only None

Start Event

Reusable BPMN process cannot have

Initiator Task and can have only None

Start Event

Cannot have swimlanes Can have swimlanes

Page 33: 2mastering_bpmn_20

33

Agenda

• Overview of BPMN 2.0

• BPMN Gateways

• BPMN Subprocesses

• BPMN Events (Start, End, Catch, Throw, Boundary &

Event Subprocess)

• Learn More

Page 34: 2mastering_bpmn_20

34Oracle Proprietary. Copyright 2006, Oracle Corporation Oracle Confidential - Highly Restricted

<Insert Picture Here>

BPMN Start and End Events

Page 35: 2mastering_bpmn_20

35

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.

Page 36: 2mastering_bpmn_20

36

Multiple Start Events

• Multiple start events of different trigger types.

• The first event that arrives triggers the process.

Page 37: 2mastering_bpmn_20

37

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.

Page 38: 2mastering_bpmn_20

38

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.

© 2009 Oracle Corporation – Proprietary and Confidential BPM Suite 11g Training BPMN Advanced Topic

• 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

Page 39: 2mastering_bpmn_20

39

Error Event

© 2009 Oracle Corporation – Proprietary and Confidential BPM Suite 11g Training BPMN Advanced Topic

Specify Business or System Exception

Browse for Business or System Exception

Check for showing System Exceptions

Pre-defined Business Exceptions in Business Catalog

Create new Business Exception

System

Exceptions

Page 40: 2mastering_bpmn_20

40

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

Page 41: 2mastering_bpmn_20

41

• Conversation = Continues

• Message Endpoints

– Send (throw) nodes from

other BPMN processes in

BPM Project

© 2009 Oracle Corporation – Proprietary and Confidential BPM Suite 11g Training BPMN Advanced Topic

Message Event (2 of 2)Continues Conversation

• Initiator Node = Start Event of

Process

• Message Fault

– Choose “Business Exception”

Page 42: 2mastering_bpmn_20

42Oracle Proprietary. Copyright 2006, Oracle Corporation Oracle Confidential - Highly Restricted

<Insert Picture Here>

BPMN Intermediate Events

Page 43: 2mastering_bpmn_20

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 request-

response and receive-reply scenarios.

© 2009 Oracle Corporation – Proprietary and Confidential BPM Suite 11g Training BPMN Advanced Topic

Page 44: 2mastering_bpmn_20

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

Page 45: 2mastering_bpmn_20

45Oracle Proprietary. Copyright 2006, Oracle Corporation Oracle Confidential - Highly Restricted

<Insert Picture Here>

BPMN Boundary Event & Event Subprocess

Page 46: 2mastering_bpmn_20

46

Handling Exceptions ( 1 of 2)

System Exceptions

Page 47: 2mastering_bpmn_20

© 2009 Oracle Corporation – Proprietary and Confidential BPM Suite 11g Training BPMN Advanced Topic

Handling Exceptions (2 of 2)

Message Fault

BPMN synchronous service

Business Exception caught using the Boundary Error

Event.

• 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

Page 48: 2mastering_bpmn_20

48

Error Propagation in Subprocess

Interrupting Boundary Error Event

Non-Interrupting Boundary Timer Event

Interrupting Boundary Error Event - the normal flow is interrupted and the exception path is taken

Exception Path

Event Handling Path

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

Page 49: 2mastering_bpmn_20

49

Event Sub Process (1 of 2)Handling Interrupting Events

Interrupting Error Event Sub-process

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.

Page 50: 2mastering_bpmn_20

50

Non-Interrupting Timer Event Sub-process

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.

Page 51: 2mastering_bpmn_20

51Oracle Proprietary. Copyright 2006, Oracle Corporation Oracle Confidential - Highly Restricted

<Insert Picture Here>

BPMN Process Conversations

Page 52: 2mastering_bpmn_20

© 2009 Oracle Corporation – Proprietary and Confidential BPM Suite 11g Training BPMN Advanced Topic

Pick Initiator Node

Message End Event (Reply)

Initiator

Input Message

Payload

Receive Operation

Output Message

Payload

Reply Operation

Message Start Event (Receive)

BPMN Process as Asynchronous Service

Page 53: 2mastering_bpmn_20

© 2009 Oracle Corporation – Proprietary and Confidential BPM Suite 11g Training BPMN Advanced Topic

Pick Initiator Node

Reply To

Initiator

Input Message Payload

Operation Name

Output Message Payload

Receive

BPMN Process as Synchronous Service

Fault

Page 54: 2mastering_bpmn_20

54

Message Conversations

• 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 receive-reply scenario.

Receive Reply

Request Response

Page 55: 2mastering_bpmn_20

Process Interactions

© 2009 Oracle Corporation – Proprietary and Confidential BPM Suite 11g Training BPMN Advanced Topic

Call Activity &

Reusable BPMN

process

Service Task Send & Receive

(throw/catch)

Synchronous (two way) –

Call Activity blocks until

Reusable process is

completed

Synchronous (two-way)

Service Task invokes

another BPMN Process

exposed as a Service

Asynchronous (one-way

and two-way) – peer to

peer communication

All types of Events thrown

by Reusable process can

be caught

Only Message Faults can

be thrown by the invoked

process and caught

Exceptions are not

propagated

Unified audit trail No 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

Page 56: 2mastering_bpmn_20

56

Agenda

• Overview of BPMN 2.0

• BPMN Gateways

• BPMN Subprocesses

• BPMN Events (Start, End, Catch, Throw, Boundary &

Event Subprocess)

• Learn More

Page 57: 2mastering_bpmn_20

57

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, try-

catch, 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

Page 58: 2mastering_bpmn_20

Mastering BPM 11g Webinar Series

http://snipurl.com

/bpm11packt

http://snipurl.com

/bpm11handbook

Available Now

Hands-On

Tutorial

Coming Soon

Handbook

http://www.oracle.com/te

chnetwork/middleware/b

pm/overview/index.html

Downloads and More

OTN

twitter.com/

oraclebpm

http://bit.ly/

dp3kIh

http://blogs.oracle

.com/bpm

Follow Us

Ask and Discuss

http://forums.oracle.co

m/forums/forum.jspa?f

orumID=560