Tvoogude juhtimine - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

Tvoogude juhtimine

Description:

Activities are done by actors. Actors are persons or machines. A machine can be a computer. ... in the interactions in both directions, along with role names ' ... – PowerPoint PPT presentation

Number of Views:20
Avg rating:3.0/5.0
Slides: 36
Provided by: joona2
Category:

less

Transcript and Presenter's Notes

Title: Tvoogude juhtimine


1
Töövoogude juhtimine
  • Enn Õunapuu
  • Tallinna Tehnikaülikool
  • enn_at_cc.ttu.ee
  • 372 050 97720

2
(No Transcript)
3
Concepts
  • A business process is an ordered set of business
    activities. The goal of a business process is to
    deliver a certain requested service or product.
  • A business activity or activity is an amount of
    work that is uninterruptible and that is
    performed in a non-zero span of time.
  • Activities are done by actors. Actors are persons
    or machines. A machine can be a computer.
  • A workflow is an operational business process. A
    workflow speci.cation defines a workflow. A
    workflow specifcation is also called workflow
    schema or workflow design. The Workflow
    Management Coalition (WFMC) calls a workflow
    specication a process defnition 161. An
    instance of a workflow specifcation is called a
    case.

4
(No Transcript)
5
(No Transcript)
6
(No Transcript)
7
(No Transcript)
8
(No Transcript)
9
(No Transcript)
10
(No Transcript)
11
Introduction to Business Process Execution
Language for Web Services (BPEL4WS)
Joseph M. Chiusano Booz Allen Hamilton
XML.gov Working Group Washington, DC February
18, 2004
12
Overview
  • Introduction
  • Partner Links
  • Main BPEL4WS Process Flow Constructs
  • Message Correlation
  • Process Compensation
  • Questions

13
Introduction
14
BPEL4WS (Business Process Execution Language For
Web Services) provides a language for the formal
specification of business process behavior based
exclusively on Web Services
  • BPEL4WS extends the Web Services interaction
    model and enables it to support business
    transactions
  • It defines a model and grammar for describing the
    behavior of a business process based on
    interactions between the process and its partners
  • The BPEL4WS specification was originally authored
    by IBM, Microsoft, BEA Systems, SAP, and Siebel
    Systems
  • The most current public version is Version 1.1
    (May 2003)
  • http//www-106.ibm.com/developerworks/webservices
    /library/ws-bpel/
  • The OASIS WS BPEL Technical Committee is
    advancing the BPEL4WS Specification
  • Updated version planned for release in
    February/March 2004

15
BPEL4WS sits at the top of the emerging Web
Services stack, at the process/collaboration
modeling layer
  • BPEL4WS sits above Web Services Choreography
    definitions

Process/Collaboration Modeling Definitions
Web Services Choreography Definitions
Current Web Services Stack
16
The BPEL4WS process model is layered on top of
the service model defined by WSDL 1.1
  • WSDL specifies a hierarchy for describing Web
    Services characteristics in an abstract form

17
BPEL4WS is capable of modeling complex business
processes, and the dependencies between activities
  • The following is a BPEL4WS process for handling a
    purchase order

message
Source BPEL4WS Version 1.1 Specification
18
Partner Links
19
Partner links are used to represent interactions
between a service and each of the parties with
which it interacts
  • Partner links define the messages and port types
    used in the interactions in both directions,
    along with role names

20
Main BPEL4WS Process Flow Constructs
21
The receive, flow and reply constructs are
the main BPEL4WS constructs used to represent
process flows
  • The purchase order example uses all three
    constructs

22
The receive, flow and reply constructs are
the main BPEL4WS constructs used to represent
process flows (contd)
  • The receive construct allows a process to do a
    blocking wait for a matching message to arrive
  • ltreceive partnerLink"purchasing"
  • portType"lnspurchaseOrderPT"
  • operation"sendPurchaseOrder"
  • variable"PO"gt
  • lt/receivegt
  • The flow construct allows one or more activities
    to be performed concurrently

Wait to receive a purchase order on the
Purchasing partner link
Represents the purchase order message
Source SOAP 1.1 Recommendation
23
The receive, flow and reply constructs are
the main BPEL4WS constructs used to represent
process flows (contd)
  • The reply construct allows a process to send a
    message in reply to a message that was received
    through a ltreceivegt
  • ltreply partnerLink"purchasing"
  • portType"lnspurchaseOrderPT"
  • operation"sendPurchaseOrder"
  • variableInvoice"gt
  • lt/replygt

