業(yè)務(wù)流程建模語(yǔ)言BPEL課件_第1頁(yè)
業(yè)務(wù)流程建模語(yǔ)言BPEL課件_第2頁(yè)
業(yè)務(wù)流程建模語(yǔ)言BPEL課件_第3頁(yè)
業(yè)務(wù)流程建模語(yǔ)言BPEL課件_第4頁(yè)
業(yè)務(wù)流程建模語(yǔ)言BPEL課件_第5頁(yè)
已閱讀5頁(yè),還剩187頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

服務(wù)科學(xué)與工程第八章BPEL1服務(wù)科學(xué)與工程第八章BPEL1Wearehere!ServicesatomicandcompositeOperationalSystemsServiceComponentsConsumersBusinessProcessComposition;choreography;businessstatemachinesPackagedApplicationCustomApplicationOOApplicationChannelB2BV2.02山東大學(xué)齊魯軟件學(xué)院Wearehere!ServicesOperationa主要內(nèi)容BPEL簡(jiǎn)介BPEL的基本結(jié)構(gòu)和主要元素BPEL基本活動(dòng)BPEL結(jié)構(gòu)化活動(dòng)BPEL實(shí)例V2.03山東大學(xué)齊魯軟件學(xué)院主要內(nèi)容BPEL簡(jiǎn)介V2.03山東大學(xué)齊魯軟件學(xué)院BPEL簡(jiǎn)介4BPEL簡(jiǎn)介4BPEL:BusinessProcessExecutionLanguage

業(yè)務(wù)流程執(zhí)行語(yǔ)言BuildingStandards-BasedBusinessProcesseswithWebServices5BPEL:BusinessProcessExecutio業(yè)務(wù)流程按業(yè)務(wù)流程之間的協(xié)作方式可以分為單工作流模式和多工作流模式;單工作流模式把一組相關(guān)的服務(wù)按一定順序和條件組合執(zhí)行,完成某項(xiàng)業(yè)務(wù),流程執(zhí)行過(guò)程中涉及的服務(wù)不屬于其他業(yè)務(wù)流程;多工作流模式是兩個(gè)或兩個(gè)以上的工作流程并行執(zhí)行并進(jìn)行交互的業(yè)務(wù)流程模式,多工作流模式側(cè)重于業(yè)務(wù)流程之間的交互。單工作流模式嵌套子流程模式鏈型流程模式V2.06山東大學(xué)齊魯軟件學(xué)院業(yè)務(wù)流程按業(yè)務(wù)流程之間的協(xié)作方式可以分為單工作流模式和多工作BusinessProcessesFlowBusinessprocessesareasetofactivities,supportedbyservices,thatsupportaparticularbusinessactivity.Businessprocessesarebusinessservicesbuiltusingotherbusinessservices.V2.07山東大學(xué)齊魯軟件學(xué)院BusinessProcessesFlowBusinesBPELBPEL4WS是專為整合WebServices而制定的一項(xiàng)規(guī)范標(biāo)準(zhǔn)。BPEL描述流程可執(zhí)行工作流—描述業(yè)務(wù)交互中參與者的實(shí)際行為;抽象流程—描述各方參與者對(duì)外可見(jiàn)的消息交換。BPEL的作用是將一組現(xiàn)有的服務(wù)組合起來(lái),從而定義一個(gè)新的Web服務(wù)。因此,BPEL基本上是一種實(shí)現(xiàn)此種組合的語(yǔ)言。組合服務(wù)的接口也被描述為WSDLportType的集合。V2.08山東大學(xué)齊魯軟件學(xué)院BPELBPEL4WS是專為整合WebServices而制BPELV2.09山東大學(xué)齊魯軟件學(xué)院BPELV2.09山東大學(xué)齊魯軟件學(xué)院WhatBPELdoes…BPELbindsservicestogethertoformlargercomplexbusinessservicesControlFlow(branch,loop,parallel)AsynchronouscorrelationTransactionsupport,UnitsofWorkCompensationV2.010山東大學(xué)齊魯軟件學(xué)院WhatBPELdoes…BPELbindsserWebServicesMeetBusinessProcessesWebService1WebService2WebService3WebService4WebService5WebServicenV2.011山東大學(xué)齊魯軟件學(xué)院WebServicesMeetBusinessProExampleProblemSpaceClientPOServiceCreditServiceInventoryServicePurchase

OrderCredit

CheckReserve

InventoryCredit

ResponseInventory

ResponseInvoiceConsolidateResultsV2.012山東大學(xué)齊魯軟件學(xué)院ExampleProblemSpaceClientPOBusinessProcessChallengesCoordinateasynchronouscommunicationbetweenservicesCorrelatemessageexchangesbetweenpartiesImplementparallelprocessingofactivities...Manipulate/transformdatabetweenpartnerinteractionsSupportforlongrunningbusinesstransactionsandactivitiesProvideconsistentexceptionhandling...V2.013山東大學(xué)齊魯軟件學(xué)院BusinessProcessChallengesCooOrchestration(管弦樂(lè)編曲

)vsChoreography(舞蹈編排)使用Orchestration,需要一個(gè)總控過(guò)程來(lái)控制涉及到的Web服務(wù),并協(xié)調(diào)Web服務(wù)不同操作的執(zhí)行。所涉及到的Web服務(wù)并不知道(也不必知道)它們是組合過(guò)程的一部分。只有中央的總控過(guò)程知道它們?nèi)绾谓M合和協(xié)調(diào)Choreography并不依賴中央的總控協(xié)調(diào)過(guò)程。相反,每個(gè)涉及其中的Web服務(wù)都知道何時(shí)執(zhí)行自己的操作,和誰(shuí)交互。所有的Choreography參與者都需要知道業(yè)務(wù)流程,要執(zhí)行的操作,要交互的消息,和交換消息的時(shí)機(jī)V2.014山東大學(xué)齊魯軟件學(xué)院Orchestration(管弦樂(lè)編曲)vsChoreOrchestration(管弦樂(lè)編曲

)vsChoreography(舞蹈編排)從組合Web服務(wù)來(lái)執(zhí)行業(yè)務(wù)流程的角度來(lái)看,Orchestration比Choreography更靈活:

1、我們知道誰(shuí)負(fù)責(zé)執(zhí)行整個(gè)業(yè)務(wù)流程。

2、即使Web服務(wù)并不知道它們是業(yè)務(wù)流程的一部分,仍然可以把它們組合起來(lái)。

