Service Oriented Architecture [3/5] : Business Process Management using BPEL

42
Topic 3 Business Process Management using BPEL Assoc.Prof.Dr. Thanachart Numnonda www.imcinstitute.com

description

Presentation Series on SOA : September 2010

Transcript of Service Oriented Architecture [3/5] : Business Process Management using BPEL

Page 1: Service Oriented Architecture [3/5] : Business Process Management using BPEL

Topic 3

Business Process Managementusing BPEL

Assoc.Prof.Dr. Thanachart Numnondawww.imcinstitute.com

Page 2: Service Oriented Architecture [3/5] : Business Process Management using BPEL

2

Agenda

Benefits of BPM?

What is BPEL?

BPEL Tools & Engines

Page 3: Service Oriented Architecture [3/5] : Business Process Management using BPEL

3

Benefits of BPM?

Page 4: Service Oriented Architecture [3/5] : Business Process Management using BPEL

4

SOA Framework Recap

External/Internal Systems

Build Re-usable Services (ESB) ‏

Business Process Management (BPEL) ‏

User Interface + Single Window (Portal)

User Interface Dashboard (KPI) ‏

Page 5: Service Oriented Architecture [3/5] : Business Process Management using BPEL

Business process

A real-world activity consisting of a set of logically related tasks

When performed in the appropriate sequence, and according to the correct business rules produces a business outcome

Page 6: Service Oriented Architecture [3/5] : Business Process Management using BPEL

Example Business Process

Page 7: Service Oriented Architecture [3/5] : Business Process Management using BPEL

Components of a business process

• Trigger event• Input to the process• Tasks that need to be carried out• Sequence or order of the tasks• Exception scenario• Output of the process

Page 8: Service Oriented Architecture [3/5] : Business Process Management using BPEL

Process oriented organization

• Capability Maturity Model Integration (CMMI)– Level 0: Not performed– Level 1: Performed– Level 2: Managed– Level 3: Defined– Level 4: Quantitatively managed– Level 5: Optimizing

• Before you can automated process. It must be well understood and well defined => Level 2

Page 9: Service Oriented Architecture [3/5] : Business Process Management using BPEL

Business Process Management

BPM is discipline that covers all aspects of defining and performing business process.

It has the following components

– Define the business process– Establish the business process– Put the process into practice– Monitor and control the process– Improve the business process

Page 10: Service Oriented Architecture [3/5] : Business Process Management using BPEL

BPM Benefit

Reduce the impedance mismatch between business requirements and IT systems

Increase employee productivity and reduce operational costs

Increase corporate agility and flexibility

Reduce development costs and effort

Page 11: Service Oriented Architecture [3/5] : Business Process Management using BPEL

Business Process and SOA

SOA is an approach for application integration

The most important SOA concept is composition of services into business processes.

Services are composed in a particular order and provide a set of rule to provide support for business processes

It also enable us to modify business processes quickly

implementation of a BPM system and the ability to more easily create, manage, and maintain composite applications

Page 12: Service Oriented Architecture [3/5] : Business Process Management using BPEL

Silo IT

Page 13: Service Oriented Architecture [3/5] : Business Process Management using BPEL

SOA and Web Services

Page 14: Service Oriented Architecture [3/5] : Business Process Management using BPEL

Business Process Layer

Page 15: Service Oriented Architecture [3/5] : Business Process Management using BPEL

BPM without Services

Page 16: Service Oriented Architecture [3/5] : Business Process Management using BPEL

Business Process Approach

Orchestration

Business Process with central coordinator

WS-BPEL

Choreography

Business Collaboration

WS-CDL

Page 17: Service Oriented Architecture [3/5] : Business Process Management using BPEL

Orchestration

Page 18: Service Oriented Architecture [3/5] : Business Process Management using BPEL

Choreography

Page 19: Service Oriented Architecture [3/5] : Business Process Management using BPEL

19

What is BPEL?

Page 20: Service Oriented Architecture [3/5] : Business Process Management using BPEL
Page 21: Service Oriented Architecture [3/5] : Business Process Management using BPEL

Business Process Languages

• BPEL / WS-BPEL : OASIS Standard • XLANG and the new version XLANG/s from Microsoft• BPML (Business Process Modeling Language) from

BPMI.org• WS-CDL (Web Services Choreography Description

Language)• BPSS (Business Process Specification Schema), part of the

ebXML framework

Page 22: Service Oriented Architecture [3/5] : Business Process Management using BPEL

WS- BPEL

• Web Service- Business Process Execution Language

• Version 1.0 released by IBM, Microsoft and BEA in Aug 2002

• Version 1.1 submitted to OASIS April 2003

• Version 2.0 available (2007)

• XML language for describing business processes based on Web services

• Convergence of XLANG (Microsoft) and WSFL (IBM)

• Unprecendented industry consensus• IBM, Microsoft, Oracle, Sun, BEA, SAP, Siebel …

Page 23: Service Oriented Architecture [3/5] : Business Process Management using BPEL

BPEL Is a Web Service Sequencing Language

• Process defines “conversation” flow chart– Conversation consists of only WSDL-described message

exchanges.

• Process instance is a particular conversation following the chart– Execution systems can support multiple concurrent

conversations.

Page 24: Service Oriented Architecture [3/5] : Business Process Management using BPEL

Value Proposition of WS-BPEL

• Portable business processes– Built on top of an interoperable infrastructure of Web

services

• Industry wide language for business processes– Common skill set and language for developers

• Choice of process engines– Standards lead to competitive offerings

