2mastering_bpmn_20
DESCRIPTION
Session 2 - Mastering BPMN 2.0ByMeera SrinivasanTRANSCRIPT
![Page 1: 2mastering_bpmn_20](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/1.jpg)
Session 2 – Mastering BPMN 2.0
Meera Srinivasan
Senior Principal Product Manager
![Page 2: 2mastering_bpmn_20](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/2.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/3.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/6.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/8.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/10.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/11.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/12.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/14.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/15.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/17.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/19.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/20.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/21.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/22.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/23.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/24.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/25.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/26.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/27.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/28.jpg)
28Oracle Proprietary. Copyright 2006, Oracle Corporation Oracle Confidential - Highly Restricted
<Insert Picture Here>
Creating Loops using Embedded Subprocess
![Page 29: 2mastering_bpmn_20](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/29.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/30.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/31.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/32.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/33.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/34.jpg)
34Oracle Proprietary. Copyright 2006, Oracle Corporation Oracle Confidential - Highly Restricted
<Insert Picture Here>
BPMN Start and End Events
![Page 35: 2mastering_bpmn_20](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/35.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/36.jpg)
36
Multiple Start Events
• Multiple start events of different trigger types.
• The first event that arrives triggers the process.
![Page 37: 2mastering_bpmn_20](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/37.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/38.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/39.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/40.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/41.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/42.jpg)
42Oracle Proprietary. Copyright 2006, Oracle Corporation Oracle Confidential - Highly Restricted
<Insert Picture Here>
BPMN Intermediate Events
![Page 43: 2mastering_bpmn_20](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/43.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/44.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/45.jpg)
45Oracle Proprietary. Copyright 2006, Oracle Corporation Oracle Confidential - Highly Restricted
<Insert Picture Here>
BPMN Boundary Event & Event Subprocess
![Page 46: 2mastering_bpmn_20](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/46.jpg)
46
Handling Exceptions ( 1 of 2)
System Exceptions
![Page 47: 2mastering_bpmn_20](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/47.jpg)
© 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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/48.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/49.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/50.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/51.jpg)
51Oracle Proprietary. Copyright 2006, Oracle Corporation Oracle Confidential - Highly Restricted
<Insert Picture Here>
BPMN Process Conversations
![Page 52: 2mastering_bpmn_20](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/52.jpg)
© 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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/53.jpg)
© 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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/54.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/55.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/56.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/57.jpg)
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](https://reader034.vdocuments.net/reader034/viewer/2022052701/55cf9c6a550346d033a9c21b/html5/thumbnails/58.jpg)
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