3、當(dāng)錯(cuò)誤發(fā)生時(shí),我們可以提供一個(gè)備選的ScenarioBPEL遵循Orchestration范式V2.015山東大學(xué)齊魯軟件學(xué)院Orchestration(管弦樂(lè)編曲)vsChoreSampleBusinessProcess:PurchaseOrderSamplePurchaseOrderPurchaseOrderRequestPurchaseOrderAcknowledgementPurchaseOrderResponseBusiness

“A”Business“B”V2.016山東大學(xué)齊魯軟件學(xué)院SampleBusinessProcess:PurchFromaChoreographyPerspectivePORequestSend

POReceivePOAckReceivePOResponseReceive

POSend

POAckSendPOResponsePOAcknowledgementPOResponseChoreography–TheobservablepublicexchangeofmessagesPublicProcessBusinessABusinessBV2.017山東大學(xué)齊魯軟件學(xué)院FromaChoreographyPerspectivFromanOrchestrationPerspectiveSend

POReceivePOAckReceivePOResponseTransformTransformFromERPToERPPORequestPOAcknowledgementPOResponseOrchestration–AprivateexecutablebusinessprocessPrivateProcessBusinessABPELWorkflowV2.018山東大學(xué)齊魯軟件學(xué)院FromanOrchestrationPerspectOrchestrationandChoreographyTogetherBusiness

BBusinessAnalystToolBusiness

ASend

POReceivePOAckReceivePOResponseTransformTransformBusinessABPELWorkflowPORequestPOAcknowledgementPOResponseGenerateBPEL

TemplateGenerateBPEL

TemplateReceive

POSendPOAckReceivePOResponseTransformTransformBusinessBBPELWorkflowTwoBPELworkflowtemplatesreflectingabusinessagreementV2.019山東大學(xué)齊魯軟件學(xué)院OrchestrationandChoreographyRecentHistoryof

BusinessProcessStandards2000/05XLang(Microsoft)2001/03BPML(Intallioetal)2001/05WSFL(IBM)2001/06BPSS(ebXML)2002/03BPEL4WS1.0

(IBM,Microsoft)BPEL4WS1.1

(OASIS)2002/062003/01WS-Choreography(W3C)2003/04WSCI(Sunetal)WSCL(HP)2002/08V2.020山東大學(xué)齊魯軟件學(xué)院RecentHistoryof

BusinessPrStandardsBuildingBlocksofBPELDescriptionHTTP,IIOP,JMS,SMTPTransportXMLMessageSOAPWSDLUDDIDiscoveryTransactionsCoordinationWS-SecurityWS-ReliabilityQualityof

ServiceOrchestration-BPEL4WSBusiness

ProcessesContextDescriptionManagementChoreography-CDL4WSV2.021山東大學(xué)齊魯軟件學(xué)院StandardsBuildingBlocksofBBPELDependsonWSDLandWSDLExtensionsServiceImplementationDefinitionServiceInterfaceDefinitionServicePortBindingPorttypesdefineOperationsMessageTypeV2.022山東大學(xué)齊魯軟件學(xué)院BPELDependsonWSDLandWSDLBPEL的基本結(jié)構(gòu)23BPEL的基本結(jié)構(gòu)23BPEL的基本結(jié)構(gòu)<processname="ncname"targetNamespace="uri"queryLanguage="anyURI"?expressionLanguage="anyURI"?suppressJoinFailure="yes|no"?enableInstanceCompensation="yes|no"?abstractProcess="yes|no"?><partnerLinks>?...</partnerLinks><partners>?...</partners><variables>?...</variables><correlationSets>?...</correlationSets><faultHandlers>?...</faultHandlers><compensationHandlers>?...</compensationHandlers><eventHandlers>?...</eventHandlers>

activity</process>V2.024山東大學(xué)齊魯軟件學(xué)院BPEL的基本結(jié)構(gòu)<processname="ncnameBPEL的主要元素partnerLinks:合作伙伴鏈接partners:合作伙伴variables:變量定義correlationSets:相關(guān)集定義faultHandlers:故障處理程序compensationHandlers:補(bǔ)償處理程序eventHandlers:事件處理程序V2.025山東大學(xué)齊魯軟件學(xué)院BPEL的主要元素partnerLinks:合作伙伴鏈接V2PartnersDeclaretheWebservicesandrolesusedbytheprocessTiedtoWSDLoftheprocessitselfandtheparticipatingWebservicesbyservicelinktypesCredit

ServicePartner2Inventory

ServicePartner3Partner1

(theprocess)Purchase

ServiceV2.026山東大學(xué)齊魯軟件學(xué)院PartnersDeclaretheWebservicPartnersinBPEL<partnerLinks><partnerLinkname=“customer"serviceLinkType=“l(fā)ns:purchasePLT”

myRole=“purchaseService”/><partnerLinkname=“inventoryChecker”serviceLinkType=“l(fā)ns:inventoryPLT”

myRole=“inventoryRequestor”partnerRole=“inventoryService”/><partnerLinkname=“creditChecker”serviceLinkType=“l(fā)ns:creditPLT”

myRole=“creditRequestor”partnerRole=“creditService”/></partnerLinks><plt:partnerLinkTypename=“purchasePLT”><plt:rolename=“purchaseService”><plt:portTypename=“tns:purchasePT”/></plt:role></plt:partnerLinkType>PurchaseProcessWSDL:BPEL:<portTypename=“purchasePT”><operation

name="sendPurchase"></operation></portType>PurchaseProcessPortType:V2.027山東大學(xué)齊魯軟件學(xué)院PartnersinBPEL<partnerLinks>合作伙伴鏈接類型<definitionsname="ncname"targetNamespace="uri"xmlns="/wsdl/"xmlns:plnk="/ws/2003/05/partner-link/">...<plnk:partnerLinkTypename="ncname"><plnk:rolename="ncname"><plnk:portTypename="qname"/></plnk:role><plnk:rolename="ncname">?<plnk:portTypename="qname"/></plnk:role></plnk:partnerLinkType>...</definitions>

