Business Process Execution Language BPEL - PowerPoint PPT Presentation

1 / 46
About This Presentation
Title:

Business Process Execution Language BPEL

Description:

WS-BPEL calls a key a correlation set it is used to correlate an incoming ... Invoke compensation on all completed child scopes in default order ... – PowerPoint PPT presentation

Number of Views:272
Avg rating:3.0/5.0
Slides: 47
Provided by: Ric118
Category:

less

Transcript and Presenter's Notes

Title: Business Process Execution Language BPEL


1
Business Process Execution Language (BPEL)
  • Rich Powers
  • CSC 9010 Service Oriented Architecture
  • Spring 2008

2
Agenda
  • Business Process 101
  • Business Processes Automation Web Service
    Standards
  • WS-BPEL Overview
  • Intalio BPMS BPEL Platform
  • Future Directions for WS-BPEL Adoption

3
Key Questions
  • What is the concept of Business Process
    Automation and workflow technologies?
  • What are the technologies and standards that
    constitute the SOA approach for Business Process
    Automation?
  • What are the prospects for adoption of BPEL and
    the future direction of standards-based Business
    Process Automation leveraging web services?

4
Agenda
  • Business Process 101
  • Business Processes Automation Web Service
    Standards
  • WS-BPEL Overview
  • Intalio BPMS BPEL Platform
  • Future Directions for WS-BPEL Adoption

5
Business Processes Defined
  • A business process is a collection of
    interrelated tasks, which are designed to deliver
    a particular result
  • Types of business processes
  • Management processes - processes that govern the
    operation of a system
  • Operational processes - processes that constitute
    the core activities of the business and delivers
    the primary value of the organization
  • Supporting processes - which support the core
    processes
  • A business process can be decomposed into several
    sub-processes, which have their own attributes,
    but are aligned with the goal of the overall
    process
  • The analysis of business processes typically
    includes the mapping of processes and
    sub-processes down to an activity level
  • Business processes can be automated through BPM
    software and workflow

6
Holy Grail of BPM
  • IT becomes the enabler of business agility
    through the systemization of flexible processes
  • However
  • Business processes, by nature, are a challenge
    to identify, document, implement, and change

7
Business Process Automation
  • Key Questions for Workflow Design
  • Who Should?
  • Who is involved in the process
  • Do What?
  • What tasks/activities need to be performed
  • To What?
  • What entities (objects) and data involved
  • When?
  • What starts and stops the process
  • In What Order?
  • What is the sequence and interrelationship
    between tasks
  • Why?
  • What is the value proposition of using workflow

8
Expected Benefit of Workflow Automation
  • Improve the speed of a business process
  • Improve the consistency of a business process
  • Improve the quality of a business process
  • The key challenge in workflow automation is to
    determine the ROI and business value to be
    achieved through the introduction of technology

9
Workflow Patterns(www.workflowpatterns.com)
  • Basic Control Flow
  • Sequence
  • Parallel Split
  • Synchronization
  • Exclusive Choice
  • Advanced Branching and Synchronization
  • Multi-Choice
  • Structured Synchronizing Merge
  • Multi-Merge
  • Structured Discriminator
  • Blocking Discriminator
  • Multiple Instance Patterns
  • Multiple Instances without Synchronization
  • Multiple Instances with a Priori Design-Time
    Knowledge
  • Multiple Instances with a Priori Run-Time
    Knowledge
  • State-Based Patterns
  • Deferred Choice
  • Interleaved Parallel Routing
  • Milestone
  • Cancellation and Force Completion Patterns
  • Cancel Task
  • Cancel Case
  • Interation Patterns
  • Arbitrary Cycles
  • Structured Loop
  • Recursion
  • Termination Patterns
  • Implicit Termination
  • Explicit Termination
  • Trigger Patterns
  • Transient Trigger
  • Persistent Trigger

10
Agenda
  • Business Process 101
  • Business Processes Automation Web Service
    Standards
  • WS-BPEL Overview
  • Intalio BPMS BPEL Platform
  • Future Directions for WS-BPEL Adoption

