扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
<receive>
<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" /> |
2.Invoke请求
<invoke>
<bpws:invoke name="GetStockQuote" operation="getQuote" partnerLink="StockQuote" portType="ns2:net.xmethods.services.stockquote.StockQuotePortType" > </bpws:invoke> |
3.Assign赋值
<assign>
<bpws:assign name="Assign"> <bpws:copy> <bpws:from> China</bpws:from> <bpws:to variable="country"/> </bpws:copy> </bpws:assign> |
4.Wait等待
<wait>
BPEL也提供了丰富的结构化活动,可以灵活地控制流程执行。
5.Sequence顺序
<sequence>
6.Flow流程
<flow>
flow能进一步表达直接或间接嵌套在其中的活动之间的同步相关性,link(链接)用来表达这种同步相关性。
flow活动出现的所有link必须在flow活动中分开定义,并通过名称进行标识。flow活动中嵌套的活动需要通过source或target属性来标明该活动为哪个链接的源或目标活动。在flow活动中,对于每一个link必须有且仅有一个活动作为它的源活动,同样有且仅有一个活动作为它的目标活动。目标活动会在源活动完成之后执行。这样flow内部的活动就可以通过活动构成一个有向图。
我们还可以在link的源上定义transition(变迁)条件,当源活动完成之后,BPEL引擎会检查变迁条件是否满足,如果link的转移条件满足目标活动就会执行。
7.Switch分支
<switch>
图1 分支结构示例
在IBM的WPS中,用户可以使用Java代码,内置的数据(true或false等)等定义条件表达式。
8.While——While循环
<while>
9.Pick 选取(在WPS中被称为Receive Choice)
<pick>
每个pick活动必须至少包括一个onMessage事件。onMessage事件的语义等同于有关变量属性的可选类型的receive活动。pick活动还可以定义onAlarm事件用于指定超时警报。
如图2所示描述了一个订单业务流程,它会利用pick活动来等待客户明确地确认或取消订单,并进行下一步处理,如果客户在指定的时间内没有响应,则会触发onAlarm事件并通知客户。
图2 选取活动示例
pick活动也可以作为业务流程的起始点,指定流程可以接收多种不同的消息,并让流程在接收到特定消息后创建新的流程实例来处理消息。这里与receive活动类似,我们需要将pick活动的createInstance属性设置为“yes”。当然这时候就不应该定义onAlarm超时事件。这是一个非常方便的特性,比如用户希望能够分别接收并处理来自网页、电子邮件或即时消息发送的请求,就可以通过pick活动非常自然地描述业务流程。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者