bpel session

Upload: ali-ismail

Post on 09-Apr-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/8/2019 BPEL Session

    1/29

  • 8/8/2019 BPEL Session

    2/29

    Business Process Business Processes Automation & Web

    Service Standards

    WS-BPEL Overview BPEL4People & WS-HumanTask

  • 8/8/2019 BPEL Session

    3/29

    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 theorganization

    Supporting processes - which support the core processes A business process can be decomposed into several sub-

    processes, which have their own attributes, but arealigned with the goal of the overall process

    The analysis of business processes typically includes themapping of processes and sub-processes down to anactivity level

    Business processes can be automated through BPMsoftware and workflow

  • 8/8/2019 BPEL Session

    4/29

    Key Questions for Workflow Design Who Should?

    Who is involved in the process

    Do What?

    What tasks/activities need to be performedTo 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/8/2019 BPEL Session

    5/29

    Improve the speed of a business process Improve the consistency of a business process

    Improve the quality of a business process

  • 8/8/2019 BPEL Session

    6/29

    Business Process

    Business Processes Automation & WebService Standards

    WS-BPEL Overview BPEL4People & WS-HumanTask

  • 8/8/2019 BPEL Session

    7/29

    Messaging

    Qualityof Service

    Transport

    Description

    Components

    Transport

    Interface + Bindings

    Composite

    XML Non-XML

    Security

    Policy

    Discovery,Negotiation,Agreement

    Atomic

    Orchestration Protocols State

    ReliableMessaging

    Transactions

    ComponentModel

  • 8/8/2019 BPEL Session

    8/29

    Messaging

    Qualityof Service

    Transport

    Description

    Components

    Transport

    Interface + Bindings

    Composite

    XML Non-XML

    Security

    Policy

    Discovery,Negotiation,Agreement

    Atomic

    Orchestration Protocols State

    ReliableMessaging

    Transactions

    ComponentModel

    WS-RM

    WSDL* WS-Policy*

    HTTP, TCP/IP, SMTP, FTP,

    UDDI,WS-Addr,Metadat

    aExch.,

    WS-CWS-N* WS-RFWS-BPEL

    WS-Security*WS-ATWS-BA

    SOAP, WS-Addr* JMS, RMI/IIOP, ...

    SCA

  • 8/8/2019 BPEL Session

    9/29

    Messaging

    Qualityof Service

    Transport

    Description

    Components

    Transport

    Interface + Bindings

    Composite

    XML Non-XML

    Security

    Policy

    Discovery,Negotiation,Agreement

    Atomic

    Orchestration Protocols State

    ReliableMessaging

    Transactions

    ComponentModel

    WS-RM

    WSDL* WS-Policy*

    HTTP, TCP/IP, SMTP, FTP,

    UDDI,WS-Addr,Metadat

    aExch.,

    WS-CWS-N* WS-RFWS-BPEL

    WS-Security*WS-ATWS-BA

    SOAP, WS-Addr* JMS, RMI/IIOP, ...

    SCA

  • 8/8/2019 BPEL Session

    10/29

    Business Process

    Business Processes Automation & WebService Standards

    WS-BPEL Overview BPEL4People & WS-HumanTask

  • 8/8/2019 BPEL Session

    11/29

    Web Services Business Process ExecutionLanguage (WS-BPEL) is a language for describingbusiness 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. Orchestration specifies an executable process that

    involves message exchanges with other systems, such

    that that the message exchange sequences are controlledby the orchestration designer.

  • 8/8/2019 BPEL Session

    12/29

    WS-BPEL process definition Recursive composition and partner links Variables

    Correlation sets Basic and structured activities Scopes Compensation handling

  • 8/8/2019 BPEL Session

    13/29

    process

    imports

    Declare dependencieson external XMLSchema or WSDLdefinitions

    extensions

    Declare namespaces ofWS-BPEL extension

    attributes and elements

    variables

    Data holding state of abusiness process orexchanged withpartners

    partnerlinks

    Relationships that aWS-BPEL process will

    employ in its behavior

    correlationsets

    Application data fieldsthat together identify

    a conversation

    messageexchanges

    Relationship betweeninbound and outbound

    message activities

    eventhandlers

    Concurrently processinbound messages ortimer alarms

    faulthandlers

    Deal with exceptionalsituations in a process

    primaryactivity

    Perform the processlogic any number ofactivities may berecursively nested

    XMLschemas

    WSDLdefinitions

  • 8/8/2019 BPEL Session

    14/29

    WebService

    Financial

    institutionsWeb serviceimplementation(Loan Approver)

    WebService

    WSDLLoanApprovalPortType

    Loan Approval Process

    invoke

    receive

    reply

    WS-BPEL processes are

    exposed as Webservices

    to business partners

    WS-BPEL processesinteract

    with Web servicesexposed

    by business partners

  • 8/8/2019 BPEL Session

    15/29

    WDSL describes functionality of services provided bya partner

    Partner Link describes the shape of the relationshipwith a partner by describing the Port Types used in apeer to peer relationship

    Example:

    Reference to WDSLportType element

  • 8/8/2019 BPEL Session

    16/29

    process

    partnerlink

    partner link type

    Peer-to-peer conversational partner relationship

    WSDLport type

    myRole

    Provided port type

    WSDLport type

    partnerRole

    Required port type

    receive

    Inbound request service provided by theprocess

    invoke

    Outbound request service required by the

    process

  • 8/8/2019 BPEL Session

    17/29

    Variable construct is used to state informationrelated to workflow logic

    Variables can contain entire messages anddata sets formatted as XSD schema types

    Example:

    Message Namefrom Partner

    Process Definition

  • 8/8/2019 BPEL Session

    18/29

    process

    assign

    xsl:transform

    receive

    request

    response

    invoke

    request

    reply

    response

    42

    WSDLmessage

    WSDLmessage

    WSDLmessages

    Variables defined using WSDL messages

    42XMLschemas

    XML Schemaelements / types

    Variables defined using XML schema elements or types

  • 8/8/2019 BPEL Session

    19/29

    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 anincoming message with a process instance

    Process 4(0123,15)

    Process 3(0815,42)

    Process 2(4711,37)

    Process 1(0815,12)

    0815 42

    Message 2

    customerID

    orderNumber

    4711 37

    Message 1

  • 8/8/2019 BPEL Session

    20/29

    process

    receive reply

    invokeInvoke a one-way or

    request-responseoperation

    Do a blocking wait for amatching message toarrive / send a messagein reply

    validate

    assignUpdate the values ofvariables or partnerlinks with new data

    Validate XML datastored in variables

    throw

    rethrow

    Generate a fault frominside the businessprocess

    Forward a fault frominside a fault handler

    exit

    Immediately terminateexecution of a business

    process instance

    compensate

    compensateScope

    Invoke compensationon all completed child

    scopes in default order

    Invoke compensationon one completed child

    scope

    waitWait for a given time

    period or until a certaintime has passed

    empty No-op instruction fora business process

    extensionActivityWrapper for language

    extensions

  • 8/8/2019 BPEL Session

    21/29

    process

    flowContained activities areexecuted in parallel,partially orderedthrough control links

    sequenceContained activities areperformed sequentiallyin lexical order

    whileContained activity isrepeated while apredicate holds

    repeatUntilContained activity isrepeated until apredicate holds

    pick Block and wait for asuitable message toarrive (or time out)

    forEach Contained activity isperformed sequentiallyor in parallel, controlled

    by a specified countervariable

    if-elseif-else Select exactly onebranch of activity from

    a set of choices

    scope Associate containedactivity with its own local

    variables, partner links,etc.,

    and handlers

    2. N.1.

    B C

    A

    c

    c

    c1 c2

    2. N.1.

    AM2M1

  • 8/8/2019 BPEL Session

    22/29

    process

    scope

    scope

    scope

    scopescope

    scope

    scope

    Scopes provide acontext whichinfluences theexecution behavior ofits enclosed activities

    Isolated scopes providecontrol of concurrentaccess to sharedresources

    scope

    Local declarations partner links, message

    exchanges, variables,correlation setsLocal handlers eventhandlers, faulthandlers, a terminationhandler, and acompensation handler

    Compensation handler toundo persisted effects of

    already completedactivities

    Termination handler todeal with forced scope

    termination (externalfaults)

    primary activity

    scope

  • 8/8/2019 BPEL Session

    23/29

    process

    scope

    invoke

    invoke

    invoke

    faulthandlercompensate

    compensation

    handlercompensatecompensation

    handlercompensation

    handlerinvoke

    invoke

    1. Do some work (successfully invoke two services)

    2. Invoke anotherservice(throws fault)

    3. The faulttriggersthe process-levelfault handler

    4.Compensatepreviouswork5. Propagate

    compensation

    6. Undo work(in reverseorder)

  • 8/8/2019 BPEL Session

    24/29

  • 8/8/2019 BPEL Session

    25/29

    ...

  • 8/8/2019 BPEL Session

    26/29

  • 8/8/2019 BPEL Session

    27/29

  • 8/8/2019 BPEL Session

    28/29

    Business Process Business Processes Automation & Web

    Service Standards

    WS-BPEL Overview BPEL4People & WS-HumanTask

  • 8/8/2019 BPEL Session

    29/29

    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 inan interoperable manner

    Interoperable programming interface enablingtask client applications to work with humantasks