WS-BPEL 2.0 - PowerPoint PPT Presentation

About This Presentation
Title:

WS-BPEL 2.0

Description:

compensate. compensateScope. Invoke compensation on all completed child scopes in default order ... Compensation handler to undo persisted effects of already ... – PowerPoint PPT presentation

Number of Views:85
Avg rating:3.0/5.0
Slides: 46
Provided by: diete9
Category:

less

Transcript and Presenter's Notes

Title: WS-BPEL 2.0


1
WS-BPEL 2.0
www.oasis-open.org
Web ServicesBusiness Process Execution Language
Workshop Dieter König, IBM Senior Technical
Staff Member (dieterkoenig_at_de.ibm.com) Charlton
Barreto, Adobe Senior Computer Scientist/Architect
(charltonb_at_adobe.com)
2
WS-BPEL 2.0
3
Abstract
Business Processes not only play a key role in
Business-to-Business (B2B) and Enterprise
Application Integration (EAI) scenarios by
exposing the appropriate invocation and
interaction patterns but they are the fundamental
basis for building heterogeneous and distributed
applications (workflow-based applications). Web
Services Business Process Execution Language
(WS-BPEL) provides the language to specify
business processes that are composed of Web
services as well as exposed as Web services.
Business Processes specified via WS-BPEL are
portable they can be carried out by every
WS-BPEL compliant execution environment. This
presentation gives an overview of the WS-BPEL
language and shows how it can be used to compose
Web services. It provides highlights of WS-BPEL,
including structured activities, correlation,
compensation, and fault handling. Finally, the
OASIS WS-BPEL Technical Committee work, the
current status of the standard, and an outlook on
follow-on activities is presented.
4
WS-BPEL 2.0
  • Motivation
  • OASIS and WS-BPEL
  • Main Concepts
  • Examples
  • Status and support

5
Motivation
  • Integration continues to be a key problem facing
    businesses
  • Intra-enterprise integration (Enterprise
    Application Integration)
  • Integrating with partners (Business-to-Business
    Integration)
  • Syndication
  • Web services ? move towards service-oriented
    computing
  • Applications are viewed as services
  • Loosely coupled, dynamic interactions
  • Heterogeneous platforms
  • No single party has complete control
  • Service composition
  • How do you compose services in this domain?

6
Integration
7
Concerns addressed by BPEL
  • BPEL processes can automate both simple and
    complex interactions between Web services
  • Supporting long running business transactions
  • Correlating message exchanges
  • Implementing parallel processing of activities
  • Mapping data between partner interactions
  • Providing consistent exception and recovery
    handling

8
Why the Need For BPEL?
  • WSDL defined Web services have a stateless
    interaction model
  • Messages are exchanged using
  • Synchronous invocation
  • Uncorrelated asynchronous invocations
  • Most real-world business processes require a
    more robust interaction model
  • Messages exchanged in a two-way, peer-to-peer
    conversation lasting minutes, hours, days, etc.
  • BPEL provides the ability to express stateful,
    long-running interactions

9
Two programming models
  • Programming in the large
  • Non-programmers implementing flows
  • Flow logic deals with combining functions in
    order to solve a more complex problem (such as
    processing an order)
  • Programming in the small
  • Programmers implementing functions
  • Function logic deals with a discrete fine-grained
    task (such as retrieving an order document or
    updating a customer record)

10
Process Usage Patterns
  • Aiming for a single approach for both
  • Executable processes
  • Contain the partners business logic behind an
    external protocol
  • Abstract processes
  • Define the publicly visible behavior of some or
    all of the services an executable process offers
  • Define a process template embodying
    domain-specific best practices

11
Process Model Requirements
  • Portability and Interoperability
  • Flexible Integration
  • Rich, and easily adaptable to changes in
    underlying services
  • Recursive, type-based composition, enables
  • Third-party composition of existing services
  • Providing different views on a composition to
    different parties
  • Increased scalability and reuse
  • Stateful conversations and lifecycle management
  • Supports multiple stateful long-running
    conversations
  • Recoverability
  • Long running business processes need fault
    handling and compensation mechanisms to manage
    and recover from errors

12
Benefits of BPEL
  • Industry standard language for expressing
    business processes
  • Leverage a common skill set and language
  • Designed to fit naturally into the Web services
    stack
  • Expressed entirely in XML
  • Uses and extends WSDL 1.1
  • Uses XML Schema 1.0 for the data model
  • Portable across platform and vendor
  • Will run on any BPEL-compliant engine
  • Interoperable between interacting processes
  • Layering on top of Web services stack