Send invoice on the Purchasing partner link
Represents the invoice message
Source SOAP 1.1 Recommendation
24
BPEL4WS is also capable of modeling dependencies
between activities
  • There are several dependencies in the purchase
    order example

Cannot complete production scheduling until
shipping logistics are arranged
Cannot complete price calculation until shipper
is determined
Source BPEL4WS Version 1.1 Specification
25
The synchronization dependencies between
concurrent tasks are expressed by using links
to connect them
  • The following represents the dependency of the
    price calculation on the shipper selected
  • ltinvoke partnerLinkshipping"
  • portType"lnsshippingPT"
  • operationrequestShipping"
  • inputVariable"shippingRequest"gt
  • outputVariable"shippingInfo"gt
  • ltsource linkName"ship-to-invoice"/gt
  • lt/invokegt
  • ltinvoke partnerLinkinvoicing"
  • portType"lnscomputePricePT"
  • operationsendShippingPrice"
  • inputVariable"shippingInfo"gt
  • lttarget linkName"ship-to-invoice"/gt
  • lt/invokegt

This represents the Decide on Shipper activity
This represents the Complete Price Calculation
activity
26
Message Correlation
27
Message correlation involves the association of
two or more messages with each other in an
asynchronous environment
  • This may be done by associating contents in a
    given message with its correlating message
  • For example, in a purchase order/invoice
    scenario, the invoice may contain the
    corresponding purchase order number

Source SOAP 1.1 Recommendation
28
BPEL4WS represents message correlations using
correlation sets
  • A correlation set contains a set of properties
    shared by all messages in a correlated group
  • ltinvoke partnerLink"Buyer" portType"SPBuyerPT"
  • operation"AsyncPurchaseResponse"
    inputVariable"POResponse"gt
  • ltcorrelationsgt
  • ltcorrelation set"PurchaseOrder"
    initiate"no" pattern"out"gt
  • ltcorrelation set"Invoice"
    initiate"yes" pattern"out"gt
  • lt/correlationsgt
  • lt/invokegt
  • ltcorrelationSet name"PurchaseOrder"
  • properties"corcustomerID cororderNumber"/gt
  • ltcorrelationSet name"Invoice"
  • properties"corvendorID corinvoiceNumber"/gt

29
Endpoint References
30
BPEL4WS uses endpoint references for dynamic
selection of service providers and invocation of
their operations
  • The relevant information about a partner service
    can be set up as part of business process
    deployment
  • This is a more static approach
  • However, it is also possible to select and assign
    partner services dynamically
  • BPEL4WS leverages the WS-Addressing specification
    for this capability
  • WS-Addressing defines a standard representation
    for endpoint references that incorporates
    information from a WSDL description as well as
    policy information
  • ltwsaEndpointReference xmlnswsa"..."gt
  • ltwsaAddressgthttp//www.someendpoint.comlt/wsa
    Addressgt
  • ltwsaPortTypegtPurchaseOrderPortTypelt/wsaPortTy
    pegt
  • lt/wsaEndpointReferencegt
  • URL http//msdn.microsoft.com/ws/2003/03/ws-addre
    ssing

The portType associated with the address
31
Process Compensation
32
Business processes are often of long duration,
which means that a business process may need to
be cancelled after many transactions have been
committed during its progress
  • Consider a situation in which a user cancels a
    purchase order
  • In this situation, it is not possible to lock
    system resources (ex database records) for
    extended periods of time
  • Therefore, the partial work must be undone as
    best as possible

User Cancels!
33
BPEL4WS defines compensation handlers that are
invoked to perform compensation activities
  • A compensation handler is essentially a wrapper
    for compensation activities
  • Specifies a compensating operation on a given
    portType for a given partner link
  • ltcompensationHandlergt
  • ltinvoke partnerLink"Seller"
  • portType"SPPurchasing"
  • operation"CancelPurchase"
  • inputVariable"getResponse"
  • outputVariable"getConfirmation"gt
  • ltcorrelationsgt
  • ltcorrelation set"PurchaseOrder"
  • pattern"out"/gt
  • lt/correlationsgt
  • lt/invokegt
  • lt/compensationHandlergt

The CancelPurchase operation invokes a
cancellation
The response to the purchase request is used as
input
34
Questions?
35
Contact Information
  • Joseph M. Chiusano
  • Booz Allen Hamilton
  • McLean, VA
  • (703) 902-6923
  • chiusano_joseph_at_bah.com
Write a Comment
User Comments (0)
About PowerShow.com