BPM & BPEL
Author : Arun Pareek March 2010
Agenda
Overview of BPM discipline
Types of processes Standards, Tools & Roles
Overview of BPEL Key Differences - BPM & BPEL Case study of Order-to-Cash process for manufacturing industry like Dell Conclusions & Recommendations Discuss the application of these two technologies for the right business context and requirements.
Business Process Management
Is a discipline for management of atomic business processes whose functional boundaries and human actors are welldefined. Hence, centres around documents, people and processes. High-level Activities in BPM
Process Definition Process Execution Process Monitoring Process Optimization
Type of Processes
Document-centric: Processes revolve around approval, routing and handling of documents. People-centric: Processes revolve around human tasks, refer back or re-execution of tasks, parallel tasks, complex user interactions (loops), escalations, etc. with quick turnaround times. Process-centric: Processes revolve around a core business function/process which has a well defined boundary (within a department like a Warehouse, Finance, etc). System-centric: Processes revolve around the execution of functional workflows/processes in other systems, reexecution of sub-processes, etc. while retaining control of the end-to-end business process at a macro level when work flows across systems (rather than just people)
Standard, Tools & Roles
Activity Process Definition Standard BPMN XPDL ebXML BPSS Tools AquaLogic Business Process Modeller IDS-Scheer ARIS (Oracle BPA Suite) WebSphere Business Process Modeller AquaLogic BPM (earlier Fuego BPM) Lombardi PEGA BPM TIBCO iProcess Suite Role Business Analyst Business Process Architect
Process Execution
Proprietary BPEL BPEL4People WS-CDL Wf-XML
Business Process Developer/Designer BPEL Developer
Process Monitoring
Proprietary right now Standard evolving
Oracle BAM TIBCO BAM PEGA BAM
Business stakeholders Operations
Complemented by other standards on
Standardized data models for verticals (OAGIS, ebXML, RosettaNet) Technology standards XML, SOA security, Messaging, etc(OASIS)
Standard, Tools & Roles
Process Design
Process Execution
Process Monitoring
DELL CONFIDEN TIAL
BPEL is a popular standard for orchestration of composite business processes that span across systems that in turn run atomic & functional sub-processes. Hence is systemcentric Currently the standard is BPEL 1.2 (Oracle supports BPEL 1.1) BPEL is XML based standard and is machinereadable
DELL CONFIDEN TIAL
Overview of BPEL
Overview of BPEL
<variable>
Credit Rating BPEL Flow
<process>
start
10:00am
Get Rating
<faultHandlers> <invoke> <flow>
Handle Negative Credit Exception
<partnerLink>
United Loan
Send Loan Application
Send Loan Application
<invoke> <receive>
Star Loan
<partnerLink>
Receive Loan Offer
Receive Loan Offer
<partnerLink>
</flow> <switch>
</process>
? Select Lowest Offer
end
03:00pm
Key Differences - BPM & BPEL
Criteria Scope BPM Intra-department functional workflows with well defined boundaries Document-centric People-centric Process-centric Actors are mostly Humans Workflows are complex with the actors confined to largely one department and its functions. Proprietary execution formats & standards Processes can be defined in BPMN BPEL Inter-department, cross-system composite (endto-end) processes; sometimes across organizational boundaries System-centric Centricity or Focus Actors
Actors are mostly Systems Human tasks in the processes are mostly reserved for process/business exceptions to be handled by process owners. Open standard BPEL engines do have proprietary extensions Processes can be defined in BPMN and exported to BPEL format
Standards
Structure
Transaction Volume
Fairly un-structured
Cannot handle large volumes Typically support large number of users
Structured
Can handle large transaction processing volumes (millions of processes per day)
Case Study
A Typical End-to-End O2C Process
Order-to-Cash Process
Enquiry & Quote
CustomerRelationship Relationship Customer Management(CRM) (CRM) Management
Order Booking
Order Processing
Shipping
Invoicing
Receipt & Allocation
Enquire & Request Quote Receive Invoice Quote Accepted? Y Order Entry Make Payment Soft-copy Receipt
Generate Sales Order
Check in Warehouse
Inventory Inventory Management Management (WMS) (WMS)
Plan Dispatch Inventory Exists? N Create Work Order Transfer from Storage to Shipping Area
Inventory Update
Reduce Inventory
Generate Pick Ticket
Produce Product
Increase Inventory
Generate Packing Slip
Load & Ship
Ship Confirm
Raise Invoicing Request
Generate AR Invoice
Generate AR Receipt
Invoice Allocation
In the real world, most of these systems will be from different vendors. These core functional systems will have their own proprietary workflow tools Most of these core functional systems are designed from the function and user point of view. BPM cannot orchestrate these E2E and also provide visibility. Process Owner does not have visibility of the E2E process.
Cross System Interactions
Finance Finance
Shipping Shipping
Production Production Management Management
Order Order Management Management
Case Study
A Typical End-to-End O2C Process
Order-to-Cash Process
Enquiry & Quote
CustomerRelationship Relationship Customer Management(CRM) (CRM) Management
Order Booking
Order Processing
Shipping
Invoicing
Receipt & Allocation
Enquire & Request Quote Receive Invoice Quote Accepted? Y Order Entry Make Payment Soft-copy Receipt
Generate Sales Order
Check in Warehouse
Pick A BPM Candidate
Plan Dispatch
Inventory Exists? N Create Work Order
Inventory Update
Reduce Inventory
Generate Pick Ticket
Production Production Management Management
Produce Product
Increase Inventory
Transfer from Storage to Shipping Area
Most of the atomic and departmental functions/processes are well-defined. If implemented as part of a packaged application, the choice of using BPM for such processes wont be there. If implemented from scratch, such processes are good BPM candidates.
Shipping Shipping
Inventory Inventory Management Management (WMS) (WMS)
Order Order Management Management
Generate Packing Slip
Load & Ship
Ship Confirm
Finance Finance
Raise Invoicing Request
Generate AR Invoice
Generate AR Receipt
Invoice Allocation
Case Study
A Typical End-to-End O2C Process
Inventory Update in WMS
Inventory count and adjustment
Event
WMS Receipt & Put Away or Pick Ticket & Dispatch
WMS Manager
Create Physical Inventory Document
Review Inventory Count
Accept Count?
No
Recount
Yes
WMS Clerk
Physical Inventory Document
Physical Count
Enter Count in WMS
End Process
In the real world, such functions involve a lot of human tasks that have to be done manually. In the real world, these systems are packaged applications with their own workflows which may or may not be in BPM tools. These core functional systems are designed from the Functional User point of view.
Conclusions
BPM is a discipline for management of atomic business process whose functional boundaries are well-defined rather than management of longrunning end-to-end business processes that fulfil an end-to-end business process that spans across multiple disparate systems. BPEL is a sub-set of the Business Process Management discipline BPEL bridges the gap between BPM and SOA. BPEL does what BPM cannot do on its own i.e. execute/orchestrate processes across department/functional systems in a standard way while at the same time providing Visibility & Control to the Business Process Owner. BPEL is not good at handling complex workflows that involve a lot of human tasks (work-items) and which demand quick turn-around times. EAI can fill in the cross-system workflow gap to some extent but it does not give visibility and control to the Process Owners. BPM tools are not suitable for high-volume transaction processing while most BPEL tools are.
Recommendations
Use BPM for inter-departmental function workflows/processes that are centred around human tasks and documents Orchestrate end-to-end, cross-system processes using a BPEL engine. In a green-field project, if all functional workflows are going to be built from scratch, then BPM can be used for process management and process-integration instead of BPEL but if more than one packaged application/system are going to be used in the project, then using BPEL along with BPM is a better option. Use BAM in tandem with BPM and BPEL for end-to-end process visibility.