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接口以便送货服务回调。

转载于:https://www.cnblogs.com/rigid/p/4323461.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值