Вы находитесь на странице: 1из 41

Oracle BPM 11g Training

BPMN Advanced Concepts

<Insert Picture Here>

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

Catch Exceptions (Timeout, Exceptions)


Receive Message

Catch : Consumed by the Process (Start Events & some


Intermediate Events fall under this category)

Send Message
Throw Exception
Wait for x amount of time

Two Types
Throw : Produced by the Process ( End Events & some
Intermediate Events fall under this category)

At the Start - Start Event


At the End End Event
In the Middle Intermediate Event

BPMN Events - Something that happens (signals) during the


course of a process that affects the sequence or timings of the
activities of a process.
Can occur

More BPMN - Events

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

More Start and End Events

2009 Oracle Corporation Proprietary and Confidential

Message
Start
Event

BPM Suite 11g Training BPMN Advanced Topic

Message End
Event

BPMN by Example More Start and End


Events

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

Listens to external signals and creates a new process


instance.
Multiple Start Events can be used to trigger a process.
Common Types of Start Events. Markers used to denote
the different types of triggering mechanisms.
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 special type of data and is used to
show data exchanges in the context of process
interactions.
Timer Triggered based on some schedule. It can
be a fixed timestamp or a regularly occurring event.
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.

Start event:

Start Event Types

Handle SMS

Transcribe
Fax

Process
Request

The process is started


either by the arrival of the
event via multiple channels

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

XOR Event Gateway is used to mimic multiple start events


(similar to BPEL Pick).
The first event that arrives triggers the process.
In this case, it is either the first step in the Process or should be
preceded by a Start Event of type None.

XOR Event Gateway

Receive SMS

Fax arrived

Receive E-Mail

Parse EMail

BPMN by Example Multiple Start Events

BPM Suite 11g Training BPMN Advanced Topic

Initiate Task is an Oracle extension to BPMN 2.0.


It can be used to trigger the process from the Task Work list Form.
This Task is always preceded by a Start Event of type None.
The assignee is calculated from the Role associated with the swim
lane.

2009 Oracle Corporation Proprietary and Confidential

Initiate Task

Initiate Task

BPMN by Example Trigger process


using Initiate Task

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

Receive Task is one of the BPMN task types.


It can be used to trigger the process upon arrival of a Message.
It has the same semantics as the Message Start Event and can be
used in its place.

Receive Task

Receive Task

BPMN by Example Trigger process


using Receive Task

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

Signifies end of the process path and is generated by the


process upon completion
Multiple End events are possible.
Process completes only when all Paths are completed.
Common Types of End Events
None Normal Completion. The control passes to the
subsequent step in the main process if a subprocess
completes normally.
Message Sends a Message before Completion. This
Message can in turn trigger other processes.
Signal Broadcasts (publishes) signal before
Completion.
Error Throws Error Before Completion. The process
gets terminated and aborts other paths that might still
be in execution. Used as a way to trigger exceptions
from the subprocess to a ma

End event:

End Event Types

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

Example that shows combination of Gateways and multiple End Events. Only one
of the Message End Event is reached in this example.

Another
Message
End Event

Message End
Event

BPMN by Example Multiple End Events

Error End
Event

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

Useful for propagating errors from the sub-process to parent process.

When an Error End Event is reached, the process or the sub-process terminates
even if all other parallel paths are still active.

The process is terminated when Order


Canceled event is reached even if the
Order Parts or Assemble Product is still
active.

BPMN by Example abrupt termination of


the process

2009 Oracle Corporation Proprietary and Confidential

Receive

BPM Suite 11g Training BPMN Advanced Topic

Reply

BPMN by Example Process as a Service

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

To expose the Process as a Service use Message


Start Event and Message End Event.
The Process then becomes a Service Provider and
can be invoked via a Service interface by other BPMN
or BPEL processes.
The Message Start Event and corresponding
Message End Event transforms in to end points (
Operations).
The Event Sub-process (in-line fault handlers) are
used for handling faults.

Exposing Process as a Service

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

Intermediate Events of type throw


and catch

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

BPM Suite 11g Training BPMN Advanced Topic

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.
catch Signal Intermediate Event
- Subscribes to a broadcasted Signal.

2009 Oracle Corporation Proprietary and Confidential

Catch Intermediate Events

Throw Intermediate Events

Intermediate Events occur in the middle of the process.

More BPMN Intermediate Events

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

The Timer Events use the system clock for scheduling.

Timer Intermediate Event is of Catch type only. There is no


