BPEL简介.ppt

上传人:豆**** 文档编号:26963070 上传时间:2022-07-20 格式:PPT 页数:30 大小:1,008KB
返回 下载 相关 举报
BPEL简介.ppt_第1页
第1页 / 共30页
BPEL简介.ppt_第2页
第2页 / 共30页
点击查看更多>>
资源描述

《BPEL简介.ppt》由会员分享,可在线阅读,更多相关《BPEL简介.ppt(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、BPEL简介简介BPEL简介简介nBPEL(Business Process Execution Language,业务流程执行语言),是一种使用Web服务定义和执行业务流程的语言。nBPEL是专门为整合Web Service而制定的一项规范标准。nBPEL的作用是将一组现有的服务组合起来,从而定义一个新的Web服务。因此,BPEL基本上是一种实现此种组合的语言,组合后的服务的接口也被描述为WSDL的 portType集合。 BPEL结构npartnerLinks:合作伙伴链接nvariables:变量定义ncorrelationSets:相关集定义 nfaultHandlers:故障处理程序

2、ncompensationHandlers:补偿处理程序neventHandlers:事件处理程序nactivity:流程主体 合作伙伴链接nPartnerLinkType:伙伴链接类型q为了描述两个服务之间的会话关系,伙伴链接类型定义了会话中每个服务所扮演的“角色”,并且指定了每个角色所提供的portType。 伙伴链接类型定义文档可以是独立于任一个服务的WSDL文档的单独构件,也可以被放在定义portType的WSDL文档中,这些portType也被用来定义不同的角色。但是,必须注意的是PartnerLinkType不是在BPEL文件中定义的,而是在WSDL文件中定义的。 合作伙伴链接nP

3、artnerLink:伙伴链接q与业务流程交互的服务被描述成伙伴链接。每个伙伴链接由partnerLinkType来描述。每个伙伴链接都被命名,这个名称用于与这个伙伴的所有服务交互。 q每个合作伙伴链接可以拥有一个或两个角色。属性myRole指出了业务流程本身的角色,而属性partnerRole指出了伙伴的角色。通常同步请求/响应操作仅能指定一个角色;对于异步操作,它指定两个角色。变量定义n业务流程指定了涉及伙伴之间消息交换的有状态交互。业务流程的状态不仅包括被交换的消息,而且还包括用于业务逻辑和构造发送给伙伴的消息的中间数据,这些中间数据可以通过变量来存储。n每个变量的类型可以是WSDL消息

4、类型、XML Schema简单类型或XML Schema元素。 相关集定义nBPEL提供了声明性机制,以指定服务实例中相关联的操作组。一组相关标记可定义为相关联的组中所有消息共享的一组特性。这样的一组特性称为相关集。每个关联集都在一个作用域中进行声明并属于该作用域。在流程开始时,全局关联集处于未初始化的状态。在其所属的作用域的执行开始时,本地关联集处于未初始化的状态。相关集在其语义上类似于延迟绑定的常数。相关集的绑定由特别标记的消息发送或接收操作来触发。相关集在其所属的作用域的生存期中只能初始化一次。在初始化之后,它的值就可被认为是业务流程实例的标识的别名。n相关集的名称用在invoke、re

5、ceive和reply活动中,也用在pick活动的onMessage分支中,同时还用在事件处理程序的onMessage形式中。 故障处理程序n故障处理是因发生故障而切换到撤销发生故障的作用域中的部分或不成功的工作。故障处理程序提供了定义一组自定义的故障处理活动的方法,句法上定义为catch活动。定义的每个catch活动能拦截某种特定的故障(由全局惟一的故障名和有与该故障相关联的数据的变量来定义)。如果没有故障名,那么catch将拦截全部有适合类型的故障数据的故障。使用catch处理程序中的faultVariable属性来指定故障变量。n对invoke活动的故障响应是故障的来源之一,根据WSDL

6、操作中的故障定义,该故障有显式给出的名称和数据部分。程序化地抛出throw活动是故障的另一个来源,它也有显式给出的名称和数据。补偿处理程序n通过补偿处理程序,作用域可以描述一部分通过应用程序定义的方式可撤销的行为。有补偿处理程序的作用域可不受约束任意深地被嵌套。n补偿处理程序仅仅是补偿活动的包装。在许多情况下,补偿处理程序需要接收当前状态的数据并返回关于补偿结果的数据。n补偿处理程序的调用方法是使用compensate活动。事件处理程序n整个流程以及每个作用域可以与一组在相应的事件发生时并发调用事件处理程序相关联。在事件处理程序中进行任何类型的活动,但是不允许使用调用补偿处理程序。n有两种类型

7、的事件:与WSDL中请求/响应或单向操作对应的传入消息;用户设置的时间过后发出的警报。 流程主体n由一系列的基本活动和结果活动组成nBPEL语言的基本单位是活动,其活动按作用可分为如下几类:q基本活动:实现基本功能q结构活动:控制流程结构q特殊活动q故障处理:BPEL2.0中将故障处理单独归类基本活动n基本活动是与外界进行交互最简单的形式。它们是无序的个别步骤,与服务进行交互、操作、传输数据或者处理异常等。n包括如下:q流程用于和外界进行交互的基本活动:receive、invoke、reply;q流程用于传输数据的基本活动:assign;q通过throw活动发出故障信号;q通过terminat

8、e活动放弃所有流程实例的执行;q通过wait活动使流程等待一段时间或到达某个截止期限后再执行;q通过empty活动不执行任何的动作;q通过compensate活动做一些补偿动作,通常需要和scope联合使用。n主要基本活动负责调用服务receivereplyinvokeassignwaitemptyexit结构活动n结构化的活动规定了一组活动发生的顺序。他们描述了业务流程是怎样通过把它执行的基本活动组成结构而被创建的,这些结构表达了涉及业务协议的流程实例间的控制形式、数据流程、故障和外部事件的处理以及消息交换的协调。n 包括如下: q活动间一般的顺序控制由 sequence、switch 和

9、while 来提供;q活动间的并发和同步由 flow 来提供;q基于外部事件的不确定的选择由 pick 来提供; n结构化的活动可以被任意的嵌套和组合。 n主要结构活动repeateUntilwifpickforEachsequenceflowwhile特殊活动(Scope活动)nScope活动为嵌套在其中的活动提供故障处理功能和补偿处理功能。scope 可以提供故障处理程序、补偿处理程序、数据变量和相关集。n 每个Scope有一个定义它的正常行为的主要活动。该主要活动可以是一个复杂的结构化的活动,其中有任意深度的许多嵌套的活动。所有的嵌套的活动都共享该Scope。 jPDL和BPEL 比较n

10、流程结构定义qjPDL中定义了一些基于有向图的节点和变换,通过这些节点和变换来实现流程的定义。而在BPEL中有一些基于XML元素的结构化活动,通过这些活动来实现流程的结构定义。n数据处理qjPDL中的变量是基于POJO(Plain Old Java Object)定义的,流程中需要进行处理处理的数据可以通过ContextInstance在外部类中调用。BPEL中变量是基于XML结构,可以通过assign活动来进行操作。n和流程的交互方式qjBPM提供了一组API,通过调用这些API中的方法允许客户端代码和流程实例的直接交互。BPEL提供了Web服务的接口,客户端通过这些接口来实现和流程实例的间

11、接交互。n服务的调用qjPDL流程通过action handler来实现和外部服务的交互。在BPEL中,通过invoke等活动来实现。BPEL2.0的改动的改动nBPEL开发手册所介绍的是BPEL1.1版本, BPEL2.0中对活动有了一些改动和添加,下面是BPEL2.0图形化编辑插件的截图。通过通过Active BPEL 进行开发进行开发nActive BPEL:提供流程编辑器和流程执行:提供流程编辑器和流程执行引擎引擎n如右图:lbpel中存放*.bpel流程描述文件。ldeploy中存放用于流程部署的pdd和bpr文件。lsample-data和test文件夹存放用于流程测试的数据和BU

12、nit。lschema存放预定义的数据类型文件*.xsd。lwsdl存放流程所调用服务的描述文件wsdl。引入引入wsdl文件文件n引入wsdl文件从服务提供方处获得服务的wsdl描述并放入wsdl文件夹。n引入wsdl文件后,在Interfaces一栏中可以看到wsdl中描述的Partner Link Types和Port types。创建创建BPEL流程流程n右键点击bpel文件夹,通过New-BPEL Process新建一个BPEL文件。编辑编辑BPEL流程流程n可以从Port Type中将服务托拽到BPEL编辑器中,从而添加一个流程。n若该服务没有定义Partner Link Type

13、s,编辑器会要求你创建一个。n可以将创建的Partner Link Types直接添加到相应的服务描述文件wsdl中。PartenerLinkPartenerLinkPartenerLinkBPELWSDLSendSalesOrder NotificationRetailerCallback PortTypecustomerOrdercancelOrderOrderManager PortType(partnerLinkType) OrderingPLTOrderPlacerRetailerCallbackPortTypeOrderingSystemOrderManagerPortTypero

14、lePortTypeoperation(partnerLink) OrderManagerpartnerLinkTypeOrderingPLTmyRoleOrderPlacerpartnerRoleOrderingSystem(invoke) CreateSalesOrderpartnerLinkOrderManageroperationcustomerOrderVariable数据传递数据传递n在assign活动中,BPEL可以通过XPath语言进行数据传递。n使用XPath语言必须将流程的Create XPath属性设为Yes,其默认值为No。生成生成pdd文件文件n右键点击bpel文件,New-Deployment Discriptor,生成同名pdd文件,并放置在deploy文件夹中。生成生成pdd文件文件npdd文件需要修改服务连接部分。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > pptx模板 > 企业培训

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