11
Web Services Standards for SOAThe Web Services
Platform Architecture
12
Web Services Standards for SOAThe Web Services
Platform Architecture
WS-C WS-N
WS-RF
WS-BPEL
SCA
UDDI, WS-Addr, Metadata Exch.,
WS-RM
WS-Security
WS-AT WS-BA
WSDL
WS-Policy
SOAP, WS-Addr
JMS, RMI/IIOP, ...
HTTP, TCP/IP, SMTP, FTP,
13
Web Services Standards for SOAThe Web Services
Platform Architecture
WS-C WS-N
WS-RF
WS-BPEL
SCA
UDDI, WS-Addr, Metadata Exch.,
WS-RM
WS-Security
WS-AT WS-BA
WSDL
WS-Policy
SOAP, WS-Addr
JMS, RMI/IIOP, ...
HTTP, TCP/IP, SMTP, FTP,
14
Agenda
  • Business Process 101
  • Business Processes Automation Web Service
    Standards
  • WS-BPEL Overview
  • Intalio BPMS BPEL Platform
  • Future Directions for WS-BPEL Adoption

15
Business Process Execution Language (BPEL)
  • Web Services Business Process Execution Language
    (WS-BPEL) is a language for describing business
    processes based on Web Services
  • Processes described using WS-BPEL execute
    functionality by using Web Service interfaces
    exclusively
  • WS-BPEL Specification is administered by OASIS
  • WS-BPEL is an orchestration language, not a
    choreography language
  • Orchestration specifies an executable process
    that involves message exchanges with other
    systems, such that that the message exchange
    sequences are controlled by the orchestration
    designer.
  • Choreography specifies a protocol for
    peer-to-peer interactions, defining the legal
    sequences of messages exchanged with the
    objective of guaranteeing interoperability
  • A choreography is not directly executable
  • A choreography can be implemented through an
    orchestration (i.e. a BPEL process)

16
BPEL Standard Sponsorship
17
WS-BPEL 2.0 History
  • Dec 2000
  • Microsoft publishes XLANG
  • March 2001
  • IBM publishes WSFL
  • July 2002
  • IBM, Microsoft, BEA converge WSFL and XLANG into
    BPEL4WS 1.0
  • March 2003
  • BPEL4WS is submitted to OASIS
  • May 2003
  • OASIS publishes BPEL4WS 1.1
  • April 2007
  • WS-BPEL 2.0 standard

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 Language Constructs
  • WS-BPEL process definition
  • Recursive composition and partner links
  • Variables
  • Correlation sets
  • Basic and structured activities
  • Scopes
  • Compensation handling

20
WS-BPEL Process Definition
process
21
Recursive Composition Model
22
Partner Links Element
  • WDSL describes functionality of services provided
    by a partner
  • Partner Link describes the shape of the
    relationship with a partner by describing the
    Port Types used in a peer to peer relationship
  • Example
  • ltpartnerLinksgt
  • ltpartnerLink nameInvoice
  • partnerLinkTypeinvInvoiceType
  • partnerRoleInvoiceServiceProvider/gt
  • ltpartnerLink nameEmployee
  • partnerLinkTypeempEmployeeType
  • partnerRoleEmployeeServiceProvider/gt
  • lt/partnerLinksgt

Reference to WDSL portType element
23
Partner Links
24
Variable Element
  • Variable construct is used to state information
    related to workflow logic
  • Variables can contain entire messages and data
    sets formatted as XSD schema types
  • Example
  • ltvariablesgt
  • ltvariable nameEmployeeHoursRequest
  • messageTypeempgetWeeklyHoursRequestMessage/gt
  • lt/variablesgt

Message Name from Partner Process Definition
25
Variables
process
xsltransform
26
Properties and Correlation Sets
  • How to identify stateful instances via stateless
    WS interfaces?
  • A process instance is assigned one or more keys
  • Business data is used as key, e.g., customerID
  • A key can be compound, e.g., (customerID,
    orderNumber)
  • WS-BPEL calls a key a correlation set it is
    used to correlate an incoming message with a
    process instance

Process 4(0123,15)
Process 3(0815,42)
Process 2(4711,37)
Process 1(0815,12)
27
Basic Activities
process
28
Structured Activities
process


29
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
30
Compensation Handling
6. Undo work (in reverse order)
1. Do some work (successfully invoke two services)
2. Invoke another service (throws fault)
31
BPEL Syntax ExamplePartner Definition
  • lt?xml version"1.0" encoding"utf-8"?gt 
  • ltprocess name"insuranceSelectionProcess"
  • targetNamespace"http//packtpub.com/bpel
    /example/"
  • xmlns"http//schemas.xmlsoap.org/ws/2003
    /03/business-process/"
  • xmlnsins"http//packtpub.com/bpel/insur
    ance/"
  • xmlnscom"http//packtpub.com/bpel/compa
    ny/" gt
  •  
  • ltpartnerLinksgt
  • ltpartnerLink name"client"
  • partnerLinkType"comselectionL
    T"
  • myRole"insuranceSelectionServi
    ce"/gt
  •  
  • ltpartnerLink name"insuranceA"
  • partnerLinkType"insinsuranceL
    T"
  • myRole"insuranceRequester"
  • partnerRole"insuranceService"/
    gt
  •  
  • ltpartnerLink name"insuranceB"
  • partnerLinkType"insinsuranceL
    T"

