service oriented architecture [3/5] : business process management using bpel
DESCRIPTION
Presentation Series on SOA : September 2010TRANSCRIPT
![Page 1: Service Oriented Architecture [3/5] : Business Process Management using BPEL](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/1.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/2.jpg)
2
Agenda
Benefits of BPM?
What is BPEL?
BPEL Tools & Engines
![Page 3: Service Oriented Architecture [3/5] : Business Process Management using BPEL](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/3.jpg)
3
Benefits of BPM?
![Page 4: Service Oriented Architecture [3/5] : Business Process Management using BPEL](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/4.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/5.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/6.jpg)
Example Business Process
![Page 7: Service Oriented Architecture [3/5] : Business Process Management using BPEL](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/7.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/8.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/9.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/10.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/11.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/12.jpg)
Silo IT
![Page 13: Service Oriented Architecture [3/5] : Business Process Management using BPEL](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/13.jpg)
SOA and Web Services
![Page 14: Service Oriented Architecture [3/5] : Business Process Management using BPEL](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/14.jpg)
Business Process Layer
![Page 15: Service Oriented Architecture [3/5] : Business Process Management using BPEL](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/15.jpg)
BPM without Services
![Page 16: Service Oriented Architecture [3/5] : Business Process Management using BPEL](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/16.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/17.jpg)
Orchestration
![Page 18: Service Oriented Architecture [3/5] : Business Process Management using BPEL](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/18.jpg)
Choreography
![Page 19: Service Oriented Architecture [3/5] : Business Process Management using BPEL](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/19.jpg)
19
What is BPEL?
![Page 20: Service Oriented Architecture [3/5] : Business Process Management using BPEL](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/20.jpg)
![Page 21: Service Oriented Architecture [3/5] : Business Process Management using BPEL](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/21.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/22.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/23.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/24.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/25.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/26.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/27.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/28.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/29.jpg)
<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](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/30.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/31.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/32.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/33.jpg)
Simple BPEL Graphic Editor
![Page 34: Service Oriented Architecture [3/5] : Business Process Management using BPEL](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/34.jpg)
34
BPEL Tools & Engine
![Page 35: Service Oriented Architecture [3/5] : Business Process Management using BPEL](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/35.jpg)
BPEL Components
![Page 36: Service Oriented Architecture [3/5] : Business Process Management using BPEL](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/36.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/37.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/38.jpg)
38
NetBeans BPEL Editor
![Page 39: Service Oriented Architecture [3/5] : Business Process Management using BPEL](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/39.jpg)
39
Example : BPEL
![Page 40: Service Oriented Architecture [3/5] : Business Process Management using BPEL](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/40.jpg)
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](https://reader033.vdocuments.site/reader033/viewer/2022050920/5487b434b47959f60c8b54b6/html5/thumbnails/41.jpg)
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