V2.028山東大學(xué)齊魯軟件學(xué)院合作伙伴鏈接類型<definitionsname="ncn伙伴鏈接類型為了描述兩個(gè)服務(wù)之間的會(huì)話關(guān)系,伙伴鏈接類型定義了會(huì)話中每個(gè)服務(wù)所扮演的“角色”,并且指定了每個(gè)服務(wù)所提供的portType,以便接收會(huì)話的上下文中的消息。每個(gè)角色的portType可以產(chǎn)生于不同的名稱空間,也在產(chǎn)生于相同的名稱空間。根據(jù)相同名稱空間中的portType來(lái)定義合作伙伴鏈接類型的兩個(gè)角色?;锇殒溄宇愋投x文檔可以是獨(dú)立于任一個(gè)服務(wù)的WSDL文檔的單獨(dú)構(gòu)件,也可以被放在定義portType的WSDL文檔中,這些portType也被用來(lái)定義不同的角色。有些情況下,定義僅包含一個(gè)角色的伙伴鏈接類型是有意義的。在這種伙伴鏈接情形中,一個(gè)服務(wù)可以鏈接任何其他服務(wù)。V2.029山東大學(xué)齊魯軟件學(xué)院伙伴鏈接類型為了描述兩個(gè)服務(wù)之間的會(huì)話關(guān)系,伙伴鏈接類型定義伙伴鏈接業(yè)務(wù)流程交互的服務(wù)被描述成伙伴鏈。每個(gè)伙伴鏈由partnerLinkType來(lái)描述。每個(gè)伙伴鏈都被命名。通過(guò)該伙伴鏈的所有服務(wù)交互。屬性myRole指出了業(yè)務(wù)流程本身的角色,而屬性partnerRole指出了伙伴的角色。如果partnerLinkType僅有一個(gè)角色,那么將根據(jù)需要省略其中一個(gè)屬性。<partnerLinks><partnerLinkname="ncname"partnerLinkType="qname"myRole="ncname"?partnerRole="ncname"?>+</partnerLink></partnerLinks>V2.030山東大學(xué)齊魯軟件學(xué)院伙伴鏈接業(yè)務(wù)流程交互的服務(wù)被描述成伙伴鏈。每個(gè)伙伴鏈由par業(yè)務(wù)伙伴伙伴鏈表示兩個(gè)合作伙伴流程之間會(huì)話關(guān)系?;锇閜artner元素被定義為流程的伙伴鏈一部分?;锇槎x是可選的,并且不需要包含流程中定義的所有伙伴鏈。伙伴鏈絕不可以出現(xiàn)在多個(gè)伙伴定義中。

<partners><partnername="ncname">+<partnerLinkname="ncname"/>+</partner></partners>V2.031山東大學(xué)齊魯軟件學(xué)院業(yè)務(wù)伙伴伙伴鏈表示兩個(gè)合作伙伴流程之間會(huì)話關(guān)系。<partn端點(diǎn)引用WSDL的PortType使用抽象消息來(lái)定義抽象功能。端口提供實(shí)際訪問(wèn)信息,包括通信端點(diǎn)和其他與部署有關(guān)的信息。綁定使兩者連結(jié)在一起。服務(wù)的用戶必須靜態(tài)地依賴于由portType定義的抽象接口,但是在通常情況下可以動(dòng)態(tài)地發(fā)現(xiàn)和使用端口定義的信息。端點(diǎn)引用的基本用途是作為一種機(jī)制,用于服務(wù)的特定于端口的數(shù)據(jù)的動(dòng)態(tài)通信。BPEL使用了WS-Addressing中定義的端點(diǎn)引用的概念。流程實(shí)例的伙伴鏈接的每個(gè)伙伴角色被分配一個(gè)具有惟一性的端點(diǎn)引用,這可以在流程的部署過(guò)程中完成,也可以由流程中的某個(gè)活動(dòng)動(dòng)態(tài)地執(zhí)行。V2.032山東大學(xué)齊魯軟件學(xué)院端點(diǎn)引用WSDL的PortType使用抽象消息來(lái)定義抽象功能變量業(yè)務(wù)流程指定了涉及伙伴之間消息交換的有狀態(tài)交互。業(yè)務(wù)流程的狀態(tài)不僅包括被交換的消息,而且還包括用于業(yè)務(wù)邏輯和構(gòu)造發(fā)送給伙伴的消息的中間數(shù)據(jù)。每個(gè)變量的類型可以是WSDL消息類型、XMLSchema簡(jiǎn)單類型或XMLSchema元素。屬于全局流程作用域的變量稱為全局變量;屬于流程作用域的變量稱為局部變量;每個(gè)變量只有在定義它的作用域和嵌套在它所屬于的作用域內(nèi)的全部作用域中才是可見(jiàn)的<variables><variablename="ncname"messageType="qname"?type="qname"?element="qname"?/>+</variables>V2.033山東大學(xué)齊魯軟件學(xué)院變量業(yè)務(wù)流程指定了涉及伙伴之間消息交換的有狀態(tài)交互。業(yè)務(wù)流程VariablesMessagessentandreceivedfrompartnersPersistedforlongrunninginteractionsDefinedinWSDLtypesandmessagesCustomer

ServiceProcess<A><variable><activity><B><activity>PersistPersist/

RetrieveCustomer

ServicePersist/

RetrievePersist/

Retrieve<variable>V2.034山東大學(xué)齊魯軟件學(xué)院VariablesMessagessentandrecVariablesinBPEL<variables><variablename=“PO”messageType=“l(fā)ns:POMessage”/><variablename=“Invoice”messageType=“l(fā)ns:InvMessage”/><variablename=“POFault”messageType=“l(fā)ns:orderFaultType”/></variables><messagename=“POMessage”><partname=“customerInfo”type=“sns:customerInfo”/><partname=“purchaseOrder”type=“sns:purchaseOrder”/></message><messagename="InvMessage"><partname=“IVC”type=“sns:Invoice”/></message><messagename=“orderFaultType”><partname=“problemInfo”type=“xsd:string”/></message>PurchaseProcessWSDL:BPEL:V2.035山東大學(xué)齊魯軟件學(xué)院VariablesinBPEL<variables><mHowisDataManipulation

Done?Using<assign>and<copy>,datacanbecopiedandmanipulatedbetweenvariables<copy>supportsXPathqueriestosub-selectdata<assign><copy><fromvariable="PO"part="customerInfo"/><tovariable=“creditRequest”part="customerInfo"/></copy></assign>V2.036山東大學(xué)齊魯軟件學(xué)院HowisDataManipulation