equivalent Throw type for Timer Intermediate Event.

The execution is stalled and does not proceed until the event
arrives.

The catch events that occur in the middle of the process


blocks or waits for the events to occur.

catch Timer
Intermediate Event .

BPMN by Example Wait for a specific


time period

Receive Quote
Response from
Customer

catch
Message
Intermediate
Event

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

Throw and catch Message Intermediate Events are useful for


asynchronous and B2B Collaborations

A catch Message Intermediate Event (receive) followed by throw


Message Intermediate Event (send) is receive-reply scenario.

A throw Message Intermediate Event (send) followed by catch


Message Intermediate Event (receive) is asynchronous requestresponse scenario.

Send Quote to
Customer

throw
Message
Intermediate
Event

BPMN by Example Asynchronous


Invocation using Message Events.

Receive Task.

Receive Task in the middle of the process is the same as the Message Intermediate Event of
catch type .

Receive Task at the beginning of the process is the same as the Message Start Event.

BPM Suite 11g Training BPMN Advanced Topic

Send Task at the end of the process is the same as the Message End Event.

2009 Oracle Corporation Proprietary and Confidential

Send Task in the middle of the process is the same as the Message Intermediate Event of throw
type.

Send Task sends a Message and Receive Task receives a


Message.

Send and Receive Tasks are used for asynchronous communication.

Send Task.

Quote to cash Process

BPMN by Example Asynchronous


Invocation using Send & Receive Tasks

Catch Timer
Intermediate Event

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

It does not have conditional expressions on the outgoing sequence


flows.

XOR Event Gateway is used for conditional branching based on


alternative incoming events (Message, Signal, Conditional-Rule, Timer)
rather than data conditions. The first Event to arrive/triggers win. Any
Events that arrive later are ignored.

The customer can either accept or reject quote


and the sequence of activities are different in
these cases. You can also include a catch
Intermediate Timer Event to handle time out
exceptions

Send Quote to
Customer

Gateway

XOR Event

BPMN by Example Asynchronous


Invocation

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

Intermediate Events of type


boundary

BPM Suite 11g Training BPMN Advanced Topic

attached Error Event Catches error thrown by the activity or sub-process. Errors
have unique identifiers. There can be multiple attached Error events for catching the
various types of errors being thrown by the activity or sub-process.
attached Timer Event - Catches time-out exceptions (specialized type of error)
thrown by the activity or sub-process.
attached Message Event Catches Message sent by another participant or
process.

2009 Oracle Corporation Proprietary and Confidential

boundary.
They are of type Catch and referred to as Boundary or Attached
Events.
They have only 1 outgoing sequence flow that leads to Event Handling
path.
Useful for Exception and Interruption Handling.
Types

Intermediate Events can be attached to an activity or sub-process

Attached (Boundary) Events

Error Handling activity

Timer Boundary Event


(for catching time out exceptions)

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

The Error and Timer boundary events are triggered if the activity
to which they are attached is not yet completed.

Exception Paths

Error Boundary Event


(for catching exceptions)

BPMN by Example Boundary Events

2009 Oracle Corporation Proprietary and Confidential

Exception Path

Boundary Error
Event attached to
sub-process.

BPM Suite 11g Training BPMN Advanced Topic

Insert Quote - Embedded subprocess

BPMN by Example Subprocess


Boundary events.

Exception Path

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

The Message, Error, Timer boundary events are not active if the activity
(task/subprocess) to which they are attached is completed.

The Exception path is taken and the Cancel Order step is executed.

If the Message is received before the Fulfill Order step is complete,


the Fulfill Order step is interrupted.

The Fulfill Order sub-process listens for the Cancel Order Message
on a separate thread. The Boundary events do not block the step to
which they are attached while listening.

Message
Boundary
Event

Cancel
Order
Message

BPMN by Example More Boundary


Events

2009 Oracle Corporation Proprietary and Confidential

Main process
catches the
error and
follows the
exception
path.

BPM Suite 11g Training BPMN Advanced Topic

Subprocess throws an
Order Canceled error.

BPMN by Example Propagation of


Errors

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

Intermediate Events of type Event


Subprocess

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

Just like boundary events it listens for external signals but instead of
transferring outside of the activity it runs within the activity (process /
subprocess).

It has access to the data of its parent scope a snapshot at the


point in time when its parent completed.

Message, Error, Timer, Signal

Types of Start Events for Event Subprocess

