Business Process Execution Language for Web Services (.ppt
《Business Process Execution Language for Web Services (.ppt》由会员分享,可在线阅读,更多相关《Business Process Execution Language for Web Services (.ppt(91页珍藏版)》请在麦多课文档分享上搜索。
1、1,Business Process Execution Language for Web Services (BPEL4WS),2,BPEL vs. WSDL,WSDL supports a stateless model which describes operations supported by web servers One or two messages needed for client/server communication No mechanism for describing state between operations A business process (BP)
2、 typically characterized by long-running, statefull sequence of operations with one or more web services (business partners).,3,Simple Example: Ordering Stationery,cobegininvoke Staples.StationeryQuote(staples-quote); invoke Office-Max.StationeryQuote Service(max-quote); coend; if staples-quote max-
3、quote invoke Staples.StationeryPurchase elseinvoke Office-Max.StationeryPurchase,state,4,New Issues,Must be able to communicate with other Web Services Must be able to access and modify data received in messages Use XPath to extract information from messages Must have control constructs sequence, sw
4、itch (if), flow (concurrency), while, link (synchronize concurrent processes), invoke, etc Must be able to handle faults,5,Example (BPEL), Continued on next slide ,6,Example (BPEL),7,Business Process (BP),A BP consists of both internal computations and invocations of operations exported by web servi
5、ce partners The operations it exports constitute its interface to its partners The sequence of invocations it executes is referred to as a protocol and is data dependent responds to exceptional conditions,8,Abstract Vs. Executable BPs,Executable BP complete description of BP (including all computati
6、ons) Abstract BP contains only externally visible (communication related) behavior of BP Not executable Internal decision making algorithm and data manipulation not described Languages for describing abstract and executable BPs share a common core, but differ primarily in data handling capabilities
7、BPEL4WS is used to specify both abstract and executable BPs,9,Executable BPs,BPEL is sufficient for describing a complete (executable) BP that Relies on web services and XML data Is portable (platform independent) Executable BP is a complete specification of the Web Service Actual implementation, ho
8、wever, might not use BPEL, Abstract BP specifies external interface and can be exported for use by business partners,10,Abstract BP,Unfolding of protocol related portion of BP depends on properties - a subset of the data contained in messages Ex. Message invoking getQuoteRequest might have parts ins
9、trumentType (with value stock or bond) and symbol (which identifies a particular instrument of that type) instrumentType will be a property if it affects the course of the protocol symbol will not if it does not affect the course of the protocol Only properties are visible to abstract BP,11,Abstract
10、 Vs Executable BP,Internal computation of executable BP not included in abstract BP If assignment is to a variable that is not a property, it is eliminated from abstract process Ex. Address data might not affect the protocol If assignment is to a variable that is a property, it (generally) affects t
11、he protocol Ex. Value of bidPrice might affect protocol: if (bidPrice1000) invoke webService1 else invoke webService2 bidPrice will be a property, but its value is computed by an internal algorithm The computation that produces the new value is generally not relevant to the protocol,12,Abstract BP N
12、on-determinism,Description of abstract BP allows assignment of non-deterministic values to properties to model this Abstract and executable BPs differ in data handling ability Executable can explicitly manipulate all data Abstract can access only properties in limited ways and can assign non-determi
13、nistic values to them Executable cannot assign non-deterministic values to anything,13,Abstract BP Non-determinism,computation that assigns a value to part x,non-deterministic assignment to property x (alias of x),switch(x),switch(x ),Executable BP,Abstract BP,14,Communication Client Side,Invoking a
14、n operation of an interface (specified in WSDL) exported by server Client assigns message to operations input variable Client executes invoke on operation Asynchronous (in-only WSDL pattern): Client resumes execution immediately Synchronous (in-out WSDL pattern): Client waits for response and then r
15、esumes execution Client can access response message in operations output variable,15,Communication Client Side,Receiving an operation (e.g., an asynchronous response to a prior invocation) on a (callback) operation exported by client Client executes receive on operation Client waits for message Clie
16、nt can access message in variable associated with operation and resume execution,16,Communication Client Side,client serverinvokeinvokeinvokereceive, , , , ,server exports interface,client exports (callback) operation,(synchronous invoke),(asynchronous invoke),client waits,client continues,problem:
17、how do you associate request with response?, ,17,Communication Server Side,Accepting an operation invocation on an (exported) interface (specified in WSDL) Server executes receive on operation and waits Responding to a synchronous operation invocation Server executes reply on operation (rpc) Invokin
18、g a clients exported (callback) operation Server executes invoke on operation,18,Communication Server Side,client serverinvoke, , , , , ,server exports interface,client exports (callback) interface,(synchronous invoke),(asynchronous invoke),receive,reply,receive,receive,invoke,invoke,receive,invoke,
19、19,Example: Purchase Order (PO) Service,initiate price calculation,complete price calculation,arrange logistics,invoice processing, reply,decide on shipper,complete production scheduling,receive purchase order,initiate production scheduling,concurrency,sequencing,synchronization,20,PO Service,custom
20、er,receive,reply,Body of PO Service,POMsg,InvMsg,operation sendPurchOr on interface purchOrIf,synchronousinvocation,PO Service,21,PO Service Interface (WSDL),- arguments supplied- response,interface exported by PO Service,prefix for target namespace in this document,22,Variables (BPEL),Variables mai
21、ntain the state of a BP Used to store messages that have been sent or received or for local storage (no message involved) Has an associated type: Can be a message typeCan be an XML simple type Can be an XML schema element (which might have a complex type) Has an associated scope,lns is prefix in BPE
22、L document for the WSDL document,23,Partner Link Type (WSDL), describes the way two BPs interact:- names an interface that must be declared in each- associates with each end of the interaction,Only one role since only POService needs to provide an interface,Unit of collaboration,Not a process (allow
23、s actual partner to be specified dynamically),Identifies a BPEL schema,24,Partner Link Type (WSDL),BP playing role of invoice requester,BP playing role of invoice service,invoiceCallbackIf,computePriceIf,description of a possible relationship between two BPs,25,Partner Link (BPEL),hence PO service m
24、ust provide purchOrIf, Connection to another BP described by a partner link construct in BPEL names a process and associates it with a role in that link.,prefix lns refers to WSDL document,name of partnerLink,partner specification in PO service,26,Partner (BPEL),A BP might interact with another BP c
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- BUSINESSPROCESSEXECUTIONLANGUAGEFORWEBSERVICESPPT

链接地址:http://www.mydoc123.com/p-379182.html