13
WS-BPEL 2.0
BPEL Historical Timeline Dec 2000 Microsoft
publishes XLANG March 2001 IBM publishes
WSFL July 2002 IBM, Microsoft and BEA converge
WSFL XLANG into BPEL4WS 1.0 March 2003 BPEL4WS
is submitted to OASIS May 2003 OASIS publishes
BPEL4WS 1.1 1stH 2007 WS-BPEL 2.0 released
  • BPEL is the Web Services Orchestration standard
    from OASIS
  • beepel, beepuhl, bipuhl
  • An XML-based grammar for describing the logic to
    orchestrate the interaction between Web services
    in a business process

14
WS-BPEL in the WS- Stack
WS-BPEL
Business Processes
You are here
WSDL, Policy, UDDI, Inspection
Description
Security
Reliable Messaging
Transactions
Quality Of Service
Coordination
Other protocols
Transport and Encoding
SOAP (Logical Messaging)
Other services
XML, Encoding
15
WS-BPEL 2.0
  • Motivation
  • OASIS and WS-BPEL
  • Main Concepts
  • Examples
  • Status and support

16
Getting the Players Together
()
BPEL 1.1
WS-BPEL 2.0
() BPEL 1.1 authors, May 2003
17
OASIS Technical Committee
  • Charter of the WS-BPEL Technical Committee
  • Standardize
  • Common concepts for a business process execution
    language for usage patterns including both the
    process interface descriptions and executable
    process models
  • Explicitly do not address
  • Bindings to specific hardware/software platforms
    and other mechanisms required for a complete
    runtime environment for process implementation
  • gt 280 committee members, including observers
  • 30 active voting members, attending weekly
    calls
  • Issues Process
  • List of all issues available at
  • http//www.choreology.com/external/WS_BPEL_issues
    _list.html (original list - completed)
  • http//www.choreology.com/external/WS_BPEL_review
    _issues_list.html (public review list)

18
WS-BPEL Design Goals
  • Business processes defined using an XML-based
    language
  • Web services are the model for process
    decomposition and assembly
  • The same orchestration concepts are used for both
    the external (abstract) and internal (executable)
    views of a business process
  • Both hierarchical and graph-like control regimes
    are used, reducing the fragmentation of the
    process modeling space
  • An identification mechanism for process instances
    is provided at the application message level
  • The basic lifecycle mechanism is in implicit
    creation and termination of process instances.
  • A long-running transaction model is defined to
    support failure recovery for parts of
    long-running business processes
  • Language built on compatible Web services
    standards in a composable and modular manner

19
WS-BPEL 2.0
  • Motivation
  • OASIS and WS-BPEL
  • Main Concepts
  • Examples
  • Status and support

20
WS-BPEL Language Structure
  • Process
  • Partner links
  • Data handling
  • Properties and correlation
  • Basic and structured activities
  • Scopes

21
WS-BPEL Process Definition
process
22
Relationship with WSDL
  • BPEL is layered on top of and extends the WSDL
    service model
  • WSDL defines the specific operations allowed
  • BPEL defines how WSDL operations are orchestrated
    to satisfy a business process
  • BPEL also specifies extensions to WSDL in support
    of long-running asynchronous business processes

BPEL 2.0
WSDL 1.1
BPEL-defined WSDL extensions
23
Recursive Composition
  • BPEL processes interact with WSDL services
    exposed by business partners

Interfaces exposed by the BPEL process
Interfaces consumed by the BPEL process
Web Service
Web Service
WSDL Loan Approval PortType
Loan Approval Process
receive
Financial Institutions Web Service (Loan
Approver)
invoke
reply
24
Composition of Web Services
Service P
Service A
Service B
receive
invoke
receive
invoke
invoke
As WSDL
Ps WSDL
Bs WSDL
F
Partner Link Type
Partner Link Type
25
Partner Links
26
Variables
process
xsltransform
27
Variable Properties
process
28
Properties and Correlation Sets
How to identify stateful instances via stateless
Web service interfaces?
process
initiate
29
Basic Activities
process
30
Structured Activities
process