Page 25: Service Oriented Architecture [3/5] : Business Process Management using BPEL

Developing BPEL

• Requires a good understanding of WSDL• Knowledge of XML / BPEL commands• For ease , uses modeling diagram like BPMN or

UML

Page 26: Service Oriented Architecture [3/5] : Business Process Management using BPEL

BPEL Document Structure<process> <!– Definition and roles of process participants --> <partnerLinks> ... </partnerLinks> <!- Data/state used within the process --> <variables> ... </variables> <!- Properties that enable conversations --> <correlationSets> ... </correlationSets> <!- Exception handling --> <faultHandlers> ... </faultHandlers>

<!- Error recovery – undoing actions --> <compensationHandlers> ... </compensationHandlers> <!- Concurrent events with process itself --> <eventHandlers> ... </eventHandlers> <!- Business process flow --> (activities)*</process>

Page 27: Service Oriented Architecture [3/5] : Business Process Management using BPEL

BPEL Activities

Basic Activities <invoke> <receive> <reply> <assign> <throw> <wait> <empty>

Structured Activities <sequence> <while> <pick> <flow> <scope> <compensate> <switch> <link>

Page 28: Service Oriented Architecture [3/5] : Business Process Management using BPEL

BPEL: Basic Activities <invoke>

To invoke a one-way or request/response operation on a portType offered by a partner

<receive> To do a blocking wait for a matching message to arrive Can be the instantiator of the business process

<reply> To send a message in reply to a message that was received

through a <receive> The combination of a <receive> and a <reply> forms a

request-response operation on the WSDL portType for the process

Page 29: Service Oriented Architecture [3/5] : Business Process Management using BPEL

<assign> Can be used to update the values of variables with new data

<throw> Generates a fault from inside the business process

<wait> Allows you to wait for a given time period or until a certain

time has passed <empty>

Allows you to insert a "no-op" instruction into a business process

This is useful for synchronization of concurrent activities, for instance

BPEL: Basic Activities (cont.)

Page 30: Service Oriented Architecture [3/5] : Business Process Management using BPEL

BPEL: Structured Activities

<sequence>

Perform activities in sequential order

<flow>

Perform activities in parallel

<switch>

Conditional choice of activities

<scope>

Enclose multiple activities in a single scope

Page 31: Service Oriented Architecture [3/5] : Business Process Management using BPEL

Example Business Process

Invoke <InventoryService>

Invoke <CreditService>

Reply <Invoice>

Receive <PO>

<sequence>

<flow>

</sequence>

Page 32: Service Oriented Architecture [3/5] : Business Process Management using BPEL

Sample Activities in BPEL<sequence> <receive partnerLink=“customer” portType=“lns:purchaseOrderPT" operation=“sendPurchaseOrder” variable=“PO” createInstance="yes" /> <flow> <invoke partnerLink=“inventoryChecker” portType=“lns:inventoryPT” operation="checkINV" inputVariable="inventoryRequest" outputVariable="inventoryResponse" />

<invoke partnerLink="creditChecker" portType=“lns:creditPT" operation="checkCRED" inputVariable="creditRequest" outputVariable="creditResponse" /> </flow> ... <reply partnerLink=“customer” portType=“lns:purchaseOrderPT” operation=“sendPurchaseOrder” variable=“invoice"/></sequence>

Page 33: Service Oriented Architecture [3/5] : Business Process Management using BPEL

Simple BPEL Graphic Editor

Page 34: Service Oriented Architecture [3/5] : Business Process Management using BPEL

34

BPEL Tools & Engine

Page 35: Service Oriented Architecture [3/5] : Business Process Management using BPEL

BPEL Components

Page 36: Service Oriented Architecture [3/5] : Business Process Management using BPEL

36

BPEL Designer Tools

• IDE can be used to write BPEL or BPMN• Examples:

– NetBeans 6.1/6.5– Eclipse– Oracle Jdeveloper 10g– IBM WebSphere Studio

Page 37: Service Oriented Architecture [3/5] : Business Process Management using BPEL

37

BPEL Server

• Provides a run time environment for executing BPEL

• Examples– GlassFishESB (via BPEL SE)– Oracle BPEL Process Manager– Microosoft Biztalk– Sun Java CAPS– IBM WebSphere Business Integration Server – Active BPEL Engine– Apache Agila

Page 38: Service Oriented Architecture [3/5] : Business Process Management using BPEL

38

NetBeans BPEL Editor

Page 39: Service Oriented Architecture [3/5] : Business Process Management using BPEL

39

Example : BPEL

Page 40: Service Oriented Architecture [3/5] : Business Process Management using BPEL

40

GlassFish BPEL SE

• GlassFish V2 has OpenESB• Project OpenESB implements ESB runtime using

Java Business Integration (JBI) as the foundation• JBI container has BPEL SE (Service Engine)

Page 41: Service Oriented Architecture [3/5] : Business Process Management using BPEL

41

Resources

Business Process Execution Language for Web Services, Matjaz B. Juric

Java SOA Cookbook, Eben Hewitt Building SOA-Based Composite Applications Using

NetBeans IDE 6, David Salter Understanding SOA with Web Services, Eric

Newcomer SOA in Practice, Nicolai M. Josuttis Service Oriented Architecture Field Guide for

Executives, Kyle Gabhart and Biphas Bhattacharaya

Page 42: Service Oriented Architecture [3/5] : Business Process Management using BPEL

42

Thank you

[email protected]/imcinstitute

www.imcinstitute.com