BPEL学习:结构化活动(7个)
来源:互联网 发布:java文件 编辑:程序博客网 时间:2024/04/30 12:42
<sequence>
活动包含一个或多个顺序执行的活动。活动按照它们在 <sequence>
元素中出现的顺序被执行。当 <sequence>
中的最后一个活动已经完成的时候,<sequence>
活动本身就完成了。
<switch>
活动起的作用与许多传统编程语言中出现的 switch 构造很相似。switch 活动中有一个由 <case>
元素定义的、由一个或多个条件分支组成的有序列表,后面跟着一个可选的 <otherwise>
元素。每个 <case>
分支指定一个布尔 XPath 表达式,按照表达式出现的顺序对它们求值(条件表达式的求值所使用的逻辑,与前面讲述 <assign>
的部分所描述的用于一般表达式的逻辑几乎相同)。第一个布尔表达式值为真的 <case>
元素的子活动将获得执行。如果没有哪个 <case>
元素的条件为真,则执行 <otherwise>
元素的子活动。如果没有指定 <otherwise>
元素,则会有一个隐含的包含一个 <empty>
活动的 <otherwise>
。当选定的分支完成时,<switch>
活动也就完成了。
<while>
活动重复执行它的子活动,直到对指定的布尔条件求得的值不再为真。条件被当作 XPath 表达式进行求值。
<pick>
活动包含一组事件处理程序。每个处理程序包含一个活动,处理程序在 pick 已经启动且处理程序正等待的事件发生时运行。处理程序包括警报处理程序,警报处理程序指定持续时间或截止期限,还包括消息处理程序(onMessage),消息处理程序等待来自某个特定伙伴、portType 和操作三元组的消息。消息处理程序能够按照与 receive 相同的方式创建一个流程实例,上面关于流程生命周期的部分描述了这种方式(使用 createInstance 属性)。只有第一个要接收它的事件的事件处理程序才会运行,一旦该处理程序的活动完成,<pick>
就将完成。
<scope>
活动为嵌套在其中的活动提供故障处理功能和补偿处理功能。在即将发表的关于故障处理和补偿的文章中将更详细地介绍作用域(scope)。
<flow>
构造提供了以并行方式运行活动的能力,还提供了定义防护性链接的能力。它可以包含任意数量的活动。当流被启动后,这个流中的所有活动就都做好了运行的准备,除非这些活动具有还没有求得值的传入的链接。流定义了一组链接,这些链接的源活动和目标活动都必须嵌套在这个流中。
<link>链接对于如何将流程的活动设置为运行施加了自己的约束。一旦一个活动完成了,它就对离它而去的链接上的任何条件进行求值。如果没有定义任何条件且活动已经正常完成,则所有条件的求值均为真。如果活动发生了故障,或者无法运行,那么活动向它所有的外发链接报错。另一方面,有传入链接的活动不得不等待,直到获得它所有链接传下来的值,方可运行。该活动还需要对它所包含的活动有控制权。例如,假设它是 sequence 中的第二个活动并且它的所有链接都已传入,如果该 sequence 中的第一个活动尚未完成,那么它也不会运行。一旦它拥有了这个控制权并且知道了它所有传入的链接的值,它就对一个被称为连结条件的条件求值。连结条件包含传入的链接的状态,如果活动要运行,则连结条件的求值必须为真。如果其求值为假,那么活动将发出一个连结失败的信号并且异常结束。如果该活动的隐式链接(来自父活动的控制权)为真且活动的各显式链接中有任意一个为真,那么缺省连结条件就为真。所有的链接条件均为 XPath 表达式。
- BPEL学习:结构化活动(7个)
- BPEL学习:基本活动(8个)
- BPEL学习:基本活动
- BPEL中的基本活动
- BPEL活动浅析
- bpel学习笔记(1)
- bpel学习笔记(2)
- bpel学习笔记(3)
- BPEL学习
- Bpel的Active活动解析
- BPEL的基本活动介绍
- BPEL的基本活动介绍
- BPEL学习:概念
- BPEL实例学习
- BPEL学习笔记
- bpel学习随笔
- 最近正在学习BPEL
- BPEL 学习笔记
- MSComm控件 License 注册
- [转帖]软件测试中的黑衣团队 阿蒙
- 安装自己的java聊天室
- 慧乔
- 一个简单的能显示动态图片的类(一)
- BPEL学习:结构化活动(7个)
- BREW和Java的技术对比分析
- 特化的是什么?
- 先做人,后做事;职场无小事[ZZ]
- 创业者必看九条经验[ZZ]
- 提高linux的连接限制
- 一个vb.net异步通讯的问题(估计新手都会遇见)
- 5年成大富翁6大法则[ZZ]
- 相关DirectX和CSGL的文章收藏