31
Nesting Structured Activities
sequence
ltsequencegt ltreceive .../gt ltflowgt
ltsequencegt ltinvoke .../gt ltwhile
... gt ltassigngt...lt/assigngt
lt/whilegt lt/sequencegt ltsequencegt
ltreceive .../gt ltinvoke ... /gt
lt/sequencegt lt/flowgt ltreply .../gt lt/sequencegt
receive
flow
sequence
sequence
receive
invoke
invoke
while
assign
reply
32
Scopes
process
Scopes provide a context which influences the
execution behavior of its enclosed activities
Isolated scopes provide control of concurrent
access to shared resources
33
Process Instance Lifecycle
  • Business processes defined in BPEL represent
    stateful Web services
  • When a process is started, a new instance is
    created according to the process definition
  • The creation and destruction of BPEL process
    instances is by design implicit

Process
receive
reply
invoke
invoke
invoke
34
WS-BPEL 2.0
  • Motivation
  • OASIS and WS-BPEL
  • Main Concepts
  • Examples
  • Status and support

35
Graph-Oriented Authoring Style
flow
loanApprovalPT
riskAssessmentPT
amount lt 10000
amount gt 10000
receive
loan approver
loan assessor
risk "high"
invoke
invoke
assign
risk "low"
approved "true"
approved "false"
reply
1. A customer asks for a loan, providing name and
amount info 2. Two services are involved a)
A risk assessor which can approve the loan if the
risk is low b) A loan approver which checks
the name and approves/disapproves the loan 3. The
reply is returned to the customer
36
Structured Authoring Style
sequence
flow
if-else
if buyer lt seller else
receive (buyer)
assign "failure"
reply (buyer)
reply (seller)
assign "success"
receive (seller)
37
Parallel Processing
scope
parallel forEach
flow
. . .
. . .
. . .
. . .
. . .
. . .
38
Fault Handling Compensation
Process
fault handler
sequence

notify manager
scope
scope
compensation handler
fault handler
compensate
charge credit card
refund customer
ship goods
rethrow
39
Dynamic Partner Link Assignment
Process B
Process A
PortType-B
receive request
invoke service
invoke callback
receive response
PortType-A
40
Abstract Executable Processes
  • Executable Processes
  • Contain the partners business logic behind an
    external protocol
  • Model actual behavior of a participant in a
    business interaction
  • Encompass enough detail to fully specify execution

41
Abstract Executable Processes
  • Abstract Processes
  • Partially specified processes that are not
    intended to be executed
  • May hide some of the required concrete
    operational details
  • Serve a descriptive role
  • Used to guide executable processes
  • More than one possible use case

42
Executable Processes View
Travel Reservation - Example
Abstract Process View
Agent Process
Airline Process
Traveler Process
get itinerary
get order
submit to agent
order tickets
receive tickets
receive confirmation
receive confirmation
confirm flight
send tickets
send confirmation
43
Abstract Profiles
  • Profiles address varying requirements among
    Abstract Processes
  • Two profiles provided in WS-BPEL
  • Observable Behavior
  • Process Template

44
Abstract Profiles Use Cases
  • Use cases
  • Constraints on message exchange
  • Specify order in which messages are consumed or
    produced
  • View on internal processes
  • Only projection of internal (executable) process
    is visible
  • Bridge model to executable
  • Provide hooks to executable for model definition
    to enable abstraction
  • Template as best practice
  • Specification of common activities, major data
    structures, and main control flow

45
WS-BPEL 2.0
  • Motivation
  • OASIS and WS-BPEL
  • Main Concepts
  • Examples
  • Status and support

46
WS-BPEL
  • Portable, interoperable process model for long
    running business processes
  • Flexible integration of Web services
  • WSDL abstract interfaces alone used to define
    composition
  • Enables two levels of adaptive behavior
  • Abstract partners can be bound to actual services
    at runtime
  • The process can choose a protocol for
    communicating with the service at runtime
  • Services whose data definitions do not match can
    be composed
  • Data transformations can be inlined in process
    definition

47
Whats new since BPEL 1.1?
  • Conditional behavior if elseif else
  • Replacing the BPEL4WS 1.1 switch activity
  • Repetitive execution repeatUntil
  • Like BPEL4WS 1.1 while activity with at least one
    iteration
  • Processing multiple branches forEach
  • Sequential or parallel iteration controlled by a
    counter variable and a completion condition
  • Reversing work compensate and compensateScope
  • Compensate all child scopes or one specific child
    scope
  • Propagating faults rethrow
  • Rethrow the fault caught in a fault handler
  • Validating data validate
  • Explicit XML schema validation of WS-BPEL
    variable content
  • Validation also possible within assignment
  • Immediately ending a process exit
  • Replacing the BPEL4WS 1.1 terminate activity
  • Adding new activity types extensionActivity
  • Designated WS-BPEL extension point for new
    activity types

