bpel 之伙伴
一、伙伴链接类型(Partner Link Types)
1.交互过程
伙伴之间的交互过程共分为两种典型情况:
- 流程调用伙伴后同步等待返回结果。这种情况通常是伙伴能很快返回结果,流程不需要等待很长时间。
- 流程调用伙伴后异步等待返回结果。这种情况通常是伙伴需要较长时间返回结果,这时流程不需要等待,可继续执行。伙伴执行完后将回调流程接口,通知流程返回结果。
2.作用
伙伴链接类型定义了一个交互中依赖的关系。
<plnk:partnerLinkType name="NCName">
<plink:role name="NCName" portType="QName" />
<plink:role name="NCName" portType="QName" />
</plnk:partnerLinkType name="NCName">
伙伴链接类型的名字由name属性指定。角色用来描述一个交互中参与者所起的作用。角色的定义除了名字以外还引用了wsdl中定义的接口定义。任何参与这种交互并且充当该角色的服务必须实现这个接口。以下两种场景说明:
- 但角色伙伴链接类型。这意味着交互中只有一个角色,只需交互的一方实现角色中引用的接口,而对交互的另一方没有任何限制。
<plnk:partnetLinkType namee="OrderProcessPLT">
<plnk:role name="OrderProcessRole">
<plnk:portType name="wsd10:OrderProcess" />
</plnk:role>
</plnk:partnetLinkType>
这个伙伴链接类型只定义了一个角色OrderProcessRole,实现该角色的接口必须实现OrderProcess接口,对交互的另一方没有任何限制,任何服务都可以参与这个交互,调用OrderProcessRole提供的服务。
- 双角色伙伴链接类型。交互中涉及到两个角色。交互的双方都必须实现相应角色接口才能正确完成一次交互。
<plnk:partnerLnkType name="ShipPartnerPLT"> <plnk:role name="ShipServiceRequester">
<plnk:portType name="ns1:ShipServiceCallBack" />
</plnk:role> <plnk:role name="ShipServiceProvider">
<plnk:portType name="ns1:ShipProduct" />
</plnk:role> </plnk:partnerLnkType>
这个伙伴链接定义了两个角色,ShipServiceRequester和ShipServiceProvider,因此参与交互的双方都必须实现各自角色的接口。比如,一个订单处理流程调用送货服务的ShipProduct接口以启动送货服务,送货完毕后调用订单处理流程实现的ShipServiceCallBack以返回确认信息。
3.伙伴链接(Partner Links)
伙伴链接可以看做是伙伴链接类型的实例。
<partnetLinks> <partnetLink name="NCName" partnetLinkType="QName" myRole="NCName" partnetRole="NCName" initializePartnetRole="yes|no"/> </partnetLinks>
定义伙伴链接需要指明它是哪种伙伴链接类型,以及它将扮演的角色。myRole指定调用者在交互中的角色,而partnerRole则指出伙伴的角色。initializePartnetRole的值指出BPEL引擎是否在第一次调用partnetRole所指定的服务时先初始化它的端点引用。
例如:
<partnerLinks> <partnetLink name="callShipServicePartnerLink" partnerLinkType="ShipPartnerPLT" myRole="ShipServiceRequester" partnerRole="ShipServiceProvider" /> </partnerLinks>
这个伙伴链接定义表明,它是送货服务的调用方,而且它会实现ShipServiceCallBack接口以便送货服务回调。
bpel 之伙伴的更多相关文章
- 使用BPEL创建Web服务组合
http://www.cnblogs.com/ahhuiyang/archive/2012/12/18/2824131.html 为简单起见,本例的Web服务组合只调用一个Web Service AP ...
- BPEL 实例教程
http://www.oracle.com/technetwork/cn/articles/matjaz-bpel1-090722-zhs.html BPEL 实例教程 作者:Matjaz Juric ...
- BPEL_Oracle BPEL新一代工作流介绍(概念)
2014-11-02 Created By BaoXinjian
- 伙伴们休息啦canvas绘图夜空小屋
HTML5 canvas绘图夜空小屋 伙伴们园友们,夜深了,休息啦,好人好梦... 查看效果:http://hovertree.com/texiao/html5/28/ 效果图如下: 代码如下: &l ...
- 《虚拟伙伴》AR增强现实应用开发总结
一.概述 1.1选题背景 随着时代的发展,人们的生活节奏越来越快,生活质量也越来越高,但却在繁忙之中忽略或者忘记了关心自己成长时代最重要或者最正确的事情和道理.虽然现在有很多社交平台,如微博,微信,f ...
- 华清远见成为ARM大学计划正式合作伙伴
来源:华清远见嵌入式学院 近日,华清远见教育集团成为ARM大学计划合作伙伴,这是ARM大学计划合作伙伴中的国内唯一教育机构.此次合作是ARM公司对华清远见教育集团的高度认可,也充分证明了华清远见这些年 ...
- BPEL是个什么东东
研究团队有个做智能服务组合的,其中用到叫BPEL的东西,因为全称是Business Process Execution Language,译成中文就是商业执行过程语言,这个东东的是整合SOA的一个执行 ...
- RESTful API的重磅好伙伴Swagger2
本文将介绍RESTful API的重磅好伙伴Swagger2,它可以轻松的整合到Spring Boot中,并与Spring MVC程序配合组织出强大RESTful API文档. 它既可以减少我们创建文 ...
- ASP.NET MVC4系列验证机制、伙伴类共享源数据信息(数据注解和验证)
一,mvc前后台验证 自定义属性标签MyRegularExpression using System; using System.Collections.Generic; using System.C ...
随机推荐
- matlab练习程序(构造简单多边形)
简单多边形是指各边不相交的多边形. 首先计算出所有顶点中心位置. 然后求每个顶点与中心的极角. 再对极角进行排序. 连接排序后的点就行了. 结果如下: matlab代码如下: clear all;cl ...
- sql按天分组
sql按天分组,这都不会 晕!!!!!!! ) ;
- java中异步多线程超时导致的服务异常
在项目中为了提高大并发量时的性能稳定性,经常会使用到线程池来做多线程异步操作,多线程有2种,一种是实现runnable接口,这种没有返回值,一种是实现Callable接口,这种有返回值. 当其中一个线 ...
- xcode命令行编译时:codesign命令,抛出“User interaction is not allowed.”异常 的处理
之前正常运行的hudson iOS编译服务器slave节点,忽然出现编译失败.发现原因有2个: 第一个原因是编译机上用来签名的用户帐号过期,第二个原因是操作系统和xCode升级造成的. 对于第一个,重 ...
- D FFF团的怒火
Time Limit:1000MS Memory Limit:65535K 题型: 编程题 语言: 无限制 描述 在信软学院,男女比例失衡已经是习以为常的事情. 在这样的一个学院,诞生了一个神秘 ...
- HDU3341 Lost's revenge(AC自动机+DP)
题目是给一个DNA重新排列使其包含最多的数论基因. 考虑到内存大概就只能这么表示状态: dp[i][A][C][G][T],表示包含各碱基个数为ACGT且当前后缀状态为自动机第i的结点的字符串最多的数 ...
- C#:代表(delegate)和事件(event)
代表(delegate): 它是C#语言里面的函数指针,代表可以指向某一个函数,在运行的时候调用这个函数的实现.下面来看看它的实现步骤: 声明一个delegate对象. 实现和delegate具有相同 ...
- BZOJ1766 : [Ceoi2009]photo
如果两个矩形相交且不是包含关系,那么完全可以让它们不相交. 将坐标离散化后,设$f[i][j][k]$表示区间$[i,j]$纵坐标不小于$k$的部分的最优解. 对于$f[i][j][k]$,要么枚举分 ...
- BZOJ3941 : [Usaco2015 Feb]Fencing the Herd
若所有点同侧则表明将各个点带入直线解析式ax+by-c后得到的值均同号等价于最大值和最小值同号考虑CDQ分治,每一步分治的过程中求出上下凸壳,然后三分答案即可时间复杂度$O(n\log^2n)$ #i ...
- JS设计模式一:单例模式
单例模式 单例模式也称作为单子模式,更多的也叫做单体模式.为软件设计中较为简单但是最为常用的一种设计模式. 下面是维基百科对单例模式的介绍: 在应用单例模式时,生成单例 ...