Done相關(guān)集在面向?qū)ο箢I(lǐng)域通過(guò)對(duì)象引用進(jìn)行有狀態(tài)的交互。對(duì)象引用本身提供了訪問(wèn)具有合適的交互狀態(tài)和歷史的某個(gè)對(duì)象(實(shí)例)的能力。這種方式適用于緊密耦合的實(shí)現(xiàn)。Web服務(wù)領(lǐng)域引用方式將造成實(shí)現(xiàn)之間脆弱的依賴關(guān)系;需要松散耦合機(jī)制實(shí)現(xiàn);避免在實(shí)例路由中使用特定于實(shí)現(xiàn)的標(biāo)記。在業(yè)務(wù)流程實(shí)例的生存期中,它通常與涉及它的伙伴進(jìn)行多次會(huì)話,相關(guān)聯(lián)的會(huì)話涉及的參與者不止兩個(gè),常常有必要提供應(yīng)用程序級(jí)的機(jī)制,以使消息和會(huì)話被匹配到預(yù)定的業(yè)務(wù)流程實(shí)例。V2.037山東大學(xué)齊魯軟件學(xué)院相關(guān)集在面向?qū)ο箢I(lǐng)域V2.037山東大學(xué)齊魯軟件學(xué)院相關(guān)集BPEL提供了聲明性機(jī)制,以指定服務(wù)實(shí)例中相關(guān)聯(lián)的操作組。一組相關(guān)標(biāo)記可定義為相關(guān)聯(lián)的組中所有消息共享的一組特性。這樣的一組特性稱為相關(guān)集。每個(gè)關(guān)聯(lián)集都在一個(gè)作用域中進(jìn)行聲明并屬于該作用域。屬于全局流程作用域的關(guān)聯(lián)集稱為全局關(guān)聯(lián)集;屬于局部作用域,這樣的關(guān)聯(lián)集稱為局部關(guān)聯(lián)集。在流程開(kāi)始時(shí),全局關(guān)聯(lián)集處于未初始化的狀態(tài)。在其所屬的作用域的執(zhí)行開(kāi)始時(shí),本地關(guān)聯(lián)集處于未初始化的狀態(tài)。相關(guān)集在其語(yǔ)義上類似于延遲綁定的常數(shù)。相關(guān)集的綁定由特別標(biāo)記的消息發(fā)送或接收操作來(lái)觸發(fā)。相關(guān)集在其所屬的作用域的生存期中只能初始化一次。在初始化之后,它的值就可被認(rèn)為是業(yè)務(wù)流程實(shí)例的標(biāo)識(shí)的別名。V2.038山東大學(xué)齊魯軟件學(xué)院相關(guān)集BPEL提供了聲明性機(jī)制,以指定服務(wù)實(shí)例中相關(guān)聯(lián)的操作相關(guān)集在多方業(yè)務(wù)協(xié)議中初始者流程發(fā)送啟動(dòng)會(huì)話的第一個(gè)消息,從而定義了標(biāo)記該對(duì)話的相關(guān)集中的特性值。所有其他參與者通過(guò)接收提供相關(guān)集中的特性值的傳入消息來(lái)綁定會(huì)話中的相關(guān)集。初始者和其他參與者都必須發(fā)送啟動(dòng)會(huì)話的第一個(gè)消息,從而定義標(biāo)記會(huì)話的相關(guān)集中的特性值。相關(guān)集的名稱用在invoke、receive和reply活動(dòng)中,也用在pick活動(dòng)的onMessage分支中,同時(shí)還用在事件處理程序的onMessage形式中。<correlationSets>?<correlationSetname="ncname"properties="qname-list"/>+</correlationSets>V2.039山東大學(xué)齊魯軟件學(xué)院相關(guān)集在多方業(yè)務(wù)協(xié)議中V2.039山東大學(xué)齊魯軟件學(xué)院故障處理程序故障處理是因發(fā)生故障而切換到撤銷發(fā)生故障的作用域中的部分或不成功的工作。故障處理程序提供了定義一組自定義的故障處理活動(dòng)的方法,句法上定義為catch活動(dòng)。定義的每個(gè)catch活動(dòng)能攔截某種特定的故障(由全局惟一的故障QName和有與該故障相關(guān)聯(lián)的數(shù)據(jù)的變量來(lái)定義)。如果沒(méi)有故障名,那么catch將攔截全部有適合類型的故障數(shù)據(jù)的故障。使用catch處理程序中的faultVariable屬性來(lái)指定故障變量。<faultHandlers><catchfaultName="qname“aultVariable="ncname">activity</catch><catchAll>activity</catchAll></faultHandlers>V2.040山東大學(xué)齊魯軟件學(xué)院故障處理程序故障處理是因發(fā)生故障而切換到撤銷發(fā)生故障的作用域故障處理程序?qū)nvoke活動(dòng)的故障響應(yīng)是故障的來(lái)源之一,根據(jù)WSDL操作中的故障定義,該故障有顯式給出的名稱和數(shù)據(jù)部分。程序化地拋出throw活動(dòng)是故障的另一個(gè)來(lái)源,它也有顯式給出的名稱和數(shù)據(jù)。V2.041山東大學(xué)齊魯軟件學(xué)院故障處理程序?qū)nvoke活動(dòng)的故障響應(yīng)是故障的來(lái)源之一,根補(bǔ)償處理程序通過(guò)補(bǔ)償處理程序,作用域可以描述一部分通過(guò)應(yīng)用程序定義的方式可撤銷的行為。有補(bǔ)償處理程序的作用域可不受約束任意深地被嵌套。補(bǔ)償處理程序僅僅是補(bǔ)償活動(dòng)的包裝。在許多情況下,補(bǔ)償處理程序需要接收當(dāng)前狀態(tài)的數(shù)據(jù)并返回關(guān)于補(bǔ)償結(jié)果的數(shù)據(jù)。補(bǔ)償處理程序的調(diào)用方法是使用compensate活動(dòng)。<compensationHandler>?activity</compensationHandler>V2.042山東大學(xué)齊魯軟件學(xué)院補(bǔ)償處理程序通過(guò)補(bǔ)償處理程序,作用域可以描述一部分通過(guò)應(yīng)用程事件處理程序整個(gè)流程以及每個(gè)作用域可以與一組在相應(yīng)的事件發(fā)生時(shí)并發(fā)調(diào)用事件處理程序相關(guān)聯(lián)。在事件處理程序中進(jìn)行任何類型的活動(dòng),但是不允許使用<compensate/>調(diào)用補(bǔ)償處理程序。有兩種類型的事件:與WSDL中請(qǐng)求/響應(yīng)或單向操作對(duì)應(yīng)的傳入消息;用戶設(shè)置的時(shí)間過(guò)后發(fā)出的警報(bào)。V2.043山東大學(xué)齊魯軟件學(xué)院事件處理程序整個(gè)流程以及每個(gè)作用域可以與一組在相應(yīng)的事件發(fā)生事件處理程序<eventHandlers>?<onMessagepartnerLink="ncname"portType="qname"operation="ncname"variable="ncname"?>*<correlations>?<correlationset="ncname"initiate="yes|no">+</correlations>activity</onMessage><onAlarmfor="duration-expr"?until="deadline-expr"?>*activity</onAlarm></eventHandlers>V2.044山東大學(xué)齊魯軟件學(xué)院事件處理程序<eventHandlers>?V2.044山事件處理程序onMessage標(biāo)志表示指定的事件是一個(gè)等待消息到達(dá)的事件。這個(gè)標(biāo)記及其屬性的解釋類似于receive活動(dòng)。partnerLink屬性定義請(qǐng)求將到達(dá)的合作伙伴鏈接。portType和operation屬性是合作伙伴為引發(fā)事件而調(diào)用的適當(dāng)端口類型和操作。變量屬性標(biāo)識(shí)包含從合作伙伴接收到的消息的變量。onAlarm標(biāo)志標(biāo)記超時(shí)事件。for屬性指定該事件發(fā)生之前的持續(xù)時(shí)間。計(jì)算持續(xù)時(shí)間的計(jì)時(shí)在相關(guān)的作用域的執(zhí)行開(kāi)始的時(shí)刻響起。until屬性指定發(fā)出警報(bào)的特定時(shí)刻。這兩個(gè)屬性中僅有一個(gè)必須出現(xiàn)在任何onAlarm事件中。V2.045山東大學(xué)齊魯軟件學(xué)院事件處理程序onMessage標(biāo)志表示指定的事件是一個(gè)等待消BPEL基本活動(dòng)46BPEL基本活動(dòng)46BPEL的活動(dòng)基本活動(dòng)<receive><reply><invoke><assign><throw><terminate><wait><empty>結(jié)構(gòu)化活動(dòng)<sequence><switch><while><pick><flow><scope><compensate>V2.047山東大學(xué)齊魯軟件學(xué)院BPEL的活動(dòng)基本活動(dòng)結(jié)構(gòu)化活動(dòng)V2.047山東大學(xué)齊魯軟件SimpleActivitiesReceiveWaitforapartnerinboundmessageCanbetheinstantiatorofthebusinessprocessReplySynchronousresponsetoareceiveactivityResponsetotheinboundreceivefromapartnerInvokeIssuearequestsynchronously*or*asynchronouslyPickSpecifyaninboundsetofmessagesCanbetheinstantiatorofthebusinessprocessActivitycompleteswhenoneofthemessagesarrivesV2.048山東大學(xué)齊魯軟件學(xué)院SimpleActivitiesReceiveV2.048SimpleActivitiesCombinedwithStructuredActivitiesInvoke<InventoryService>Invoke<CreditService>Reply<Invoice>Receive<PO><sequence><flow></sequence>V2.049山東大學(xué)齊魯軟件學(xué)院SimpleActivitiesCombinedwitSampleActivitiesinBPEL<sequence><receivepartnerLink=“customer”portType=“l(fā)ns:purchaseOrderPT"operation=“sendPurchaseOrder”variable=“PO”createInstance="yes"/><flow><invokepartnerLink=“inventoryChecker”portType=“l(fā)ns:inventoryPT”operation="checkINV"inputVariable="inventoryRequest"outputVariable="inventoryResponse"/><invokepartnerLink="creditChecker"portType=“l(fā)ns:creditPT"operation="checkCRED"inputVariable="creditRequest"outputVariable="creditResponse"/></flow>...<replypartnerLink=“customer”portType=“l(fā)ns:purchaseOrderPT”operation=“sendPurchaseOrder”variable=“invoice"/></sequence>V2.050山東大學(xué)齊魯軟件學(xué)院SampleActivitiesinBPEL<sequreceive<receive>構(gòu)造業(yè)務(wù)流程阻塞等待匹配消息的到達(dá)實(shí)例化業(yè)務(wù)流程的惟一方法是注解receive活動(dòng),把createInstance屬性設(shè)置為“yes”。該屬性的缺省值是“no”。<receivepartnerLink="ncname"portType="qname"operation="ncname"variable="ncname"?createInstance="yes|no"?standard-attributes>standard-elements<correlations>?<correlationset="ncname"initiate="yes|no"?>+</correlations></receive>V2.051山東大學(xué)齊魯軟件學(xué)院receive<receive>構(gòu)造業(yè)務(wù)流程阻塞等待匹配消息reply<reply>構(gòu)造業(yè)務(wù)流程發(fā)送消息以應(yīng)答通過(guò)<receive>接收到的消息。receive和reply的組合為流程構(gòu)成了在WSDLportType上的請(qǐng)求-響應(yīng)操作。<replypartnerLink="ncname"portType="qname"operation="ncname"variable="ncname"?faultName="qname"?standard-attributes>standard-elements<correlations>?<correlationset="ncname"initiate="yes|no"?>+</correlations></reply>V2.052山東大學(xué)齊魯軟件學(xué)院reply<reply>構(gòu)造業(yè)務(wù)流程發(fā)送消息以應(yīng)答通過(guò)<reinvoke<invoke>構(gòu)造允許業(yè)務(wù)流程調(diào)用由合作伙伴在portType上提供的單向或請(qǐng)求-響應(yīng)操作。異步調(diào)用僅需要操作的輸入變量;同步調(diào)用既需要輸入變量,又需要輸出變量。V2.053山東大學(xué)齊魯軟件學(xué)院invoke<invoke>構(gòu)造允許業(yè)務(wù)流程調(diào)用由合作伙伴在invoke<invokepartnerLink="ncname"portType="qname"operation="ncname"inputVariable="ncname"?outputVariable="ncname"?standard-attributes>standard-elements<correlations>?<correlationset="ncname"initiate="yes|no"?pattern="in|out|out-in"/>+</correlations><compensationHandler>?activity</compensationHandler></invoke>V2.054山東大學(xué)齊魯軟件學(xué)院invoke<invokepartnerLink="ncnassign<assign>構(gòu)造的作用是用新的數(shù)據(jù)來(lái)更新變量的值。assign可以包括任意數(shù)量的基本賦值,還可把端點(diǎn)引用復(fù)制到合作伙伴鏈接,或把合作伙伴鏈接復(fù)制到端點(diǎn)引用(服務(wù)的動(dòng)態(tài)綁定)。<assignstandard-attributes>standard-elements<copy>+from-specto-spec</copy></assign>V2.055山東大學(xué)齊魯軟件學(xué)院assign<assign>構(gòu)造的作用是用新的數(shù)據(jù)來(lái)更新變量assignfrom-spec必須是以下形式中的一種:<fromvariable="ncname"part="ncname"?/><frompartnerLink="ncname"endpointReference="myRole|partnerRole"/><fromvariable="ncname"property="qname"/><fromexpression="general-expr"/><from>...literalvalue...</from>to-spec必須是以下形式中的一種:<tovariable="ncname"part="ncname"?/><topartnerLink="ncname"/><tovariable="ncname"property="qname"/>V2.056山東大學(xué)齊魯軟件學(xué)院assignfrom-spec必須是以下形式中的一種:V2throw<throw>構(gòu)造從業(yè)務(wù)流程中生成故障。使用throw發(fā)出內(nèi)部故障。每個(gè)故障需要有一個(gè)全局惟一的QName,還可選提供數(shù)據(jù)的變量。故障處理程序可以使用這種數(shù)據(jù),來(lái)分析和處理該故障并植入需被發(fā)送到其他服務(wù)的所有故障消息。<throwfaultName="qname"faultVariable="ncname"?standard-attributes>standard-elements</throw>V2.057山東大學(xué)齊魯軟件學(xué)院throw<throw>構(gòu)造從業(yè)務(wù)流程中生成故障。<throterminate<terminate>可以用于立即終止該terminate活動(dòng)中運(yùn)行的業(yè)務(wù)流程實(shí)例。所有當(dāng)前正在運(yùn)行的活動(dòng)必須盡可能快地終止,而沒(méi)有任何故障處理或補(bǔ)償行為。<terminatestandard-attributes>standard-elements</terminate>V2.058山東大學(xué)齊魯軟件學(xué)院terminate<terminate>可以用于立即終止該twait<wait>構(gòu)造允許等待一段給定的時(shí)間或等到某一時(shí)刻。必須確切地指定wait中一個(gè)到期條件。<wait(for="duration-expr"|until="deadline-expr")standard-attributes>standard-elements</wait>V2.059山東大學(xué)齊魯軟件學(xué)院wait<wait>構(gòu)造允許等待一段給定的時(shí)間或等到某一時(shí)刻empty與語(yǔ)義<empty>構(gòu)造允許在業(yè)務(wù)流程中插入“no-op”指令。empty可用于并行活動(dòng)的同步。<emptystandard-attributes>standard-elements</empty>V2.060山東大學(xué)齊魯軟件學(xué)院empty與語(yǔ)義<empty>構(gòu)造允許在業(yè)務(wù)流程中插入“nBPEL結(jié)構(gòu)化活動(dòng)61BPEL結(jié)構(gòu)化活動(dòng)61結(jié)構(gòu)化活動(dòng)結(jié)構(gòu)化的活動(dòng)規(guī)定了一組活動(dòng)發(fā)生的順序,描述了創(chuàng)建業(yè)務(wù)流程的基本活動(dòng)組成的結(jié)構(gòu),這些結(jié)構(gòu)表達(dá)了涉及業(yè)務(wù)協(xié)議的流程實(shí)例間的控制形式、數(shù)據(jù)流程、故障和外部事件的處理以及消息交換的協(xié)調(diào)。BPEL的結(jié)構(gòu)化活動(dòng)包括:順序控制由sequence、switch和while組成;活動(dòng)之間的并發(fā)和同步由flow組成;基于外部事件的不確定的選擇由pick組成。遞歸地使用結(jié)構(gòu)化的活動(dòng)。V2.062山東大學(xué)齊魯軟件學(xué)院結(jié)構(gòu)化活動(dòng)結(jié)構(gòu)化的活動(dòng)規(guī)定了一組活動(dòng)發(fā)生的順序,描述了創(chuàng)建業(yè)sequence<sequence>構(gòu)造定義一組按順序先后執(zhí)行的活動(dòng)。執(zhí)行順序是sequence元素中被列出活動(dòng)的先后順序。當(dāng)sequence中的最后一個(gè)活動(dòng)完成后,該sequence活動(dòng)也就完成了。<sequencestandard-attributes>standard-elementsactivity+</sequence>V2.063山東大學(xué)齊魯軟件學(xué)院sequence<sequence>構(gòu)造定義一組按順序先后執(zhí)switch<switch>構(gòu)造允許從一組分支中只選擇一個(gè)活動(dòng)分支。switch由case元素定義的一個(gè)或多個(gè)條件分支的有序列表組成,后面可跟也可以不跟一個(gè)otherwise分支。以case分支的出現(xiàn)順序檢查,第一個(gè)條件是true的分支被選擇并被作為被執(zhí)行的活動(dòng)。如果有條件的分支都未被選擇,那么otherwise分支將被選擇。<switchstandard-attributes>standard-elements<casecondition="bool-expr">+activity</case><otherwise>?activity</otherwise></switch>V2.064山東大學(xué)齊魯軟件學(xué)院switch<switch>構(gòu)造允許從一組分支中只選擇一個(gè)活while<while>構(gòu)造允許指定反復(fù)執(zhí)行一個(gè)活動(dòng),直到某個(gè)成功條件被滿足為止。<whilecondition="bool-expr"standard-attributes>standard-elementsactivity</while>V2.065山東大學(xué)齊魯軟件學(xué)院while<while>構(gòu)造允許指定反復(fù)執(zhí)行一個(gè)活動(dòng),直到某pick<pick>構(gòu)造允許阻塞并等待某一個(gè)合適的消息的到達(dá)或超時(shí)警報(bào)響起。當(dāng)其中一個(gè)觸發(fā)器觸發(fā)后,相關(guān)的活動(dòng)就被執(zhí)行,pick也隨即完成了。pick活動(dòng)等待一組相互排斥事件中的一個(gè)事件的發(fā)生,然后執(zhí)行與發(fā)生的事件相關(guān)聯(lián)的活動(dòng)。如果多個(gè)事件發(fā)生,那么按照時(shí)間發(fā)生先后或選擇原則確定發(fā)生事件。當(dāng)業(yè)務(wù)流程的實(shí)例的創(chuàng)建是由于接收到一組可能的消息中的一個(gè)消息而發(fā)生的時(shí),可以使用pick的特殊形式。每個(gè)pick活動(dòng)必須至少包括一個(gè)onMessage事件。onMessage事件的語(yǔ)義等同于有關(guān)變量屬性的可選類型的receive活動(dòng)。V2.066山東大學(xué)齊魯軟件學(xué)院pick<pick>構(gòu)造允許阻塞并等待某一個(gè)合適的消息的到達(dá)pick<pickcreateInstance="yes|no"?standard-attributes>standard-elements<onMessagepartnerLink="ncname"portType="qname"operation="ncname"variable="ncname"?>+<correlations>?<correlationset="ncname"initiate="yes|no"?>+</correlations>activity</onMessage><onAlarm(for="duration-expr"|until="deadline-expr")>*activity</onAlarm></pick>V2.067山東大學(xué)齊魯軟件學(xué)院pick<pickcreateInstance="yes|flow<flow>構(gòu)造指定一個(gè)或多個(gè)并行地執(zhí)行的活動(dòng)。為了定義任意的控制結(jié)構(gòu),可以在并行的活動(dòng)中使用鏈接。flow能進(jìn)一步表達(dá)直接或間接嵌套在其中的活動(dòng)之間的同步相關(guān)性,link構(gòu)造用來(lái)表達(dá)這種同步相關(guān)性。一個(gè)link有一個(gè)名稱,flow活動(dòng)的所有鏈必須在flow活動(dòng)中分開(kāi)定義。活動(dòng)的標(biāo)準(zhǔn)的source和target元素用來(lái)鏈接兩個(gè)活動(dòng)。在flow活動(dòng)中聲明的每個(gè)link必須在該flow中恰好有一個(gè)活動(dòng)作為它的源,恰好有一個(gè)活動(dòng)作為它的目標(biāo)。<flowstandard-attributes>standard-elements<links>?<linkname="ncname">+</links>activity+</flow>V2.068山東大學(xué)齊魯軟件學(xué)院flow<flow>構(gòu)造指定一個(gè)或多個(gè)并行地執(zhí)行的活動(dòng)。為了<flow><links><linkname="XtoY"/><linkname="CtoD"/></links><sequencename="X"><sourcelinkName="XtoY"/><invokename="A".../><invokename="B".../></sequence><sequencename"Y"><targetlinkName="XtoY"/><receivename="C"/><sourcelinkName="CtoD"/></receive><invokename="E".../></sequence><invokepartnerLink="D"><targetlinkName="CtoD"/></invoke></flow><flow></flow><Y><C><E><X><A><B><D><linkCtoD>Links–ControlFlow<linkXtoY>V2.069山東大學(xué)齊魯軟件學(xué)院<flow><flow></flow><Y><C><E><XCorrelationCustomer