48
Whats new since BPEL 1.1?
  • Variable initialization
  • Inline within variable declaration
  • Partner links
  • Intent for partner role initialization
  • Locally declared messageExchange
  • Internal correlation of receive/pick/onEvent and
    reply activities
  • Correlation sets
  • Join behavior for multiple start activities
  • XML schema variables in Web service activities
  • Usability enhancement for WS-I compliant
    doc/lit-style WS interactions
  • Assignment
  • Clarification of copy behavior
  • Keep source element name
  • Ignore missing from data
  • Extension assign operation
  • XSLT for variable transformations
  • New XPath extension function bpeldoXslTransform(
    ...)
  • XPath access to variable data
  • XPath variable syntax variable.part/location

49
Whats new since BPEL 1.1?
  • Fault handlers
  • XML schema typed fault variables
  • Exit on standard fault behavior
  • Compensation handlers
  • New scope snapshot semantics
  • Fault handling during compensation
  • Event handlers
  • Recurring events
  • Resolution of variable, partnerLink,
    messageExchange, correlationSet
  • Termination handler
  • Customize scope termination behavior
  • Import
  • Predefined import types WSDL and XSD
  • Extensibility
  • Global documentation element
  • Extension namespace declarations
  • Mandatory and optional extensions
  • Abstract processes
  • Common base (syntax) and profiles (semantics)

50
WS-BPEL Adoption Products




















  • Active Endpoints ActiveBPEL Designer
  • Active Endpoints ActiveBPEL Enterprise Server
  • BEA WebLogic
  • bexee BPEL Execution Engine (open source)
  • Cape Clear Orchestrator
  • FiveSight Process eXecution Engine (PXE)
  • IBM WebSphere Studio Application Developer
    Integration Edition
  • IBM WebSphere Business Integration Server
    Foundation
  • IBM WebSphere Integration Developer
  • IBM WebSphere Process Server
  • Microsoft BizTalk Server
  • MidOffice BPEL Editor (open source)
  • MidOffice BPEL Engine (open source)
  • OpenLink Virtuoso Universal Server
  • OpenStorm ChoreoServer
  • Oracle BPEL Process Manager
  • Parasoft BPEL Maestro
  • SAP NetWeaver
  • SeeBeyond eInsight BPM

51
WS-BPEL Application Areas
  • Business Process Design
  • Autonomic Computing
  • Grid Computing
  • Semantic Web

52
WS-BPEL Schedule
  • Status (March 2007)
  • First and second public reviews completed
  • Approved Committee Specification submitted for
    standardization
  • Five organizations have certified use of WS-BPEL
    in product
  • ActiveEndpoints, IBM, Intalio, SEEBURGER, Sun

53
WS-BPEL Schedule
  • Next steps
  • OASIS standard - April 2007
  • Voting opens March 19 and closes March 30
  • OASIS Symposium - April 15-20, 2007San Diego,
    California, USA
  • WS-BPEL Lightning Round - April 16
  • Business Process Sessions - April 16
  • WS-BPEL Workshop - April 18

54
WS-BPEL Follow-on Work
  • BPEL4People
  • Human user interactions
  • http//www-128.ibm.com/developerworks/webservices
    /library/specification/ws-bpel4people/
  • BPEL Subprocesses
  • Based on a coordination protocol
  • http//www-128.ibm.com/developerworks/webservices
    /library/specification/ws-bpelsubproc/
  • BPELJ
  • Inline Java code in activities and
    expressionshttp//www-128.ibm.com/developerworks/
    library/specification/ws-bpelj/
  • Currency with related standards
  • WSDL 2.0, XPath 2.0, XQuery, etc.

55
WS-BPEL Resources
  • WS-BPEL 2.0 Committee Specfication (03/2007)
  • http//docs.oasis-open.org/wsbpel/2.0/CS01/wsbp
    el-v2.0-CS01.pdf
  • OASIS Technical Committee
  • http//www.oasis-open.org
  • Info aggregator sites
  • Wikipedia
  • http//en.wikipedia.org/wiki/BPEL
  • BPEL Resource Guide
  • http//bpelsource.com
  • Numerous books and conference papers
  • Analyst reports
  • BPEL4WS 1.1
  • http//www-128.ibm.com/developerworks/library/spec
    ification/ws-bpel/
Write a Comment
User Comments (0)
About PowerShow.com