Vous êtes sur la page 1sur 47

Safe Harbor Statement

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.

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

Oracle Training Materials Usage Agreement


Use of this Site (Site) or Materials constitutes agreement with the following terms and conditions: 1. Oracle Corporation (Oracle) is pleased to allow its business partner (Partner) to download and copy the information, documents, and the online training courses (collectively, Materials") found on this Site. The use of the Materials is restricted to the non-commercial, internal training of the Partners employees only. The Materials may not be used for training, promotion, or sales to customers or other partners or third parties. 2. All the Materials are trademarks of Oracle and are proprietary information of Oracle. Partner or other third party at no time has any right to resell, redistribute or create derivative works from the Materials. 3. Oracle disclaims any warranties or representations as to the accuracy or completeness of any Materials. Materials are provided "as is" without warranty of any kind, either express or implied, including without limitation warranties of merchantability, fitness for a particular purpose, and noninfringement. 4. Under no circumstances shall Oracle or the Oracle Authorized Boot Camp Training Partner be liable for any loss, damage, liability or expense incurred or suffered which is claimed to have resulted from use of this Site of Materials. As a condition of use of the Materials, Partner agrees to indemnify Oracle from and against any and all actions, claims, losses, damages, liabilities and expenses (including reasonable attorneys' fees) arising out of Partners use of the Materials. 5. Reference materials including but not limited to those identified in the Boot Camp manifest can not be redistributed in any format without Oracle written consent.
For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

<Insert Picture Here>

BPMN Advanced Concepts Boot Camp Nishi Deokule GetResource Inc.

More Start & End Events

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

More BPMN - Events


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
At the Start - Start Event At the End End Event In the Middle Intermediate Event

Two Types Throw : Produced by the Process ( End Events & some Intermediate Events fall under this category)
Send Message Throw Exception Wait for x amount of time

Catch : Consumed by the Process (Start Events & some Intermediate Events fall under this category)
Catch Exceptions (Timeout, Exceptions) Receive Message
For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

Start Event Types


Start event:
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.

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

BPMN by Example Message Start Event

Arrival of a Message triggers the process

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

BPMN by Example Multiple Start Events


The process is started by the arrival of the event via multiple channels

Multiple start events (similar to BPEL Pick) can be used to trigger the process. The first event that arrives triggers the process. Note : XOR Event Gateway is not needed for multiple start events in 11gR1. A subsequent patch will include support for XOR Event Gateway in the beginning of the process in accordance with BPMN specification.
For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

BPMN by Example Trigger Process Using Initiate Task


Initiate Task

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

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

End Event Types


End event:
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 main process.

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

BPMN by Example Multiple End Events


Message End Event

Another Message End Event

Combination of Gateways and multiple End Events. Only one of the Message End Event is reached in this example.

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

BPMN by Example Abrupt Process Termination

The process is terminated when Order Canceled event is reached even if the Order Parts or Assemble Product is still active.

Error End Event

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

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

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

Implementation of Message Start Event


Message Start Event:
Conversation is automatically set to 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

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

Implementation of Message End Event


Message End Event: Conversation is automatically set to Continues It will show a list of Message Endpoints that can send messages You need to select the Process and the Node (end point) that is initiating this conversation

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

Implementation of 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

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

Implementation of Error Event


The Error Events catches or throws Business and System Exceptions Define Business Exceptions
Go to the Business Catalog, rightclick, select New option and choose Business Exception This launches the Business Exception wizard. Choose or create a folder under Business Catalog By Default, the type of the Business Exception is set to String You can edit the Business Exception to change the type

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

Implementation of Error Event


Go to the Implementation tab of the End Event and choose the desired Business Exception (or) You can select Catch All Business Exceptions. You can also browse the list of System Exceptions and select the System Faults.

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

BPMN Process as a Service

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

BPMN by Example Process as a Service


Receive Reply

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

Exposing Process as a Service


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 into end points (Operations) The Event Sub-process (in-line fault handlers) are used for handling faults

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

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

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

BPMN Intermediate Events & Process to Process Communication

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

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

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

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. There is no equivalent Throw type for Timer Intermediate Event. The Timer Events use the system clock for scheduling.

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

BPMN Process to Process Communication

Service Task is used for invoking another BPMN process exposed as a synchronous service Process Quote step is a Service Task that is invoking Validate Quote synchronous BPMN process

Remote Fault thrown by the BPMN Synchronous process invocation is caught using the catch Error Boundary Event

Validate Quote - BPMN synchronous service

Fault thrown by the BPMN Synchronous process

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

BPMN by Example Asynchronous Invocation using Send & Receive Tasks

Send and Receive Tasks are used for asynchronous communication. Send Task sends a Message and Receive Task receives a Message.
Send Task in the middle of the process is the same as the Message Intermediate Event of throw type. Receive Task at the beginning of the process is the same as the Message Start Event. Note : You cannot use Send and Receive Tasks for asynchronous communication between 2 BPMN processes in BPM 11gR1. You will have to use throw Message Intermediate Event and catch Message Intermediate Event.

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

BPMN by Example Asynchronous Invocation using Message Events.


throw Message Intermediate Event catch Message Intermediate Event

A throw Message Intermediate Event (send) followed by catch Message Intermediate Event (receive) is asynchronous requestresponse scenario.
A catch Message Intermediate Event (receive) followed by throw Message Intermediate Event (send) is receive-reply scenario.
For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

BPMN by Example Asynchronous Invocation


XOR Event Gateway

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

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. It does not have conditional expressions on the outgoing sequence flows.

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

Exception and Event Handling

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

Attached (Boundary) Events


Intermediate Events can be attached to an activity or sub-process 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

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.

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

BPMN by Example Boundary Events


Error Boundary Event (for catching exceptions) Timer Boundary Event (for catching time out exceptions)

Exception Paths

Error Handling activity

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

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

BPMN by Example Subprocess Boundary Events

Exception Path

Approve Quote - Embedded subprocess

Boundary Error Event attached to sub-process.

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

Event Subprocess

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

Advanced BPMN Event Subprocess


The Event Sub-Process is contained within a process or a subprocess. It is not applicable to a Task.
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.

Types of Start Events for Event Subprocess


Message, Error, Timer, Signal The Start Events can be Interrupting or non-Interrupting type. The only exception to this rule is Error Start Event. It is always of interrupting type.

It has access to the data of its parent scope as a snapshot at the point in time when its parent completed.
Just like boundary events it listens for external signals but instead of transferring outside of the activity it runs within the activity (process / subprocess).

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

BPMN by Example Error Event Subprocess

Interrupting Error Event Sub-process

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

BPMN by Example Timer Event Subprocess

Non-Interrupting Timer Event Sub-process

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

BPMN by Example Message Event Subprocess

Non-Interrupting Message Event Sub-process

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

Implementation of Events

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

Implementation of Send Task


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.

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

Implementation of Receive Task


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.

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

Loop & Multi-instance Markers

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

BPMN Loops using Activity Markers


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

Loop Marker
Used to create a For loop. Implementation Attributes :
Loop Condition (Expression) Loop Maximum (Integer) Loop condition evaluation time
Beginning ( while - 0 or more) End ( until - 1 0r more)

Looping Subprocess

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

BPMN Loops using Multi-Instance Marker


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:

Parallel Multi-instance subprocess

Sequential Multi-instance subprocess

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

Number of instances depends on either:


Loop cardinality attribute

Number of instances in the incoming data (usually an Array).


For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

BPMN Example Multi-instance scenario

Multi-instance Marker

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

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.

For Oracle employees and authorized partners only. Do not distribute to third parties. 2010 Oracle Corporation Proprietary and Confidential

Vous aimerez peut-être aussi