It is marked with a dotted line boundary and triggered by a Start Event.


It does not have incoming or outgoing sequence flows.
It can be collapsed or expanded. When collapsed, it has the marker of the
Start Event.

The Event Sub-Process is contained within a process or a


subprocess. It is not applicable to a Task.

Advanced BPMN Event Sub Process

BPM Suite 11g Training BPMN Advanced Topic

Error Start Event is only used in Process Event Handlers.

2009 Oracle Corporation Proprietary and Confidential

The Event Subprocess interrupts the regular flow of the process.

Boundary error event.

Process
ends

Error Start
Event

Event subprocess.

BPMN by Example Event Subprocess

Event Subprocess
with None End Event.
Normal flow after
subprocess step is
taken.

corresponding
boundary event that
catches the Cancel
Order error.

Exception
Path

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

There can be many Event Subprocesses but only one gets activated.
In the case of Event Subprocess with None End Event, the normal flow after the subprocess step
is executed.
In the case of Event Subprocess that has an Error or Message End Event, the corresponding
boundary catch event attached to the subprocess boundary is triggered and the event handling
path is taken.

Error Start
Event

Message
Start Event

Event Subprocess with


Error End Event. It has
to be caught by a
corresponding
boundary event.

Normal
Path

BPMN by Example Event Sub Process

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

Implementation of Events

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

Can either initiate (send or throw) or


continue (catch or receive)
Messages.
Message Event as initiator:
Choose the initiate option.
You can either create a Service
interface on the fly (or)
Browse for an existing Service
from the Business Catalog.
Message Event as continuation:
Choose the Continues option.
It will show a list of Message
Endpoints that can send
messages.

Implementation of Message Event

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

The Error Events catches or


throws Business Exception.
Define Business Exceptions
Go to the Business Catalog,
right-click, select New
option and choose Business
Exception.
This launches the Business
Exception wizard. Choose or
create a folder under
Business Catalog.
Specify the XML Schema for
the Business Exception.
Go to the Implementation tab of
the End Event and choose the
desired Business Exception..

Implementation of Error Event

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

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.

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

Timer Event

Implementation of Timer & Signal


Events

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

Refers to an asynchronous send.


Send Task can either initiate the
conversation (asynchronous
request-response) or reply to a
conversation (receive-reply).
Send Task as initiator:
Choose the initiate option.
Browse for an existing
Service or a Message End
Point in the Process from the
Business Catalog.
Send Task as reply:
Choose the Continues
option.
It will show a list of Receive
Tasks in the same process.
The Send Task has only input
arguments.

Implementation of Send Task

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

Receive a message.
Receive Task can either initiate the
conversation (receive-reply) or reply
to a conversation (request-response).
It can also initiate the process
Receive Task as initiator:
Choose the initiate option.
You can either create a Service
interface on the fly (or)
Browse for an existing Service or
Process from the Business
Catalog.
Receive Task as reply:
Choose the Continues option.
It will show a list of Send Tasks
in the same process.
The Receive Task has only output
arguments.

Implementation of Receive Task

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

Loop & Multi-instance Markers

BPM Suite 11g Training BPMN Advanced Topic

Beginning ( while - 0 or more)


End ( until - 1 0r more)

Loop Condition (Expression)


Loop Maximum (Integer)
Loop condition evaluation time

Used to create a For loop.


Implementation Attributes :

2009 Oracle Corporation Proprietary and Confidential

Loop Marker

Markers or icons can be added to Tasks or Subprocesses to illustrate further semantic context
around Task behavior.

Looping
Subprocess

BPMN Loops using Activity Markers

sequentially (instances are generated


sequentially)
parallel (all instances are generated
first and executed in parallel).

Parallel Multi-instance
subprocess

BPM Suite 11g Training BPMN Advanced Topic

Number of instances in the incoming


data (usually an Array).

2009 Oracle Corporation Proprietary and Confidential

Loop cardinality attribute

Number of instances depends on


either the

Multi-instance marker is a wrapper


for the Activity to execute the
activity multiple times. It is used
when the same path in the
process needs to be executed
more than one time.
Activities can be executed either

Sequential Multi-instance
subprocess

BPMN Loops using Multi-Instance


Marker

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

Marker

Multi-instance

BPMN Example Multi-instance scenario

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

2009 Oracle Corporation Proprietary and Confidential

BPM Suite 11g Training BPMN Advanced Topic

The preceding 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.

Вам также может понравиться