业务流程建模语言BPELppt课件_第1页
业务流程建模语言BPELppt课件_第2页
业务流程建模语言BPELppt课件_第3页
业务流程建模语言BPELppt课件_第4页
业务流程建模语言BPELppt课件_第5页
已阅读5页,还剩93页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、效力科学与工程 第八章 BPEL.We are here!Servicesatomic and compositeOperational SystemsService ComponentsConsumersBusiness ProcessComposition; choreography; business state machinesPackagedApplicationCustomApplicationOOApplicationChannelB2B.主要内容BPEL简介BPEL的根本构造和主要元素BPEL根本活动BPEL构造化活动BPEL实例.BPEL简介.BPEL:Business Pr

2、ocess Execution Language 业务流程执行言语Building Standards-Based Business Processes with Web Services .业务流程按业务流程之间的协作方式可以分为单任务流方式和多任务流方式;单任务流方式把一组相关的效力按一定顺序和条件组合执行,完成某项业务,流程执行过程中涉及的效力不属于其他业务流程;多任务流方式是两个或两个以上的任务流程并行执行并进展交互的业务流程方式,多任务流方式偏重于业务流程之间的交互。单任务流方式嵌套子流程方式链型流程方式.Business Processes FlowBusiness process

3、es are a set of activities, supported by services, that support a particular business activity. Business processes are business services built using other business services.BPELBPEL4WS是专为整合Web Services而制定的一项规范规范。BPEL描画流程可执行任务流描画业务交互中参与者的实践行为;笼统流程描画各方参与者对外可见的音讯交换。BPEL的作用是将一组现有的效力组合起来,从而定义一个新的Web效力。因此

4、,BPEL根本上是一种实现此种组合的言语。组合效力的接口也被描画为WSDL portType的集合。.BPEL.What BPEL does BPEL binds services together to form larger complex business servicesControl Flow (branch, loop, parallel)Asynchronous correlationTransaction support, Units of WorkCompensation.Web Services Meet Business ProcessesWeb Service 1Web

5、 Service 2Web Service 3Web Service 4Web Service 5Web Service n.Example Problem SpaceClientPO ServiceCredit ServiceInventory ServicePurchase OrderCreditCheckReserveInventoryCreditResponseInventoryResponseInvoiceConsolidateResults.Business Process ChallengesCoordinate asynchronous communication betwee

6、n services Correlate message exchanges between partiesImplement parallel processing of activities. . .Manipulate/transform data between partner interactionsSupport for long running business transactions and activitiesProvide consistent exception handling. . .Orchestration(管弦乐编曲 ) vs Choreography(舞蹈编

7、排)运用Orchestration,需求一个总控过程来控制涉及到的Web效力,并协调Web效力不同操作的执行。所涉及到的Web效力并不知道也不用知道它们是组合过程的一部分。只需中央的总控过程知道它们如何组合和协调Choreography并不依赖中央的总控协调过程。相反,每个涉及其中的Web效力都知道何时执行本人的操作,和谁交互。一切的Choreography参与者都需求知道业务流程,要执行的操作,要交互的音讯,和交换音讯的时机.Orchestration(管弦乐编曲 ) vs Choreography(舞蹈编排)从组合Web效力来执行业务流程的角度来看,Orchestration比Choreo

8、graphy更灵敏:1、我们知道谁担任执行整个业务流程。2、即使Web效力并不知道它们是业务流程的一部分,依然可以把它们组合起来。3、当错误发生时,我们可以提供一个备选的ScenarioBPEL遵照Orchestration范式.Sample Business Process: Purchase OrderSample Purchase OrderPurchase Order RequestPurchase Order AcknowledgementPurchase Order ResponseBusiness “ABusiness “B.From a Choreography Perspec

9、tivePO RequestSend POReceive PO AckReceive PO ResponseReceive POSend PO AckSend PO ResponsePO AcknowledgementPO ResponseChoreography The observable public exchange of messagesPublic ProcessBusiness ABusiness B.From an Orchestration PerspectiveSend POReceive PO AckReceive PO ResponseTransformTransfor

