4. SOA Framework Recap
User Interface Dashboard (KPI)
User Interface + Single Window (Portal)
Business Process Management (BPEL)
Build Re-usable Services (ESB)
External/Internal Systems
4
5. 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
7. Services composition
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
BPEL is used as a dedicated language
8. Business Process Management
addresses how organizations can identify, model,
develop, deploy, and manage their business processes
including processes that involve IT systems and
human interaction.
9. 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
10. Benefit of BPM, SOA and WS
more flexible and agile
implementation of a BPM system and the ability to
more easily create, manage, and maintain composite
applications
15. Need for Business Process
Developing the web services and exposing the
functionality is not sufficient
We also need a way to orchestrate these functionality in
the right order
Example:
Concert ticket purchase Web service has 3 operations,
which need to be performed in the following order
> Getting a price quote
> Purchase a ticket
> Confirmation and cancellation
16. Business Process & Workflow
A business process describes what has to be done
(including input and output). It might include manual
activities (Human Task) and might use any kinds of
resources.
A workflow describes how a certain result can be
reached. It looks further into the details of all the steps
or activities.
17. Example of a business process
hierarchy with a workflow layer
18. Orchestration & Choreography
Orchestration
Business Process with central coordinator
WS-BPEL
Choreography
Business Collaboration
WS-CDL
23. 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
24. 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 …
25. Business Processes with BPEL
• BPEL can describes business processes in two
distinct ways
• Executable business processes specify the exact
details of business processes and can be executed
by a BPEL engine.
• Abstract business processes specify only the
public message exchange between parties, without
including the specific details of process flows.
They are not executable and are rarely used
26. BPEL “Fixes” WSDL
• WSDL: unordered set of operations
– Operations are message exchanges
• Need rules for ordering
27. 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.
28. BPEL is a WS Composition
Language
• Consumes services (invoke)
• Creates services (receive/reply)
• Aggregates fine-grained services
• Creates coarser-grained service
29. 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
31. Developing BPEL
• Requires a good understanding of WSDL
• Knowledge of XML / BPEL commands
• For ease , uses modeling diagram like BPMN or
UML
32. 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>
33. <partnerlink>
• BPEL enable us to accurately specify relations
between several web services in the business
process.
• These relations are called partner links
34. BPEL: Relationship to Partners
WSDL
Partner Service
Partner Service
Partner Service
Orchestrating Process
(BPEL) Partner Service
37. BPMN
• Business Process Manafement Notation
• Notation is similar to UML
• Allow business people to describe a process flow
from a hugh level
• BPEL is more suited to technical people.
40. 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
41. BPEL: Basic Activities (cont.)
<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
42. 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
45. 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
45
46. 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
46
50. 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)
50
51. Resources
Some contents are borrowed from the presentation
slides of Sang Shin, Java™ Technology Evangelist,
Sun Microsystems, Inc.
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
51