SendPurchase

ProcessPurchaseResponsePO

Correlation:

<PO_CustId=10>

<PO_OrdId=100>POResponse

Correlations:<PO_CustId=10>

<PO_OrdId=100>

<Inv_VendId=20>

<Inv_InvId=200>Seller

AsynchPurchase

AsynchPurchaseResponseinitiate=yesinitiate=yespattern=outinitiate=nopattern=outinitiate=yesinitiate=yesinitiate=noV2.070山東大學(xué)齊魯軟件學(xué)院CorrelationCustomerSendPurchaCorrelationsinBPEL<correlationSets><correlationSetname="POCorr"properties="cor:custIdcor:ordId"/><correlationSetname="InvoiceCorr"properties="cor:vendIdcor:invId"/></correlationSets>...<receivepartnerLink=“Customer”portType="SP:PurchaseOrderPT"operation="AsynchPurchase"variable="PO"><correlations><correlationset="POCorr"initiate="yes"></correlations></receive>...<invokepartnerLink=“Customer”portType="SP:CustomerPT"operation=“ProcessPurchaseResponse"inputVariable="POResponse"><correlations><correlationset="POCorr"initiate="no"pattern="out">

<correlationset="InvoiceCorr"initiate="yes"pattern="out"></correlations></invoke>...V2.071山東大學(xué)齊魯軟件學(xué)院CorrelationsinBPEL<correlatiscope<scope>構(gòu)造允許定義嵌套活動(dòng),這個(gè)嵌套活動(dòng)有和自己關(guān)聯(lián)的變量、故障處理程序和補(bǔ)償處理程序。每個(gè)scope有一個(gè)定義它的正常行為的主要活動(dòng)。該主要活動(dòng)可以是一個(gè)復(fù)雜的結(jié)構(gòu)化的活動(dòng),其中有任意深度的許多嵌套的活動(dòng)。所有的嵌套的活動(dòng)都共享該scope。<scopevariableAccessSerializable="yes|no"standard-attributes>standard-elements<variables>...</variables><correlationSets>...</correlationSets><faultHandlers>...</faultHandlers><compensationHandler>...</compensationHandler><eventHandlers>...</eventHandlers>activity</scope>V2.072山東大學(xué)齊魯軟件學(xué)院scope<scope>構(gòu)造允許定義嵌套活動(dòng),這個(gè)嵌套活動(dòng)有ScopesinBPELProvideasharedcontextforsubsetofactivitiesCancontainfaulthandlerseventhandlers,compensationhandlervariablescorrelationsetsCanserializeconcurrent