10、mFrom ERPTo ERPPO RequestPO AcknowledgementPO ResponseOrchestration A private executable business processPrivate ProcessBusiness A BPEL Workflow.Orchestration and Choreography TogetherBusinessBBusiness Analyst ToolBusinessASend POReceive PO AckReceive PO ResponseTransformTransformBusiness A BPEL Wor

11、kflowPO RequestPO AcknowledgementPO ResponseGenerate BPEL TemplateGenerate BPEL TemplateReceive POSend PO AckReceive PO ResponseTransformTransformBusiness B BPEL WorkflowTwo BPEL workflow templates reflecting a business agreement.Recent History of Business Process Standards2000/05XLang(Microsoft)200

12、1/03BPML(Intallio et al)2001/05WSFL(IBM)2001/06BPSS(ebXML)2002/03BPEL4WS 1.0 (IBM, Microsoft)BPEL4WS 1.1(OASIS)2002/062003/01WS-Choreography(W3C)2003/04WSCI(Sun et al)WSCL(HP)2002/08.Standards Building Blocks of BPELDescription,IIOP, JMS, SMTPTransportXMLMessageSOAPWSDLUDDIDiscoveryTransactionsCoord

13、inationWS-SecurityWS-ReliabilityQuality ofServiceOrchestration - BPEL4WSBusinessProcessesContextDescriptionManagementChoreography - CDL4WS.BPEL Depends on WSDL and WSDL ExtensionsService ImplementationDefinitionService Interface DefinitionServicePortBindingPort types define OperationsMessageType.BPE

14、L的根本构造.BPEL的根本构造 ? . ? . ? . ? . ? . ? . ? . activity.BPEL的主要元素partnerLinks:协作同伴链接partners:协作同伴variables:变量定义correlationSets:相关集定义faultHandlers:缺点处置程序compensationHandlers:补偿处置程序eventHandlers:事件处置程序.PartnersDeclare the Web services and roles used by the processTied to WSDL of the process itself and t

15、he participating Web services by service link typesCreditServicePartner 2InventoryServicePartner 3Partner 1(the process)PurchaseService.Partners in BPEL Purchase Process WSDL:BPEL: Purchase Process PortType:.协作同伴链接类型 . ? . .同伴链接类型为了描画两个效力之间的会话关系,同伴链接类型定义了会话中每个效力所扮演的“角色,并且指定了每个效力所提供的portType,以便接纳会话的上

16、下文中的音讯。 每个角色的portType可以产生于不同的称号空间,也在产生于一样的称号空间。根据一样称号空间中的portType来定义协作同伴链接类型的两个角色。同伴链接类型定义文档可以是独立于任一个效力的WSDL文档的单独构件,也可以被放在定义portType的WSDL文档中,这些portType也被用来定义不同的角色。有些情况下,定义仅包含一个角色的同伴链接类型是有意义的。在这种同伴链接情形中,一个效力可以链接任何其他效力。 .同伴链接业务流程交互的效力被描画成同伴链。每个同伴链由partnerLinkType来描画。每个同伴链都被命名。经过该同伴链的一切效力交互。 属性myRole指出

17、了业务流程本身的角色,而属性partnerRole指出了同伴的角色。假设partnerLinkType仅有一个角色,那么将根据需求省略其中一个属性。 + .业务同伴同伴链表示两个协作同伴流程之间会话关系。同伴partner元素被定义为流程的同伴链一部分。同伴定义是可选的,并且不需求包含流程中定义的一切同伴链。同伴链绝不可以出如今多个同伴定义中。 + + .端点援用WSDL的PortType运用笼统音讯来定义笼统功能。端口提供实践访问信息,包括通讯端点和其他与部署有关的信息。绑定使两者连结在一同。效力的用户必需静态地依赖于由portType定义的笼统接口,但是在通常情况下可以动态地发现和运用端口

