bpm11gfoundation-bpmn advanced concepts.pdf
TRANSCRIPT
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
1/47
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
2/47
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 berelied 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.
Safe Harbor Statement
For Oracle employees and authorized partners only. Do not distribute to third parties.
2010 Oracle Corporation Proprietary and Confidential
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
3/47
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 non-
infringement.
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 fromuse 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.
Oracle Training Materials Usage
Agreement
For Oracle employees and authorized partners only. Do not distribute to third parties.
2010 Oracle Corporation Proprietary and Confidential
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
4/47
BPMN Advanced Concepts
Boot Camp
Nishi Deokule
GetResource Inc.
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
5/47
More Start & End Events
For Oracle employees and authorized partners only. Do not distribute to third parties.
2010 Oracle Corporation Proprietary and Confidential
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
6/47
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
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
7/47
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
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
8/47
BPMN by Example Message Start Event
Arrival ofaMessagetriggers
theprocess
For Oracle employees and authorized partners only. Do not distribute to third parties.
2010 Oracle Corporation Proprietary and Confidential
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
9/47
BPMN by Example Multiple Start Events
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 in11gR1. A subsequent patch will include support for XOR Event
Gateway in the beginning of the process in accordance with BPMN
specification.
The process is started by the arrival of the event via multiple channels
For Oracle employees and authorized partners only. Do not distribute to third parties.
2010 Oracle Corporation Proprietary and Confidential
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
10/47
BPMN by Example Trigger Process
Using 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.
Initiate Task
For Oracle employees and authorized partners only. Do not distribute to third parties.
2010 Oracle Corporation Proprietary and Confidential
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
11/47
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
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
12/47
BPMN by Example Multiple End Events
Combination of Gateways and multiple End Events. Only one of the Message EndEvent is reached in this example.
AnotherMessage
End Event
Message EndEvent
For Oracle employees and authorized partners only. Do not distribute to third parties.
2010 Oracle Corporation Proprietary and Confidential
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
13/47
BPMN by Example Abrupt Process
Termination
When an Error End Event is reached, the process or the sub-process terminateseven if all other parallel paths are still active.
Useful for propagating errors from the sub-process to parent process.
Error EndEvent
The process is terminated when OrderCanceled event is reached even if the OrderParts or Assemble Product is still active.
For Oracle employees and authorized partners only. Do not distribute to third parties.
2010 Oracle Corporation Proprietary and Confidential
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
14/47
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
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
15/47
Implementation of Message End Event
Message End Event:
Conversation is automaticallyset to Continues
It will show a list of Message
Endpoints that can send
messages
You need to select the
Process and the Node (endpoint) that is initiating this
conversation
For Oracle employees and authorized partners only. Do not distribute to third parties.
2010 Oracle Corporation Proprietary and Confidential
I l t ti f Ti & Si l
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
16/47
Implementation of Timer & Signal
Events Timer Event
The Timer Events are used forscheduling the process
instantiation or for waiting for a
specific time period
Two ways to specify time:
Specific date time
Scheduled, recurring timeperiod
Signal Event
The Signal Events are used for
publishing or subscribing to a
well known topic using broadcastmechanisms
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
I l t ti f E E t
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
17/47
Implementation of Error Event
The Error Events catches or throws
Business and System Exceptions
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
By Default, the type of the BusinessException 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
I l t ti f E E t
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
18/47
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
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
19/47
BPMN Process as a Service
For Oracle employees and authorized partners only. Do not distribute to third parties.
2010 Oracle Corporation Proprietary and Confidential
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
20/47
BPMN by Example Process as a ServiceReceive
Reply
For Oracle employees and authorized partners only. Do not distribute to third parties.
2010 Oracle Corporation Proprietary and Confidential
E i P S i
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
21/47
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 correspondingMessage 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 P A h S i
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
22/47
Pick Initiator Node
Message EndEvent (Reply)
Initiator
Input MessagePayload
Receive Operation
Output Message
Payload
Reply Operation
Message StartEvent (Receive)
BPMN Process as Asynchronous Service
For Oracle employees and authorized partners only. Do not distribute to third parties.
2010 Oracle Corporation Proprietary and Confidential
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
23/47
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
M BPMN I t di t E t
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
24/47
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 request-
response 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 b E l W it f S ifi
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
25/47
BPMN by Example Wait for a Specific
Time Period
catch Timer
Intermediate Event
The catch events that occur in the middle of the processblocks or waits for the events to occur.
The execution is stalled and does not proceed until the eventarrives.
Timer Intermediate Event is of Catch type only. There is noequivalent 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 P t P C i ti
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
26/47
BPMN Process to Process Communication
Fault thrown by the BPMNSynchronous process
Service Task is used for invoking anotherBPMN process exposed as a synchronousservice
Process Quote step is a Service Task thatis invoking Validate Quote synchronousBPMN process
Validate Quote - BPMN synchronous serviceRemote Fault thrown by the BPMNSynchronous process invocation is caughtusing the catch Error Boundary Event
For Oracle employees and authorized partners only. Do not distribute to third parties.
2010 Oracle Corporation Proprietary and Confidential
BPMN by Example Asynchronous
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
27/47
BPMN by Example Asynchronous
Invocation using Send & Receive Tasks
Send and Receive Tasks are used for
asynchronous communication. Send Tasksends a Message and Receive Task
receives a Message.
Send Taskin the middle of the process is the sameas the Message Intermediate Eventof throw type.
Receive Taskat the beginning of the process is thesame as the Message Start Event.
Note : You cannot use Send and Receive Tasks forasynchronous communication between 2 BPMNprocesses in BPM 11gR1. You will have to usethrow Message Intermediate Event and catchMessage 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
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
28/47
BPMN by Example Asynchronous
Invocation using Message Events.
A throw Message Intermediate Event(send) followed by catchMessage Intermediate Event (receive) is asynchronous request-response scenario.
A catch Message Intermediate Event(receive) followed by throwMessage Intermediate Event (send) is receive-reply scenario.
catch Message
Intermediate Eventthrow MessageIntermediate Event
For Oracle employees and authorized partners only. Do not distribute to third parties.
2010 Oracle Corporation Proprietary and Confidential
BPMN by Example Asynchronous
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
29/47
BPMN by Example Asynchronous
Invocation
XOR Event Gatewayis used for conditional branching based on alternative incomingevents (Message, Signal, Conditional-Rule, Timer) rather than data conditions. The firstEvent to arrive/triggers win. Any Events that arrive later are ignored.
It does not have conditional expressions on the outgoing sequence flows.
The customer can either accept orreject quote and the sequence ofactivities are different in these cases.You can also include a catchIntermediate Timer Event to handletime out exceptions
XOR Event
Gateway
For Oracle employees and authorized partners only. Do not distribute to third parties.
2010 Oracle Corporation Proprietary and Confidential
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
30/47
Exception and Event Handling
For Oracle employees and authorized partners only. Do not distribute to third parties.
2010 Oracle Corporation Proprietary and Confidential
Att h d (B d ) E t
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
31/47
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
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
32/47
BPMN by Example Boundary Events
Timer Boundary Event(for catching time out exceptions)
Error Boundary Event(for catching exceptions)
Error Handling activity
Exception Paths
The Error and Timer boundary events are triggered if the activityto 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
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
33/47
BPMN by Example Subprocess
Boundary Events
Boundary ErrorEvent attached to
sub-process.
Approve Quote - Embedded subprocess
Exception Path
For Oracle employees and authorized partners only. Do not distribute to third parties.
2010 Oracle Corporation Proprietary and Confidential
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
34/47
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
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
35/47
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 ofStart Events forEvent Subprocess
Message, Error, Timer, Signal
The Start Events can be Interrupting or non-Interrupting type. The onlyexception 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
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
36/47
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
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
37/47
Non-Interrupting Timer Event Sub-process
BPMN by Example Timer Event
Subprocess
For Oracle employees and authorized partners only. Do not distribute to third parties.
2010 Oracle Corporation Proprietary and Confidential
BPMN by Example Message Event
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
38/47
Non-Interrupting Message Event Sub-process
BPMN by Example Message Event
Subprocess
For Oracle employees and authorized partners only. Do not distribute to third parties.
2010 Oracle Corporation Proprietary and Confidential
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
39/47
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
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
40/47
Implementation of Send Task
Refers to an asynchronous send.
Send Task can either initiate the
conversation (asynchronous
request-response) or reply to aconversation (receive-reply).
Send Task as initiator:
Choose the initiate option.
Browse for an existing
Service or a Message End
Point in the Process from theBusiness 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
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
41/47
Implementation of Receive Task
Receive a message.
Receive Task can either initiate the
conversation (receive-reply) or reply to
a conversation (request-response). Itcan 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 orProcess 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
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
42/47
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
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
43/47
BPMN Loops using Activity Markers
Markers or icons can be added to Tasks or Sub-processes to illustrate further semantic contextaround 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)
LoopingSubprocess
For Oracle employees and authorized partners only. Do not distribute to third parties.
2010 Oracle Corporation Proprietary and Confidential
BPMN Loops using Multi-Instance
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
44/47
BPMN Loops using Multi Instance
Marker
Multi-instance marker is a wrapper
for the Activity to execute theactivity 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: 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).
Parallel Multi-instancesubprocess
Sequential Multi-instancesubprocess
For Oracle employees and authorized partners only. Do not distribute to third parties.
2010 Oracle Corporation Proprietary and Confidential
BPMN Example Multi-instance scenario
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
45/47
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
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
46/47
-
7/27/2019 BPM11gFoundation-BPMN Advanced Concepts.pdf
47/47
The preceding is intended to outline our generalproduct 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 berelied 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.