accesstovariables<scope

variableAccessSerializable="yes|no“

...>

<variables>

</variables>

<correlationSets>?...</correlationSets>

<faultHandlers>

</faultHandlers>

<compensationHandler>?...</compensationHandler>

<eventHandlers>

</eventHandlers>

(activities)*

</scope>

V2.073山東大學(xué)齊魯軟件學(xué)院ScopesinBPELProvideasharedcompensate<compensate>構(gòu)造已正常完成執(zhí)行的內(nèi)層作用域上調(diào)用補(bǔ)償。compensate命名了執(zhí)行補(bǔ)償所在的作用域。僅當(dāng)作用域正常完成執(zhí)行之后該作用域的補(bǔ)償處理程序才可被調(diào)用。顯式地執(zhí)行compensate活動(dòng)的能力是BPEL的應(yīng)用程序控制的錯(cuò)誤處理框架的基礎(chǔ)所在。該活動(dòng)只能用于業(yè)務(wù)流程的以下部分中:在作用域的fault處理程序中,該作用域直接包括補(bǔ)償將被執(zhí)行的作用域。在作用域的補(bǔ)償處理程序中,該作用域直接包括補(bǔ)償將被執(zhí)行的作用域。如果按名稱顯式地補(bǔ)償?shù)淖饔糜蛟谘h(huán)中被執(zhí)行,那么在后續(xù)的迭代中補(bǔ)償處理程序的實(shí)例將按相反的順序執(zhí)行。<compensatescope="ncname"?standard-attributes>standard-elements</compensate>V2.074山東大學(xué)齊魯軟件學(xué)院compensate<compensate>構(gòu)造已正常完成執(zhí)CompensationHandlers