18、定义的信息。端点援用的根本用途是作为一种机制,用于效力的特定于端口的数据的动态通讯。BPEL运用了WS-Addressing中定义的端点援用的概念。流程实例的同伴链接的每个同伴角色被分配一个具有独一性的端点援用,这可以在流程的部署过程中完成,也可以由流程中的某个活动动态地执行。.变量业务流程指定了涉及同伴之间音讯交换的有形状交互。业务流程的形状不仅包括被交换的音讯,而且还包括用于业务逻辑和构造发送给同伴的音讯的中间数据。 每个变量的类型可以是WSDL音讯类型、XML Schema简单类型或XML Schema元素。 属于全局流程作用域的变量称为全局变量;属于流程作用域的变量称为部分变量;每个变

19、量只需在定义它的作用域和嵌套在它所属于的作用域内的全部作用域中才是可见的 +.VariablesMessages sent and received from partnersPersisted for long running interactionsDefined in WSDL types and messagesCustomerServiceProcessPersistPersist/RetrieveCustomerServicePersist/RetrievePersist/Retrieve.Variables in BPEL Purchase Process WSDL:BPEL:.

20、How is Data Manipulation Done?Using and , data can be copied and manipulated between variables supports XPath queries to sub-select data .相关集在面向对象领域经过对象援用进展有形状的交互。对象援用本身提供了访问具有适宜的交互形状和历史的某个对象实例的才干。这种方式适用于严密耦合的实现。Web效力领域援用方式将呵斥实现之间脆弱的依赖关系;需求松散耦合机制实现;防止在实例路由中运用特定于实现的标志。 在业务流程实例的生存期中,它通常与涉及它的同伴进展多次会话,相

21、关联的会话涉及的参与者不止两个,经常有必要提供应用程序级的机制,以使音讯和会话被匹配到预定的业务流程实例。 .相关集BPEL提供了声明性机制,以指定效力实例中相关联的操作组。一组相关标志可定义为相关联的组中一切音讯共享的一组特性。这样的一组特性称为相关集。每个关联集都在一个作用域中进展声明并属于该作用域。属于全局流程作用域的关联集称为全局关联集;属于部分作用域,这样的关联集称为部分关联集。在流程开场时,全局关联集处于未初始化的形状。在其所属的作用域的执行开场时,本地关联集处于未初始化的形状。相关集在其语义上类似于延迟绑定的常数。相关集的绑定由特别标志的音讯发送或接纳操作来触发。相关集在其所属的

22、作用域的生存期中只能初始化一次。在初始化之后,它的值就可被以为是业务流程实例的标识的别名。.相关集在多方业务协议中初始者流程发送启动会话的第一个音讯,从而定义了标志该对话的相关集中的特性值。一切其他参与者经过接纳提供相关集中的特性值的传入音讯来绑定会话中的相关集。初始者和其他参与者都必需发送启动会话的第一个音讯,从而定义标志会话的相关集中的特性值。相关集的称号用在invoke、receive和reply活动中,也用在pick活动的onMessage分支中,同时还用在事件处置程序的onMessage方式中。? + .缺点处置程序缺点处置是因发生缺点而切换到撤销发生缺点的作用域中的部分或不胜利的任

23、务。缺点处置程序提供了定义一组自定义的缺点处置活动的方法,句法上定义为catch活动。定义的每个catch活动能拦截某种特定的缺点由全局独一的缺点QName和有与该缺点相关联的数据的变量来定义。假设没有缺点名,那么catch将拦截全部有适宜类型的缺点数据的缺点。运用catch处置程序中的faultVariable属性来指定缺点变量。 activity activity .缺点处置程序对invoke活动的缺点呼应是缺点的来源之一,根据WSDL操作中的缺点定义,该缺点有显式给出的称号和数据部分。程序化地抛出throw活动是缺点的另一个来源,它也有显式给出的称号和数据。.补偿处置程序经过补偿处置程序

24、,作用域可以描画一部分经过运用程序定义的方式可撤销的行为。有补偿处置程序的作用域可不受约束恣意深地被嵌套。补偿处置程序仅仅是补偿活动的包装。在许多情况下,补偿处置程序需求接纳当前形状的数据并前往关于补偿结果的数据。补偿处置程序的调用方法是运用compensate活动。 ? activity.事件处置程序整个流程以及每个作用域可以与一组在相应的事件发生时并发调用事件处置程序相关联。在事件处置程序中进展任何类型的活动,但是不允许运用调用补偿处置程序。有两种类型的事件:与WSDL中恳求/呼应或单向操作对应的传入音讯;用户设置的时间过后发出的警报。.事件处置程序? * ? + activity * a

