- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
服务计算概论 第7章 服务组合
第7章 服务组合编程语言BPEL BPEL语言已经成为事实上的基于Web服务开发可执行业务过程的业界标准。 BPEL本身有双重功能: 一是用于编写可执行服务组合过程, 另外也可用于定义服务协作协议。 BPEL合作伙伴关系(1) BPEL合作伙伴关系(2) 涉及三个元素: 伙伴链接类型partnerLinkType、 伙伴链接关系partnerLink、 伙伴 partner BPEL合作伙伴关系(3) 在partnerLinkType和partnerLink中,描述合作交互关系时有同步和异步之分: 同步:服务提供者不需要主动向服务请求者发送消息,因此可以只定义一个服务提供者的角色; 异步:服务提供方需要知道服务请求方是谁,因此需要同时定义服务请求方和服务提供方两类角色。 BPEL变量、消息属性和表达式(1) (1)变量:variable 用来作为程序运行时临时保存数据的容器。 变量有名称和类型2个属性,其中 类型可以由WSDL消息类型、XML Schema 简单类型、或者XML Schema类型定义。 BPEL变量、消息属性和表达式(2) (2)消息属性:property 用于引用消息或变量中的全部数据或者部分 数据。 property和具体消息的关联是通过属性别名 (propertyAlias)实现的。 property和具体消息的关联是通过函数 getVariableProperty( ,)实现的。 BPEL基本活动 不能再包含其它活动的活动为基本活动。 包括: receive, invoke, reply,(三个基本活动) assign(赋值), wait(流程等待), empty(空操作), terminate(中断), throw, compensate(放在异常处理部分) BPEL结构化活动(1) (1)顺序活动(sequence) (2)选择活动(switch) (3)循环活动(while) (4)并行活动(flow) (5)事件选择活动(pick): 消息事件(onMessage)和时间事件(onAlarm) BPEL结构化活动(2) (4)flow flow用于定义一组并行执行的活动,当这些活动都执行完成后,flow语句也就执行完了。 当flow包含的元素之间完全没有依赖关系的情形下,并行关系的描述比较简单。 示例 BPEL结构化活动(3) 但事实上flow语句中的活动可以具有除了循环以外的完整的控制流关系。 link用于定义元素间的控制流关系。用link链接的活动的元素或属性可以表示 与分支(AND-SPLIT)、 或分支(OR-SPLIT)、 与归并(AND-JOIN)、 或归并(OR-JOIN) BPEL结构化活动(4) 先介绍如何用link连接两个活动以及如何设置和link相关的活动的元素和属性。 BPEL结构化活动(5) (a)与分支 BPEL结构化活动(6) (b)与归并 BPEL结构化活动(7) (c)或分支 BPEL结构化活动(8) (d)或归并 BPEL结构化活动(9) 在有控制流路由分支的情况下,有些活动的joinCondition并不能为真,此时可通过flow语句的一个重要属性suppressJoinFailure来解决这个问题。 事实上,该属性可以出现在BPEL过程的顶级元素process或者任何一个活动定义中。 其主要作用是实现死路径消除(death path eliminate,DPE),其值默认为”yes”。 BPEL语句块 在BPEL中,除了结构化活动本身就是语句块,还可以用scope显式定义一个语句块。每个语句块均有自己私有的执行上下文,而语句块内的活动都共享该上下文。 BPEL异常(1) BPEL采用的异常模型是try-throw-catch。 该模型的理念是为可嵌套的活动建立异常 处理逻辑,当活动出现异常时,程序执行 流程会立即中断正常流程进入异常处理。 对于本层无法处理的异常,异常处理逻辑 会继续向包含该活动的外层活动抛出异常, 而最外层的活动可以选择抑制该异常、中止 程序执行或者向执行环境报告错误等。 BPEL异常(2) (1)异常的发生 throw语句用于抛出异常。 该元素有一个必要属性是faultName,表示 抛出异常的名称。 有一个可选属性是faultVariable,用于为异常 处理器提供额外的信息。 BPEL异常(3) (2)异常的处理 BPEL中没有显示表示try的元素,try的语义包含在每个scope的开始。 BPEL中用于捕获scope中异常的元素有两个:catch和catchAll。 catch用于捕获特定的异常; catchAll用于捕获没有被catch元素捕获的其它所有异常,这两个语
您可能关注的文档
- 最新八年级下学期UNIT3Section B.ppt
- 最新变频器调试手册.docx
- 最新初中化学实验通知单.doc
- 最新国内三甲医院辐射事故应急预案培训.ppt
- 最新人教版第十五章电流和电路复习课件.ppt.ppt
- 最新教案-数学-高二+选修2-2第三章复数的概念与计算--苏俊浩.doc
- 最新建设工程国家现行标准更新日期2015年10月.doc
- 最新爱情短句:你的世界没有了我的声音.ppt
- 最新物理一轮_第十章_第一单元_第2课时.ppt
- 最新物理化学课件(天大第五版)习题课.ppt
- 2023学年诸暨中学高三年级第二学期3月第二次模拟考试(政治)公开课教案教学设计课件资料.docx
- 运动的合成与分解(二)公开课教案教学设计课件资料.pptx
- 近五年浙江省各地图形的翻折(轴对称)原题公开课教案教学设计课件资料.doc
- 如何做教师-2019-11-13-中关村一小相关公开课教案教学设计课件资料.pptx
- 生活中的圆周运动 (水平面)正式版公开课教案教学设计课件资料.pptx
- 专题10 条件概率与全概率公式公开课教案教学设计课件资料.docx
- 金华市东阳市2019学年第二学期期末测试卷公开课教案教学设计课件资料.doc
- 5 琥珀(第二课时)【慕课堂版】公开课教案教学设计课件资料.pptx
- 项目五 打印米老鼠模型公开课教案教学设计课件资料.ppt
- (打印版)9月25日地理周练公开课教案教学设计课件资料.docx
最近下载
- 校级家委会会议方案、流程和发言稿7篇汇编.doc
- 《工程材料及成形工艺基础》习题集与答案(材料部分).doc
- 婚前孕前保健服务技能考核试题及答案.docx VIP
- 《多彩的黄土高原(论文)3500字》.docx
- 家乡特产 (教学设计)-2023-2024学年五年级上册综合实践活动粤教版.docx
- 驾驶员安全礼仪培训.pptx
- 高素质农民人才培养方案+—+会计专业(农村会计方向)(高职).docx VIP
- 儿童精神药物应用(共40张PPT)【40页】.pptx
- TCAME 59-2023 医院消毒供应中心建设与运行管理标准.pdf
- SZSD03 0005—2024住房公积金基础数据安全分类分级指南.pdf
文档评论(0)