32
BPEL Syntax Example Variable Definition
  • ltvariablesgt
  • lt!-- input for BPEL process --gt
  • ltvariable name"InsuranceRequest"
  • messageType"insInsuranceRequestM
    essage"/gt
  • lt!-- output from insurance A --gt
  • ltvariable name"InsuranceAResposne"
  • messageType"insInsuranceResponse
    Message"/gt
  • lt!-- output from insurance B --gt
  • ltvariable name"InsuranceBResposne"
  • messageType"insInsuranceResponse
    Message"/gt
  • lt!-- output from BPEL process --gt
  • ltvariable name"InsuranceSelectionResponse"
  • messageType"insInsuranceResponse
    Message"/gt
  • lt/variablesgt
  • ...

33
BPEL Syntax ExampleProcess Steps
  • ltsequencegt
  • lt!-- Receive the initial request from
    client --gt
  • ltreceive partnerLink"client"
  • portType"comInsuranceSelectionPT"
  • operation"SelectInsurance"
  • variable"InsuranceRequest"
  • createInstance"yes" /gt
  • lt!-- Make concurrent invocations to
    Insurance A and B --gt
  • ltflowgt
  •  
  • lt!-- Invoke Insurance A web service --gt
  • ltinvoke partnerLink"insuranceA"
  • portType"insComputeInsurancePre
    miumPT"
  • operation"ComputeInsurancePremiu
    m"
  • inputVariable"InsuranceRequest"
  • outputVariable"InsuranceAResposn
    e" /gt
  •  
  • lt!-- Invoke Insurance B web service --gt
  • ltinvoke partnerLink"insuranceB"