25、ctivity .事件处置程序onMessage标志表示指定的事件是一个等待音讯到达的事件。这个标志及其属性的解释类似于receive活动。partnerLink属性定义恳求将到达的协作同伴链接。portType和operation属性是协作同伴为引发事件而调用的适当端口类型和操作。变量属性标识包含从协作同伴接纳到的音讯的变量。onAlarm标志标志超时事件。for属性指定该事件发生之前的继续时间。计算继续时间的计时在相关的作用域的执行开场的时辰响起。until属性指定发出警报的特定时辰。这两个属性中仅有一个必需出如今任何onAlarm事件中。 .BPEL根本活动.BPEL的活动根本活动构造化

26、活动.Simple ActivitiesReceiveWait for a partner inbound messageCan be the instantiator of the business processReplySynchronous response to a receive activityResponse to the inbound receive from a partnerInvokeIssue a request synchronously *or* asynchronouslyPickSpecify an inbound set of messagesCan be

27、 the instantiator of the business processActivity completes when one of the messages arrives.Simple Activities Combined with Structured ActivitiesInvoke Invoke Reply Receive .Sample Activities in BPEL . .receive构造业务流程阻塞等待匹配音讯的到达实例化业务流程的独一方法是注解receive活动,把 createInstance属性设置为“yes 。该属性的缺省值是“no。 standar

28、d-elements ? + .reply构造业务流程发送音讯以应对经过接纳到的音讯。receive和reply的组合为流程构成了在WSDL portType上的恳求-呼应操作。 standard-elements ? + .invoke构造允许业务流程调用由协作同伴在portType上提供的单向或恳求-呼应操作。异步伐用仅需求操作的输入变量;同步伐用既需求输入变量,又需求输出变量。.invoke standard-elements ? + ? activity .assign构造的作用是用新的数据来更新变量的值。assign可以包括恣意数量的根本赋值,还可把端点援用复制到协作同伴链接,或把协

29、作同伴链接复制到端点援用效力的动态绑定。 standard-elements + from-spec to-spec .assignfrom-spec必需是以下方式中的一种: . literal value . to-spec必需是以下方式中的一种: .throw构造从业务流程中生成缺点。运用throw发出内部缺点。每个缺点需求有一个全局独一的QName,还可选提供数据的变量。缺点处置程序可以运用这种数据,来分析和处置该缺点并植入需被发送到其他效力的一切缺点音讯。 standard-elements.terminate可以用于立刻终止该terminate活动中运转的业务流程实例。一切当前正在运

30、转的活动必需尽能够快地终止,而没有任何缺点处置或补偿行为。 standard-elements.wait构造允许等待一段给定的时间或等到某一时辰。必需确切地指定wait中一个到期条件。 standard-elements.empty与语义 构造允许在业务流程中插入“no-op指令。empty可用于并行活动的同步。 standard-elements.BPEL构造化活动.构造化活动构造化的活动规定了一组活动发生的顺序,描画了创建业务流程的根本活动组成的构造,这些构造表达了涉及业务协议的流程实例间的控制方式、数据流程、缺点和外部事件的处置以及音讯交换的协调。BPEL的构造化活动包括: 顺序控制由s

31、equence、switch和while组成;活动之间的并发和同步由flow组成;基于外部事件的不确定的选择由pick组成。递归地运用构造化的活动。.sequence构造定义一组按顺序先后执行的活动。执行顺序是sequence元素中被列出活动的先后顺序。 当sequence中的最后一个活动完成后,该sequence活动也就完成了。 standard-elements activity+.switch构造允许从一组分支中只选择一个活动分支。switch由case元素定义的一个或多个条件分支的有序列表组成,后面可跟也可以不跟一个otherwise分支。以case分支的出现顺序检查,第一个条件是tr