inBPEL<scope><compensationHandler><invokepartnerLink="Seller"portType="SP:Purchasing"operation="CancelPurchase"inputVariable="getResponse"outputVariable="getConfirmation"><correlations><correlationset="PurchaseOrder"pattern="out"/></correlations></invoke></compensationHandler><invokepartnerLink="Seller"portType="SP:Purchasing"operation="SyncPurchase"inputVariable="sendPO"outputVariable="getResponse"><correlations><correlationset="PurchaseOrder"initiate=“yes”pattern="out"/></correlations></invoke></scope>V2.075山東大學(xué)齊魯軟件學(xué)院CompensationHandlers

inBPELLongRunningTransactionsandCompensationUndoReserveInventory<scope></scope>

ReserveInventoryCancelReserveInvInventoryService

CheckCreditChargeHoldFeeCancelHoldFeeCreditServiceUndoChargeHoldFeeV2.076山東大學(xué)齊魯軟件學(xué)院LongRunningTransactionsandExceptionHandlinginBPEL<faultHandlers>catchexceptionBasedonWSDLportdefiningfault<faultHandlers>canperformactivitiesuponinvocation<faultHandlers>

<catchfaultName="lns:cannotCompleteOrder"faultVariable="POFault"><replypartnerLink="customer"portType="lns:purchaseOrderPT"operation="sendPurchaseOrder"variable="POFault"faultName="cannotCompleteOrder"/></catch></faultHandlers>V2.077山東大學(xué)齊魯軟件學(xué)院ExceptionHandlinginBPEL<fauBPEL實(shí)例78BPEL實(shí)例78JustShowMeHowtoDoit!Partner