34
BPEL Syntax ExampleProcess Steps (Cont)
  • lt!-- Select the best offer and construct the
    response --gt
  • ltswitchgt
  • ltcase condition"bpwsgetVariableData('Ins
    uranceAResposne',
  • 'confirmationData','/conf
    irmationData/Amount')
  • lt bpwsgetVariableData('Ins
    uranceBResposne',
  • 'confirmationData','/conf
    irmationData/Amount')"gt
  • lt!-- Select Insurance A --gt
  • ltassigngt
  • ltcopygt
  • ltfrom variable"InsuranceAResposne"
    /gt
  • ltto variable"InsuranceSelectionRes
    ponse" /gt
  • lt/copygt
  • lt/assigngt
  • lt/casegt
  • ltotherwisegt
  • lt!-- Select Insurance B --gt
  • ltassigngt
  • ltcopygt
  • ltfrom variable"InsuranceBResposne"
    /gt

35
Agenda
  • Business Process 101
  • Business Processes Automation Web Service
    Standards
  • WS-BPEL Overview
  • Intalio BPMS BPEL Platform
  • Future Directions for WS-BPEL Adoption

36
Intalio BPMS Overview
  • Intalio released a BPMS platform community
    edition under the Mozilla Public License (MPL) in
    late 2006
  • Lighter version of Enterprise BPMS platform
  • BPEL platform based on Apache Geronimo
    application server
  • Graphical developer tool based on Business
    Process Modeling Notation (BPMN)
  • Web site for code, documentation, and tutorials
    http//bpms.intalio.com

37
Agenda
  • Business Process 101
  • Business Processes Automation Web Service
    Standards
  • WS-BPEL Overview
  • BPEL Demonstration using Intalio BPMS
  • Intalio BPMS BPEL Platform

38
WS-BPEL Adoption Products
  • Active Endpoints ActiveBPEL
  • BEA WebLogic
  • Cape Clear Orchestrator
  • Intalio/Apache Orchestration Director Engine
    (Ode)
  • IBM WebSphere Process Server
  • Microsoft BizTalk Server
  • MidOffice BPEL Engine (open source)
  • OpenLink Virtuoso Universal Server
  • Oracle BPEL Process Manager
  • Parasoft BPEL Maestro
  • Progress Sonic BPEL Server
  • SAP NetWeaver
  • Sun eInsight BPM

39
WS-BPEL Follow-on Work
  • BPEL4People human interactions
  • http//www-128.ibm.com/developerworks/webservices/
    library/specification/ws-bpel4people/
  • BPEL-SPE subprocess coordination protocol
  • http//www-128.ibm.com/developerworks/webservices/
    library/specification/ws-bpelsubproc/
  • BPELJ inline Java code in activities and
    expressions
  • http//www-128.ibm.com/developerworks/library/spec
    ification/ws-bpelj/
  • Currency with related standards
  • WSDL 2.0, XPath 2.0, XQuery, etc.

40
WS-BPEL Standards Roadmap
WS-BPEL 2.0
www.oasis.org
WS-BPEL 2.0 Extensions for People
(BPEL4People) http//www-128.ibm.com/developerwork
s/webservices/library/specification/ws-bpel4people
WS-BPEL 2.0 Extensions for Sub-Processes
(BPEL-SPE) http//www-128.ibm.com/developerworks/w
ebservices/library/specification/ws-bpelsubproc W
S-BPEL 2.0 Extensions for Java (BPELJ) http//
Service Component Architecture (SCA) SCA Assembly
ModelSCA WS-BPEL Client and Implementation Model
ww.osoa.org
41
BPEL4People WS-HumanTask
  • Specifications published June 25, 2007
  • http//www-128.ibm.com/developerworks/webservices/
    library/specification/ws-bpel4people/
  • Next step OASIS Technical Committee to be
    created to standardize BPEL4People and
    WS-HumanTask

42
BPEL4People WS-HumanTask Requirements
  • Integration of human-executed activities in Web
    services-based business processes
  • Integration of human-executed activities in
    SOA-based applications
  • Standard-based solution to support
    interoperability and portability scenarios

43
BPEL4People WS-HumanTask Approach
  • BPEL4People
  • Definition of human interactions within WS-BPEL
    processes
  • Specification built on top of WS-BPEL 2.0
  • WS-HumanTask
  • Definition of service-enabled human tasks and
    notifications
  • Coordination protocol used to control autonomy
    and life cycle of service-enabled human tasks in
    an interoperable manner
  • Interoperable programming interface enabling task
    client applications to work with human tasks

44
Service Component Architecture and WS-BPEL
Complementary Technologies
  • Similarities between SCA and WS-BPEL
  • Both are described in a formal language that is
    based on XML
  • Both languages may be used to describe a business
    service that is implemented by composing together
    other business services
  • Both can describe inbound and outbound service
    interactions types by WSDL port types
  • SCA describes the structure of an application
  • Components within the business application
  • Services offered by components Service
    references components depend on
  • Connections between components
  • Endpoint addresses and communication methods used
    for the connections
  • Policies applied to components and to the
    connections between them
  • WS-BPEL describes the logic of a business process
  • Sequences of operations which are performed to
    execute an individual business process
  • Services provided and consumed through
    partnerLinks, that is, abstract interfaces that
    must be connected to actual endpoints and
    communication methods through configuration

45
BPEL Adoption within SOA
  • Though it is one of the first web service
    standards published, the mainstream adoption of
    WS-BPEL has been slow
  • BPEL specification was never a complete
    programming language
  • The implementation of web service solutions have
    focused on HST and JBOWS patterns
  • Gaps in functionality have been filled through
    the use of other programming tools and vendor
    specific extensions
  • Cross version and cross platform interoperability
    has been problematic to date
  • WS-BPEL 2.0 standard specification provides
    promise for improvements in terms of
    interoperability and functionality, however
    challenges remain
  • WS-HumanTask and BPEL4People highlight the need
    to add additional semantics to BPEL
  • Significant presence of well-established and
    highly capable legacy workflow products on the
    market
  • Critical mass of web-services to orchestrate are
    still in development
  • No standard graphical notation for WS-BPEL as the
    OASIS standards committee deemed it out of scope
  • The question of how to create direct visual
    representation of BPEL process descriptions
    still needs to be addressed - Vendor Specific
    Notations, Business Process Modeling Notation
  • BPMN to BPEL 2.0 modeling tools

46
BPEL Process Integration Scenario Microsoft - SAP
  • SAP focused on formal business process workflows
    while Microsoft is focused on informal document
    workflows
  • SAP application platform implementation deployed
    on Netweaver 7.0
  • Implementation of business process automation
    using SAP PI which supports BPEL 2.0
  • Microsoft collaboration implementation built on
    Sharepoint 2007
  • Supports Microsoft WF as work flow engine
  • Biztalk 2006 ? Netweaver PI to provide cross
    platform interoperability using BPEL 2.0
Write a Comment
User Comments (0)
About PowerShow.com