32、ue的分支被选择并被作为被执行的活动。假设有条件的分支都未被选择,那么otherwise分支将被选择。 standard-elements + activity ? activity .while构造允许指定反复执行一个活动,直到某个胜利条件被满足为止。 standard-elements activity.pick构造允许阻塞并等待某一个适宜的音讯的到达或超时警报响起。当其中一个触发器触发后,相关的活动就被执行,pick也随即完成了。pick活动等待一组相互排斥事件中的一个事件的发生,然后执行与发生的事件相关联的活动。假设多个事件发生,那么按照时间发生先后或选择原那么确定发惹事件。当业务流程

33、的实例的创建是由于接纳到一组能够的音讯中的一个音讯而发生的时,可以运用pick的特殊方式。每个pick活动必需至少包括一个onMessage事件。onMessage事件的语义等同于有关变量属性的可选类型的receive活动。.pick standard-elements + ? + activity * activity .flow构造指定一个或多个并行地执行的活动。为了定义恣意的控制构造,可以在并行的活动中运用链接。 flow能进一步表达直接或间接嵌套在其中的活动之间的同步相关性,link构造用来表达这种同步相关性。一个link有一个称号,flow活动的一切链必需在 flow活动中分开定义。

34、活动的规范的source和target元素用来链接两个活动。在flow 活动中声明的每个link必需在该flow中恰好有一个活动作为它的源,恰好有一个活动作为它的目的。 standard-elements ? + activity+. Links Control Flow.CorrelationCustomer SendPurchase ProcessPurchaseResponsePOCorrelation:POResponseCorrelations:Seller AsynchPurchase AsynchPurchaseResponseinitiate=yesinitiate=yes p

35、attern=outinitiate=no pattern=outinitiate=yesinitiate=yesinitiate=no.Correlations in BPEL . . .scope构造允许定义嵌套活动,这个嵌套活动有和本人关联的变量、缺点处置程序和补偿处置程序。 每个scope有一个定义它的正常行为的主要活动。该主要活动可以是一个复杂的构造化的活动,其中有恣意深度的许多嵌套的活动。一切的嵌套的活动都共享该scope。 standard-elements . . . . . activity.Scopes in BPELProvide a shared context for

36、 subset of activitiesCan contain fault handlersevent handlers, compensation handler variablescorrelation setsCan serialize concurrentaccess to variables ? . ? . (activities)* .compensate构造已正常完成执行的内层作用域上调用补偿。compensate命名了执行补偿所在的作用域。仅当作用域正常完成执行之后该作用域的补偿处置程序才可被调用。显式地执行compensate活动的才干是BPEL的运用程序控制的错误处置框架

37、的根底所在。该活动只能用于业务流程的以下部分中: 在作用域的 fault 处置程序中,该作用域直接包括补偿将被执行的作用域。在作用域的补偿处置程序中,该作用域直接包括补偿将被执行的作用域。假设按称号显式地补偿的作用域在循环中被执行,那么在后续的迭代中补偿处置程序的实例将按相反的顺序执行。 standard-elements.Compensation Handlers in BPEL .Long Running Transactions and CompensationUndoReserveInventory ReserveInventory CancelReserveInvInventoryS

38、ervice CheckCredit ChargeHoldFee CancelHoldFeeCreditServiceUndoChargeHold Fee.Exception Handling in BPEL catch exceptionBased on WSDL port defining fault can perform activities upon invocation .BPEL实例.Just Show Me How to Do it!PartnerWSDL 1ProcessWSDLPartnerWSDL n. . .BPEL Scenario CompilePackageDep

39、loyApplicationServerBPEL RuntimeCompiledBPEL Scenario.Tooling RequirementsIDE build your Web servicesWSDL authoring model your interfacesSchema authoring model your messagesProcess modeling model your orchestrationPackaging and deploymentDebuggingMonitoringAnalyzing.油泵加工组合效力流程例子.油泵加工组合效力流程例子分泵、油量调理机构、传动机构、泵体等,它们可以分别加工,然后在组装到一同;提供这些配套加工业务的企业将其加工才干封装为效力这五个效力:分泵加工效力、油量调理机构加工效力、传动机构加工效力、泵体加工效力以及组装效力,它们被组合为一个油泵加工组合效力 .复合效力引擎

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论