WSDL1Process

WSDLPartner

WSDLn...BPELScenario<process><partners><variables><sequence><flow></sequence></process>CompilePackageDeployApplication

ServerBPELRuntimeCompiled

BPELScenarioV2.079山東大學(xué)齊魯軟件學(xué)院JustShowMeHowtoDoit!PartToolingRequirementsIDE–buildyourWebservicesWSDLauthoring–modelyourinterfacesSchemaauthoring–modelyourmessagesProcessmodeling–modelyourorchestrationPackaginganddeploymentDebuggingMonitoringAnalyzingV2.080山東大學(xué)齊魯軟件學(xué)院ToolingRequirementsIDE–buil油泵加工組合服務(wù)流程例子●V2.081山東大學(xué)齊魯軟件學(xué)院油泵加工組合服務(wù)流程例子●V2.081山東大學(xué)齊魯軟件學(xué)院油泵加工組合服務(wù)流程例子分泵、油量調(diào)節(jié)機(jī)構(gòu)、傳動(dòng)機(jī)構(gòu)、泵體等,它們可以分別加工,然后在組裝到一起;提供這些配套加工業(yè)務(wù)的企業(yè)將其加工能力封裝為服務(wù)這五個(gè)服務(wù):分泵加工服務(wù)、油量調(diào)節(jié)機(jī)構(gòu)加工服務(wù)、傳動(dòng)機(jī)構(gòu)加工服務(wù)、泵體加工服務(wù)以及組裝服務(wù),它們被組合為一個(gè)油泵加工組合服務(wù)

V2.082山東大學(xué)齊魯軟件學(xué)院油泵加工組合服務(wù)流程例子分泵、油量調(diào)節(jié)機(jī)構(gòu)、傳動(dòng)機(jī)構(gòu)、泵體等復(fù)合服務(wù)引擎架構(gòu)圖

復(fù)合服務(wù)(流程)部署復(fù)合作業(yè)執(zhí)行/監(jiān)控復(fù)合服務(wù)(流程)的管理BPEL執(zhí)行引擎復(fù)合服務(wù)(流程)管理數(shù)據(jù)庫(kù)復(fù)合服務(wù)容器(引擎)WSWSWSWSWS復(fù)合服務(wù)容器的客戶端V2.083山東大學(xué)齊魯軟件學(xué)院復(fù)合服務(wù)引擎架構(gòu)圖

復(fù)合服務(wù)(流程)部署復(fù)合作業(yè)復(fù)合服務(wù)(流Implementation--VisualflowdesignerUsedforflowplanninginservicecompositionBPELcompatibleServiceselectioninsideGeneratepackage(*.bpr)forActiveBpelengine.V2.084山東大學(xué)齊魯軟件學(xué)院Implementation--VisualflowdeCreateaflowV2.085山東大學(xué)齊魯軟件學(xué)院CreateaflowV2.085山東大學(xué)齊魯軟件學(xué)院activityV2.086山東大學(xué)齊魯軟件學(xué)院activityV2.086山東大學(xué)齊魯軟件學(xué)院AnexampleV2.087山東大學(xué)齊魯軟件學(xué)院AnexampleV2.087山東大學(xué)齊魯軟件學(xué)院IntegrateservicesSelectingV2.088山東大學(xué)齊魯軟件學(xué)院IntegrateservicesSelectingVImportservicestobeinvokeV2.089山東大學(xué)齊魯軟件學(xué)院ImportservicestobeinvokeV2ConfigurecompositionserviceV2.090山東大學(xué)齊魯軟件學(xué)院ConfigurecompositionserviceVGenerate*.bprpackageforActiveBpelengineV2.091山東大學(xué)齊魯軟件學(xué)院Generate*.bprpackageforAct業(yè)務(wù)流程的動(dòng)態(tài)部署業(yè)務(wù)流程部署到作業(yè)管理器,由引擎驅(qū)動(dòng)執(zhí)行新的業(yè)務(wù)可以在不重啟動(dòng)引擎的情況下提交,并由引擎去解釋執(zhí)行,以實(shí)現(xiàn)業(yè)務(wù)的熱部署V2.092山東大學(xué)齊魯軟件學(xué)院業(yè)務(wù)流程的動(dòng)態(tài)部署業(yè)務(wù)流程部署到作業(yè)管理器,由引擎驅(qū)動(dòng)執(zhí)行V工作流程調(diào)用執(zhí)行V2.093山東大學(xué)齊魯軟件學(xué)院工作流程調(diào)用執(zhí)行V2.093山東大學(xué)齊魯軟件學(xué)院業(yè)務(wù)流程執(zhí)行監(jiān)控V2.094山東大學(xué)齊魯軟件學(xué)院業(yè)務(wù)流程執(zhí)行監(jiān)控V2.094山東大學(xué)齊魯軟件學(xué)院本章小結(jié)95本章小結(jié)95RememberBPELDoes

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論