Title: Tvoogude juhtimine
1Töövoogude juhtimine
- Enn Õunapuu
- Tallinna Tehnikaülikool
- enn_at_cc.ttu.ee
- 372 050 97720
2(No Transcript)
3Concepts
- 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)
11Introduction to Business Process Execution
Language for Web Services (BPEL4WS)
Joseph M. Chiusano Booz Allen Hamilton
XML.gov Working Group Washington, DC February
18, 2004
12Overview
- Introduction
- Partner Links
- Main BPEL4WS Process Flow Constructs
- Message Correlation
- Process Compensation
- Questions
13Introduction
14BPEL4WS (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
15BPEL4WS 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
16The 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 -
17BPEL4WS 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
18Partner Links
19Partner 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
20Main BPEL4WS Process Flow Constructs
21The receive, flow and reply constructs are
the main BPEL4WS constructs used to represent
process flows
- The purchase order example uses all three
constructs
22The 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
23The 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
24BPEL4WS 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
25The 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
26Message Correlation
27Message 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
28BPEL4WS 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
29Endpoint References
30BPEL4WS 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
31Process Compensation
32Business 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!
33BPEL4WS 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
34Questions?
35Contact Information
- Joseph M. Chiusano
- Booz Allen Hamilton
- McLean, VA
- (703) 902-6923
- chiusano_joseph_at_bah.com