




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
效力科学与工程第八章BPEL1Wearehere!ServicesatomicandcompositeOperationalSystemsServiceComponentsConsumersBusinessProcessComposition;choreography;businessstatemachinesPackagedApplicationCustomApplicationOOApplicationChannelB2BV2.02山东大学齐鲁软件学院主要内容BPEL简介BPEL的根本构造和主要元素BPEL根本活动BPEL构造化活动BPEL实例V2.03山东大学齐鲁软件学院BPEL简介4BPEL:BusinessProcessExecutionLanguage
业务流程执行言语BuildingStandards-BasedBusinessProcesseswithWebServices5业务流程按业务流程之间的协作方式可以分为单任务流方式和多任务流方式;单任务流方式把一组相关的效力按一定顺序和条件组合执行,完成某项业务,流程执行过程中涉及的效力不属于其他业务流程;多任务流方式是两个或两个以上的任务流程并行执行并进展交互的业务流程方式,多任务流方式偏重于业务流程之间的交互。单任务流方式嵌套子流程方式链型流程方式V2.06山东大学齐鲁软件学院BusinessProcessesFlowBusinessprocessesareasetofactivities,supportedbyservices,thatsupportaparticularbusinessactivity.Businessprocessesarebusinessservicesbuiltusingotherbusinessservices.V2.07山东大学齐鲁软件学院BPELBPEL4WS是专为整合WebServices而制定的一项规范规范。BPEL描画流程可执行任务流—描画业务交互中参与者的实践行为;笼统流程—描画各方参与者对外可见的音讯交换。BPEL的作用是将一组现有的效力组合起来,从而定义一个新的Web效力。因此,BPEL根本上是一种实现此种组合的言语。组合效力的接口也被描画为WSDLportType的集合。V2.08山东大学齐鲁软件学院BPELV2.09山东大学齐鲁软件学院WhatBPELdoes…BPELbindsservicestogethertoformlargercomplexbusinessservicesControlFlow(branch,loop,parallel)AsynchronouscorrelationTransactionsupport,UnitsofWorkCompensationV2.010山东大学齐鲁软件学院WebServicesMeetBusinessProcessesWebService1WebService2WebService3WebService4WebService5WebServicenV2.011山东大学齐鲁软件学院ExampleProblemSpaceClientPOServiceCreditServiceInventoryServicePurchase
OrderCredit
CheckReserve
InventoryCredit
ResponseInventory
ResponseInvoiceConsolidateResultsV2.012山东大学齐鲁软件学院BusinessProcessChallengesCoordinateasynchronouscommunicationbetweenservicesCorrelatemessageexchangesbetweenpartiesImplementparallelprocessingofactivities...Manipulate/transformdatabetweenpartnerinteractionsSupportforlongrunningbusinesstransactionsandactivitiesProvideconsistentexceptionhandling...V2.013山东大学齐鲁软件学院Orchestration(管弦乐编曲)vsChoreography(舞蹈编排)运用Orchestration,需求一个总控过程来控制涉及到的Web效力,并协调Web效力不同操作的执行。所涉及到的Web效力并不知道〔也不用知道〕它们是组合过程的一部分。只需中央的总控过程知道它们如何组合和协调Choreography并不依赖中央的总控协调过程。相反,每个涉及其中的Web效力都知道何时执行本人的操作,和谁交互。一切的Choreography参与者都需求知道业务流程,要执行的操作,要交互的音讯,和交换音讯的时机V2.014山东大学齐鲁软件学院Orchestration(管弦乐编曲)vsChoreography(舞蹈编排)从组合Web效力来执行业务流程的角度来看,Orchestration比Choreography更灵敏:
1、我们知道谁担任执行整个业务流程。
2、即使Web效力并不知道它们是业务流程的一部分,依然可以把它们组合起来。
3、当错误发生时,我们可以提供一个备选的ScenarioBPEL遵照Orchestration范式V2.015山东大学齐鲁软件学院SampleBusinessProcess:PurchaseOrderSamplePurchaseOrderPurchaseOrderRequestPurchaseOrderAcknowledgementPurchaseOrderResponseBusiness
“A〞Business“B〞V2.016山东大学齐鲁软件学院FromaChoreographyPerspectivePORequestSend
POReceivePOAckReceivePOResponseReceive
POSend
POAckSendPOResponsePOAcknowledgementPOResponseChoreography–TheobservablepublicexchangeofmessagesPublicProcessBusinessABusinessBV2.017山东大学齐鲁软件学院FromanOrchestrationPerspectiveSend
POReceivePOAckReceivePOResponseTransformTransformFromERPToERPPORequestPOAcknowledgementPOResponseOrchestration–AprivateexecutablebusinessprocessPrivateProcessBusinessABPELWorkflowV2.018山东大学齐鲁软件学院OrchestrationandChoreographyTogetherBusiness
BBusinessAnalystToolBusiness
ASend
POReceivePOAckReceivePOResponseTransformTransformBusinessABPELWorkflowPORequestPOAcknowledgementPOResponseGenerateBPEL
TemplateGenerateBPEL
TemplateReceive
POSendPOAckReceivePOResponseTransformTransformBusinessBBPELWorkflowTwoBPELworkflowtemplatesreflectingabusinessagreementV2.019山东大学齐鲁软件学院RecentHistoryof
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山东大学齐鲁软件学院StandardsBuildingBlocksofBPELDescription,IIOP,JMS,SMTPTransportXMLMessageSOAPWSDLUDDIDiscoveryTransactionsCoordinationWS-SecurityWS-ReliabilityQualityof
ServiceOrchestration-BPEL4WSBusiness
ProcessesContextDescriptionManagementChoreography-CDL4WSV2.021山东大学齐鲁软件学院BPELDependsonWSDLandWSDLExtensionsServiceImplementationDefinitionServiceInterfaceDefinitionServicePortBindingPorttypesdefineOperationsMessageTypeV2.022山东大学齐鲁软件学院BPEL的根本构造23BPEL的根本构造<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山东大学齐鲁软件学院BPEL的主要元素partnerLinks:协作同伴链接partners:协作同伴variables:变量定义correlationSets:相关集定义faultHandlers:缺点处置程序compensationHandlers:补偿处置程序eventHandlers:事件处置程序V2.025山东大学齐鲁软件学院PartnersDeclaretheWebservicesandrolesusedbytheprocessTiedtoWSDLoftheprocessitselfandtheparticipatingWebservicesbyservicelinktypesCredit
ServicePartner2Inventory
ServicePartner3Partner1
(theprocess)Purchase
ServiceV2.026山东大学齐鲁软件学院PartnersinBPEL<partnerLinks><partnerLinkname=“customer"serviceLinkType=“lns:purchasePLT〞
myRole=“purchaseService〞/><partnerLinkname=“inventoryChecker〞serviceLinkType=“lns:inventoryPLT〞
myRole=“inventoryRequestor〞partnerRole=“inventoryService〞/><partnerLinkname=“creditChecker〞serviceLinkType=“lns:creditPLT〞myRole=“creditRequestor〞partnerRole=“creditService〞/></partnerLinks><plt:partnerLinkTypename=“purchasePLT〞><plt:rolename=“purchaseService〞><plt:portTypename=“tns:purchasePT〞/></plt:role></plt:partnerLinkType>PurchaseProcessWSDL:BPEL:<portTypename=“purchasePT〞><operationname="sendPurchase"></operation></portType>PurchaseProcessPortType:V2.027山东大学齐鲁软件学院协作同伴链接类型<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山东大学齐鲁软件学院同伴链接类型为了描画两个效力之间的会话关系,同伴链接类型定义了会话中每个效力所扮演的“角色〞,并且指定了每个效力所提供的portType,以便接纳会话的上下文中的音讯。每个角色的portType可以产生于不同的称号空间,也在产生于一样的称号空间。根据一样称号空间中的portType来定义协作同伴链接类型的两个角色。同伴链接类型定义文档可以是独立于任一个效力的WSDL文档的单独构件,也可以被放在定义portType的WSDL文档中,这些portType也被用来定义不同的角色。有些情况下,定义仅包含一个角色的同伴链接类型是有意义的。在这种同伴链接情形中,一个效力可以链接任何其他效力。V2.029山东大学齐鲁软件学院同伴链接业务流程交互的效力被描画成同伴链。每个同伴链由partnerLinkType来描画。每个同伴链都被命名。经过该同伴链的一切效力交互。属性myRole指出了业务流程本身的角色,而属性partnerRole指出了同伴的角色。假设partnerLinkType仅有一个角色,那么将根据需求省略其中一个属性。<partnerLinks><partnerLinkname="ncname"partnerLinkType="qname"myRole="ncname"?partnerRole="ncname"?>+</partnerLink></partnerLinks>V2.030山东大学齐鲁软件学院业务同伴同伴链表示两个协作同伴流程之间会话关系。同伴partner元素被定义为流程的同伴链一部分。同伴定义是可选的,并且不需求包含流程中定义的一切同伴链。同伴链绝不可以出如今多个同伴定义中。<partners><partnername="ncname">+<partnerLinkname="ncname"/>+</partner></partners>V2.031山东大学齐鲁软件学院端点援用WSDL的PortType运用笼统音讯来定义笼统功能。端口提供实践访问信息,包括通讯端点和其他与部署有关的信息。绑定使两者连结在一同。效力的用户必需静态地依赖于由portType定义的笼统接口,但是在通常情况下可以动态地发现和运用端口定义的信息。端点援用的根本用途是作为一种机制,用于效力的特定于端口的数据的动态通讯。BPEL运用了WS-Addressing中定义的端点援用的概念。流程实例的同伴链接的每个同伴角色被分配一个具有独一性的端点援用,这可以在流程的部署过程中完成,也可以由流程中的某个活动动态地执行。V2.032山东大学齐鲁软件学院变量业务流程指定了涉及同伴之间音讯交换的有形状交互。业务流程的形状不仅包括被交换的音讯,而且还包括用于业务逻辑和构造发送给同伴的音讯的中间数据。每个变量的类型可以是WSDL音讯类型、XMLSchema简单类型或XMLSchema元素。属于全局流程作用域的变量称为全局变量;属于流程作用域的变量称为部分变量;每个变量只需在定义它的作用域和嵌套在它所属于的作用域内的全部作用域中才是可见的<variables><variablename="ncname"messageType="qname"?type="qname"?element="qname"?/>+</variables>V2.033山东大学齐鲁软件学院VariablesMessagessentandreceivedfrompartnersPersistedforlongrunninginteractionsDefinedinWSDLtypesandmessagesCustomer
ServiceProcess<A><variable><activity><B><activity>PersistPersist/
RetrieveCustomer
ServicePersist/
RetrievePersist/
Retrieve<variable>V2.034山东大学齐鲁软件学院VariablesinBPEL<variables><variablename=“PO〞messageType=“lns:POMessage〞/><variablename=“Invoice〞messageType=“lns:InvMessage〞/><variablename=“POFault〞messageType=“lns: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山东大学齐鲁软件学院HowisDataManipulation
Done?Using<assign>and<copy>,datacanbecopiedandmanipulatedbetweenvariables<copy>supportsXPathqueriestosub-selectdata<assign><copy><fromvariable="PO"part="customerInfo"/><tovariable=“creditRequest〞part="customerInfo"/></copy></assign>V2.036山东大学齐鲁软件学院相关集在面向对象领域经过对象援用进展有形状的交互。对象援用本身提供了访问具有适宜的交互形状和历史的某个对象〔实例〕的才干。这种方式适用于严密耦合的实现。Web效力领域援用方式将呵斥实现之间脆弱的依赖关系;需求松散耦合机制实现;防止在实例路由中运用特定于实现的标志。在业务流程实例的生存期中,它通常与涉及它的同伴进展多次会话,相关联的会话涉及的参与者不止两个,经常有必要提供应用程序级的机制,以使音讯和会话被匹配到预定的业务流程实例。V2.037山东大学齐鲁软件学院相关集BPEL提供了声明性机制,以指定效力实例中相关联的操作组。一组相关标志可定义为相关联的组中一切音讯共享的一组特性。这样的一组特性称为相关集。每个关联集都在一个作用域中进展声明并属于该作用域。属于全局流程作用域的关联集称为全局关联集;属于部分作用域,这样的关联集称为部分关联集。在流程开场时,全局关联集处于未初始化的形状。在其所属的作用域的执行开场时,本地关联集处于未初始化的形状。相关集在其语义上类似于延迟绑定的常数。相关集的绑定由特别标志的音讯发送或接纳操作来触发。相关集在其所属的作用域的生存期中只能初始化一次。在初始化之后,它的值就可被以为是业务流程实例的标识的别名。V2.038山东大学齐鲁软件学院相关集在多方业务协议中初始者流程发送启动会话的第一个音讯,从而定义了标志该对话的相关集中的特性值。一切其他参与者经过接纳提供相关集中的特性值的传入音讯来绑定会话中的相关集。初始者和其他参与者都必需发送启动会话的第一个音讯,从而定义标志会话的相关集中的特性值。相关集的称号用在invoke、receive和reply活动中,也用在pick活动的onMessage分支中,同时还用在事件处置程序的onMessage方式中。<correlationSets>?<correlationSetname="ncname"properties="qname-list"/>+</correlationSets>V2.039山东大学齐鲁软件学院缺点处置程序缺点处置是因发生缺点而切换到撤销发生缺点的作用域中的部分或不胜利的任务。缺点处置程序提供了定义一组自定义的缺点处置活动的方法,句法上定义为catch活动。定义的每个catch活动能拦截某种特定的缺点〔由全局独一的缺点QName和有与该缺点相关联的数据的变量来定义〕。假设没有缺点名,那么catch将拦截全部有适宜类型的缺点数据的缺点。运用catch处置程序中的faultVariable属性来指定缺点变量。<faultHandlers><catchfaultName="qname“aultVariable="ncname">activity</catch><catchAll>activity</catchAll></faultHandlers>V2.040山东大学齐鲁软件学院缺点处置程序对invoke活动的缺点呼应是缺点的来源之一,根据WSDL操作中的缺点定义,该缺点有显式给出的称号和数据部分。程序化地抛出throw活动是缺点的另一个来源,它也有显式给出的称号和数据。V2.041山东大学齐鲁软件学院补偿处置程序经过补偿处置程序,作用域可以描画一部分经过运用程序定义的方式可撤销的行为。有补偿处置程序的作用域可不受约束恣意深地被嵌套。补偿处置程序仅仅是补偿活动的包装。在许多情况下,补偿处置程序需求接纳当前形状的数据并前往关于补偿结果的数据。补偿处置程序的调用方法是运用compensate活动。<compensationHandler>?activity</compensationHandler>V2.042山东大学齐鲁软件学院事件处置程序整个流程以及每个作用域可以与一组在相应的事件发生时并发调用事件处置程序相关联。在事件处置程序中进展任何类型的活动,但是不允许运用<compensate/>调用补偿处置程序。有两种类型的事件:与WSDL中恳求/呼应或单向操作对应的传入音讯;用户设置的时间过后发出的警报。V2.043山东大学齐鲁软件学院事件处置程序<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山东大学齐鲁软件学院事件处置程序onMessage标志表示指定的事件是一个等待音讯到达的事件。这个标志及其属性的解释类似于receive活动。partnerLink属性定义恳求将到达的协作同伴链接。portType和operation属性是协作同伴为引发事件而调用的适当端口类型和操作。变量属性标识包含从协作同伴接纳到的音讯的变量。onAlarm标志标志超时事件。for属性指定该事件发生之前的继续时间。计算继续时间的计时在相关的作用域的执行开场的时辰响起。until属性指定发出警报的特定时辰。这两个属性中仅有一个必需出如今任何onAlarm事件中。V2.045山东大学齐鲁软件学院BPEL根本活动46BPEL的活动根本活动<receive><reply><invoke><assign><throw><terminate><wait><empty>构造化活动<sequence><switch><while><pick><flow><scope><compensate>V2.047山东大学齐鲁软件学院SimpleActivitiesReceiveWaitforapartnerinboundmessageCanbetheinstantiatorofthebusinessprocessReplySynchronousresponsetoareceiveactivityResponsetotheinboundreceivefromapartnerInvokeIssuearequestsynchronously*or*asynchronouslyPickSpecifyaninboundsetofmessagesCanbetheinstantiatorofthebusinessprocessActivitycompleteswhenoneofthemessagesarrivesV2.048山东大学齐鲁软件学院SimpleActivitiesCombinedwithStructuredActivitiesInvoke<InventoryService>Invoke<CreditService>Reply<Invoice>Receive<PO><sequence><flow></sequence>V2.049山东大学齐鲁软件学院SampleActivitiesinBPEL<sequence><receivepartnerLink=“customer〞portType=“lns:purchaseOrderPT"operation=“sendPurchaseOrder〞variable=“PO〞createInstance="yes"/><flow><invokepartnerLink=“inventoryChecker〞portType=“lns:inventoryPT〞operation="checkINV"inputVariable="inventoryRequest"outputVariable="inventoryResponse"/><invokepartnerLink="creditChecker"portType=“lns:creditPT"operation="checkCRED"inputVariable="creditRequest"outputVariable="creditResponse"/></flow>...<replypartnerLink=“customer〞portType=“lns:purchaseOrderPT〞operation=“sendPurchaseOrder〞variable=“invoice"/></sequence>V2.050山东大学齐鲁软件学院receive<receive>构造业务流程阻塞等待匹配音讯的到达实例化业务流程的独一方法是注解receive活动,把createInstance属性设置为“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山东大学齐鲁软件学院reply<reply>构造业务流程发送音讯以应对经过<receive>接纳到的音讯。receive和reply的组合为流程构成了在WSDLportType上的恳求-呼应操作。<replypartnerLink="ncname"portType="qname"operation="ncname"variable="ncname"?faultName="qname"?standard-attributes>standard-elements<correlations>?<correlationset="ncname"initiate="yes|no"?>+</correlations></reply>V2.052山东大学齐鲁软件学院invoke<invoke>构造允许业务流程调用由协作同伴在portType上提供的单向或恳求-呼应操作。异步伐用仅需求操作的输入变量;同步伐用既需求输入变量,又需求输出变量。V2.053山东大学齐鲁软件学院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山东大学齐鲁软件学院assign<assign>构造的作用是用新的数据来更新变量的值。assign可以包括恣意数量的根本赋值,还可把端点援用复制到协作同伴链接,或把协作同伴链接复制到端点援用〔效力的动态绑定〕。<assignstandard-attributes>standard-elements<copy>+from-specto-spec</copy></assign>V2.055山东大学齐鲁软件学院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山东大学齐鲁软件学院throw<throw>构造从业务流程中生成缺点。运用throw发出内部缺点。每个缺点需求有一个全局独一的QName,还可选提供数据的变量。缺点处置程序可以运用这种数据,来分析和处置该缺点并植入需被发送到其他效力的一切缺点音讯。<throwfaultName="qname"faultVariable="ncname"?standard-attributes>standard-elements</throw>V2.057山东大学齐鲁软件学院terminate<terminate>可以用于立刻终止该terminate活动中运转的业务流程实例。一切当前正在运转的活动必需尽能够快地终止,而没有任何缺点处置或补偿行为。<terminatestandard-attributes>standard-elements</terminate>V2.058山东大学齐鲁软件学院wait<wait>构造允许等待一段给定的时间或等到某一时辰。必需确切地指定wait中一个到期条件。<wait(for="duration-expr"|until="deadline-expr")standard-attributes>standard-elements</wait>V2.059山东大学齐鲁软件学院empty与语义<empty>构造允许在业务流程中插入“no-op〞指令。empty可用于并行活动的同步。<emptystandard-attributes>standard-elements</empty>V2.060山东大学齐鲁软件学院BPEL构造化活动61构造化活动构造化的活动规定了一组活动发生的顺序,描画了创建业务流程的根本活动组成的构造,这些构造表达了涉及业务协议的流程实例间的控制方式、数据流程、缺点和外部事件的处置以及音讯交换的协调。BPEL的构造化活动包括:顺序控制由sequence、switch和while组成;活动之间的并发和同步由flow组成;基于外部事件的不确定的选择由pick组成。递归地运用构造化的活动。V2.062山东大学齐鲁软件学院sequence<sequence>构造定义一组按顺序先后执行的活动。执行顺序是sequence元素中被列出活动的先后顺序。当sequence中的最后一个活动完成后,该sequence活动也就完成了。<sequencestandard-attributes>standard-elementsactivity+</sequence>V2.063山东大学齐鲁软件学院switch<switch>构造允许从一组分支中只选择一个活动分支。switch由case元素定义的一个或多个条件分支的有序列表组成,后面可跟也可以不跟一个otherwise分支。以case分支的出现顺序检查,第一个条件是true的分支被选择并被作为被执行的活动。假设有条件的分支都未被选择,那么otherwise分支将被选择。<switchstandard-attributes>standard-elements<casecondition="bool-expr">+activity</case><otherwise>?activity</otherwise></switch>V2.064山东大学齐鲁软件学院while<while>构造允许指定反复执行一个活动,直到某个胜利条件被满足为止。<whilecondition="bool-expr"standard-attributes>standard-elementsactivity</while>V2.065山东大学齐鲁软件学院pick<pick>构造允许阻塞并等待某一个适宜的音讯的到达或超时警报响起。当其中一个触发器触发后,相关的活动就被执行,pick也随即完成了。pick活动等待一组相互排斥事件中的一个事件的发生,然后执行与发生的事件相关联的活动。假设多个事件发生,那么按照时间发生先后或选择原那么确定发惹事件。当业务流程的实例的创建是由于接纳到一组能够的音讯中的一个音讯而发生的时,可以运用pick的特殊方式。每个pick活动必需至少包括一个onMessage事件。onMessage事件的语义等同于有关变量属性的可选类型的receive活动。V2.066山东大学齐鲁软件学院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山东大学齐鲁软件学院flow<flow>构造指定一个或多个并行地执行的活动。为了定义恣意的控制构造,可以在并行的活动中运用链接。flow能进一步表达直接或间接嵌套在其中的活动之间的同步相关性,link构造用来表达这种同步相关性。一个link有一个称号,flow活动的一切链必需在flow活动中分开定义。活动的规范的source和target元素用来链接两个活动。在flow活动中声明的每个link必需在该flow中恰好有一个活动作为它的源,恰好有一个活动作为它的目的。<flowstandard-attributes>standard-elements<links>?<linkname="ncname">+</links>activity+</flow>V2.068山东大学齐鲁软件学院<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山东大学齐鲁软件学院CorrelationCustomerSendPurchase
ProcessPurchaseResponsePO
Correlation:
<PO_CustId=10>
<PO_OrdId=100>POResponse
Correlations:<PO_CustId=10>
<PO_OrdId=100>
<Inv_VendId=20>
<Inv_InvId=200>SellerAsynchPurchase
AsynchPurchaseResponseinitiate=yesinitiate=yespattern=outinitiate=nopattern=outinitiate=yesinitiate=yesinitiate=noV2.070山东大学齐鲁软件学院CorrelationsinBPEL<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山东大学齐鲁软件学院scope<scope>构造允许定义嵌套活动,这个嵌套活动有和本人关联的变量、缺点处置程序和补偿处置程序。每个scope有一个定义它的正常行为的主要活动。该主要活动可以是一个复杂的构造化的活动,其中有恣意深度的许多嵌套的活动。一切的嵌套的活动都共享该scope。<scopevariableAccessSerializable="yes|no"standard-attributes>standard-elements<variables>...</variables><correlationSets>...</correlationSets><faultHandlers>...</faultHandlers><compensationHandler>...</compensationHandler><eventHandlers>...</eventHandlers>activity</scope>V2.072山东大学齐鲁软件学院ScopesinBPELProvideasharedcontextforsubsetofactivitiesCancontainfaulthandlerseventhandlers,compensationhandlervariablescorrelationsetsCanserializeconcurrent
accesstovariables<scope
variableAccessSerializable="yes|no“
...>
<variables>
</variables>
<correlationSets>?...</correlationSets>
<faultHandlers>
</faultHandlers>
<compensationHandler>?...</compensationHandler>
<eventHandlers>
</eventHandlers>
(activities)*
</scope>V2.073山东大学齐鲁软件学院compensate<compensate>构造已正常完成执行的内层作用域上调用补偿。compensate命名了执行补偿所在的作用域。仅当作用域正常完成执行之后该作用域的补偿处置程序才可被调用。显式地执行compensate活动的才干是BPEL的运用程序控制的错误处置框架的根底所在。该活动只能用于业务流程的以下部分中:在作用域的fault处置程序中,该作用域直接包括补偿将被执行的作用域。在作用域的补偿处置程序中,该作用域直接包括补偿将被执行的作用域。假设按称号显式地补偿的作用域在循环中被执行,那么在后续的迭代中补偿处置程序的实例将按相反的顺序执行。<compensatescope="ncname"?standard-attributes>standard-elements</compensate>V2.074山东大学齐鲁软件学院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山东大学齐鲁软件学院LongRunningTransactionsandCompensationUndoReserveInventory<scope></scope>ReserveInventoryCancelReserveInvInventoryServiceCheckCreditChargeHoldFeeCancelHoldFeeCreditServiceUndoChargeHoldFeeV2.076山东大学齐鲁软件学院ExceptionHandlinginBPEL<faultHandlers>catchexceptionBasedonWSDLportdefiningfault<faultHandlers>canperformactivitiesuponinvocation<faultHandlers>
<catchfaultName="lns:cannotCompleteOrder"faultVariable="POFault"><replypartnerLink="customer"portType="lns:purchaseOrderPT"operation="sendPurchaseOrder"variable="POFault"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025内蒙古锡林郭勒盟锡林浩特市第二批公益性岗位人员招募136人模拟试卷及答案详解(各地真题)
- 2025湖北省红文旅游投资集团有限公司招聘4人考前自测高频考点模拟试题附答案详解
- 2025湖南怀化市会同县招聘事业单位工作人员7人模拟试卷及完整答案详解1套
- 2025广西现代职业技术学院建筑工程学院招聘1人考前自测高频考点模拟试题及答案详解(名师系列)
- 2025年甘肃省武威市事业单位招聘628人【教育岗48人】考前自测高频考点模拟试题及答案详解一套
- 2025甘肃中共嘉峪关市委宣传部公开招聘公益性岗位人员的模拟试卷及答案详解(网校专用)
- 2025北京市海淀区中关村第二小学科学城北区分校教师招聘模拟试卷及答案详解(夺冠)
- 2025江苏苏宿工业园区社区卫生服务招聘10人考前自测高频考点模拟试题有答案详解
- 2025广西物流职业技术学院公开招聘副高及以上职称人员37人模拟试卷有完整答案详解
- 2025昆明学院招聘准聘制教师岗位工作人员考前自测高频考点模拟试题及完整答案详解1套
- 英语专业大学生职业生涯发展
- 起重机械吊具、索具检查记录表(钢丝绳)
- 云南省德宏州2023-2024学年高一上学期期末教学质量统一监测数学试卷
- 垃圾袋手工制作衣服
- 乳房疾病的诊断与治疗
- 《泰康养老社区》课件
- 恒大集团债务危机案例研究
- 中建室内中庭墙面铝板、玻璃安装施工方案(改)
- 中秋佳节给客户的一封信(10篇)
- 二维码见证取样操作手册广西
- 雨污水管道专项工程施工组织设计方案
评论
0/150
提交评论