bpmn到bpel映射的例子(翻译五,结束)

“Confirmation”活动与“Evaluate Reservation Result”活动类似。也有java代码。例子20显示了生成的bpel代码
   
在bpel代码中,真正的同步发生中“Confirmation”活动中,这里没有像bpmn中的独立的同步操作。Bpel使用在flow 中的link元素来创建依赖。包括同步。“confirmation”中有三个target元素。这个invoke必须等待三个link的信号都到达之后才可以进行。
在“confirmation”活动中,因为没有“joincondition”属性。所以要等到三个信号都到达。这就是同步的操作。
  在“Done”活动中,有一个link12,它有一个Transitioncondition的属性,在这个是不需要的。因为link12在while活动完成之前不会被触发。这也意味这个当被触发时,transitionCondition总是true;如果这里有另外一个出口,这个可能会有用。
THE END OF FLOW
  在“confirmation”活动之后,将有一个回复给process的调用者。这个process也就结束了。
 
这个消息结束事件将被映射为reply元素。从“confirmation”活动到“reply”的顺序关系将被映射为link元素(link12)。例子21将被显示为消息结束事件与reply 的映射。
例子22显示了bpel代码。
错误处理:
正如在图8中看到的,“check credit card”活动有一个错误处理事件,这个事件有特定的错误触发,打断活动而之间推出flow中,当输入一个不合法的信用卡号时,这个错误将被触发。
如果错误发生,那么“handle Fault”活动将处理这个信息和准备返回信息。“reply”消息结束事件将发这个消息。这意味着这个process就结束。所有其他的活动将不执行。Bpel为这种情况提供了在一个“scope”中“faultHandlers”的机制。这个scope将包括整个process,这意味着主要的process(flow)将和foultHandlers是一个级别。在这个scope中,当faultHandler被触发时,将打断flow的执行。
 Reply消息结束事件被放在faultHandlers中,“handler fault”活动也是一个“csript”类型,
这个reply与flow中的reply类似。
  为了保持一致性,在错误处理部分将被放在一个flow中,handle fault与“reply”通过link14连接。例子23显示
了这部分的bpel代码
 
结论:
   这篇文章提供了一个 bpmn 到可执行流程之间映射的例子。为达到这个目标,图表的对象和属性被分解并映射为适当的 bpel 元素。尽管这片文章没有涉及得到 bpmn 所有的方面,但它一步步展现了一个旅行预定流程到 bpel 的映射。所有,这个例子说明了 bpmn bpel 的结合方式。由 bpmn 提供业务层次视图,然后生成可执行的代码( bpel )。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值