BPEL的基本活动介绍

http://tech.ddvip.com   2008年01月06日    社区交流

本文详细介绍BPEL的基本活动介绍

  1.Receive(接收)/ Reply(回答)

  <receive>活动从流程的外部伙伴那获取数据,并将其保存到流程变量。通常一个Receive是一个流程的初始点,它会阻塞执行直到匹配的消息的到达。

  <reply>活动发送消息给伙伴来应答通过receive活动所接收到的消息。receive和reply的组合对应着WSDL portType上定义的一个请求-响应操作。如果receive活动对应着一个单向(one-way)操作,则不能在流程中定义对应的reply活动。

  <bpws:receive createInstance="yes" name="Receive" operation="buy" partnerLink ="StockService" portType="ns0:StockService" />
  …
  <bpws:reply name="Reply" operation="buy" partnerLink="StockService" portType=" ns0:StockService" />

  上面就是BPEL中包含receive和reply活动的片段。值得注意的是,receive和reply活动中都是通过“partnerLink”来引用预定义伙伴关系的,而且需要设置“portType”和“operation”属性来声明流程实现的WSDL portType和操作。此外,如果将receive活动作为流程的起始点,则需要将receive活动的createInstance属性设置为“yes”,它指明了当流程接收到匹配的消息时会创建新的流程实例来处理该请求。在BPEL流程中我们还可以定义更为复杂的消息响应机制,可以将特定的消息关联到相应的流程实例中。CorrelationSet(关联集合)就是为了解决上述问题而出现的。

  2.Invoke请求

  <invoke>活动允许业务流程同步或异步调用由合作伙伴提供的服务,服务实现可以是单向或请求-响应操作。Invoke活动使用“partnerLink”来引用伙伴服务。同过“portType”和“operation”指定相应的WSDL接口和操作:

责编:豆豆技术应用

正在加载评论...