You are on page 1of 14

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.