Upload
pankaj-sud
View
16
Download
2
Tags:
Embed Size (px)
DESCRIPTION
Session 2 - Mastering BPMN 2.0ByMeera Srinivasan
Citation preview
Session 2 – Mastering BPMN 2.0
Meera Srinivasan
Senior Principal Product Manager
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.
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
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
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
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
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
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
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
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)
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.
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
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
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
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
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
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
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
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
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
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
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
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
24
Agenda
• Overview of BPMN 2.0
• BPMN Gateways
• BPMN Subprocesses
• BPMN Events (Start, End, Catch, Throw, Boundary &
Event Subprocess)
• Learn More
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
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.
27
Reusable subprocess (2 of 2)
© 2009 Oracle Corporation – Proprietary and Confidential BPMN for BPM Bootcamp 11g
Creating Reusable SubprocessDefining arguments for Reusable Subprocess
28Oracle Proprietary. Copyright 2006, Oracle Corporation Oracle Confidential - Highly Restricted
<Insert Picture Here>
Creating Loops using Embedded Subprocess
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
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
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
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
33
Agenda
• Overview of BPMN 2.0
• BPMN Gateways
• BPMN Subprocesses
• BPMN Events (Start, End, Catch, Throw, Boundary &
Event Subprocess)
• Learn More
34Oracle Proprietary. Copyright 2006, Oracle Corporation Oracle Confidential - Highly Restricted
<Insert Picture Here>
BPMN Start and End Events
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.
36
Multiple Start Events
• Multiple start events of different trigger types.
• The first event that arrives triggers the process.
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.
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
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
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
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”
42Oracle Proprietary. Copyright 2006, Oracle Corporation Oracle Confidential - Highly Restricted
<Insert Picture Here>
BPMN Intermediate Events
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
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
45Oracle Proprietary. Copyright 2006, Oracle Corporation Oracle Confidential - Highly Restricted
<Insert Picture Here>
BPMN Boundary Event & Event Subprocess
46
Handling Exceptions ( 1 of 2)
System Exceptions
© 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
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
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.
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.
51Oracle Proprietary. Copyright 2006, Oracle Corporation Oracle Confidential - Highly Restricted
<Insert Picture Here>
BPMN Process Conversations
© 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
© 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
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
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
56
Agenda
• Overview of BPMN 2.0
• BPMN Gateways
• BPMN Subprocesses
• BPMN Events (Start, End, Catch, Throw, Boundary &
Event Subprocess)
• Learn More
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
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