创建 BPEL4WS 文档的参考指南
来源:百度文库 编辑:神马文学网 时间:2024/04/28 18:03:00
创建 BPEL4WS 文档的参考指南
BPWS4J 编辑器的快速参考
文档选项最新推荐
Java 应用开发源动力 - 下载免费软件,快速启动开发
级别: 初级
Nirmal Mukhi, 软件工程师, IBM
2002 年 11 月 01 日
本文是创建 BPEL4WS 文档的快速参考指南,其中提供了对每种 BPEL4WS 文档元素的简短描述,这些元素包括相关属性、相关元素等。它是为 BPWS4J 编辑器的用户设计的,但它对任何试图创建 BPEL4WS 文档但并不完全熟悉其语言的人都有用。
结构化活动
Flow
提供并发性和同步性的结构化活动。 更多信息
- 菜单操作:add/wrap while、add/wrap scope、add/wrap sequence、add/wrap flow、add pick、add reply、add receive、add terminate、add throw、add switch、add invoke、add empty、add assignment、add wait、add compensate、 delete
- 主要操作:add link、add source、add target、 delete
表 1. Flow 属性
Name 活动的名称 Join condition 布尔表达式,指定到达活动的各种平行路径需求 Suppress join condition 如果值为“yes”,就可以在此活动及嵌套活动中抑制连接失败(除非已被嵌套活动覆盖)
Scope
活动的执行上下文。 更多信息
- 菜单操作:add/wrap while、add/wrap scope、add/wrap sequence、add/wrap flow、add pick、add reply、add receive、add terminate、add throw、add switch、add invoke、add empty、add assignment、add wait、add compensate、add fault handlers、add compensation handler、 delete
表 2. Scope 属性
Name 活动的名称 Join condition 布尔表达式,指定到达活动的各种平行路径需求 Suppress join condition 如果值为“yes”,则可以在此活动及嵌套活动中抑制连接失败(除非已被嵌套活动覆盖) Container access serializable 如果值为“yes”,则作用域是可连续的并在控制对共享容器的访问方面提供并发性。这样的作用域可以不嵌套,但它必须是个叶作用域
While
支持指定的迭代活动的重复执行;执行一直继续到指定的布尔条件不再为真。 更多信息
- 菜单操作:add/wrap while、add/wrap scope、add/wrap sequence、add/wrap flow、add pick、add reply、add receive、add terminate、add throw、add switch、add invoke、add empty、add assignment、add wait、add compensate、 delete
- 主要操作:add source、add target、 delete
表 3. While 属性
Name 活动的名称 Join condition 布尔表达式,指定到达活动的各种平行路径需求 Suppress Join condition 如果值为“yes”,则可以在此活动及嵌套活动中抑制连接失败(除非已被嵌套活动覆盖) Condition 布尔表达式,每次迭代开始时求该表达式的值以检查 while 的执行应该继续与否
Sequence
包含一个或多个活动的结构化活动,依照各活动在此结构化活动中出现的顺序依次执行。 更多信息
- 菜单操作:add/wrap while、add/wrap scope、add/wrap sequence、add/wrap flow、add pick、add reply、add receive、add terminate、add throw、add switch、add invoke、add empty、add assignment、add wait、add compensate、 delete
- 主要操作:add source、add target、 delete
表 4. Sequence 属性
Name 活动的名称 Join condition 布尔表达式,指定到达活动的各种平行路径需求 Suppress join condition 如果值为“yes”,可以在此此活动及嵌套活动中抑制连接失败(除非已被嵌套活动覆盖)
Pick
等待一个或多个事件的发生,执行与所发生的事件相关的活动。消息到达或计时器到点构成可能发生的事件。 更多信息
- 菜单操作:wrap while、wrap scope、wrap sequence、wrap flow、add onMessage、add onAlarm、 delete
- 主要操作:add source、add target、 delete
表 5. Pick 属性
Name 活动的名称 Join condition 布尔表达式,指定到达活动的各种平行路径需求 Suppress Join condition 如果值为“yes”,则可以在此活动及嵌套活动中抑制连接失败(除非已被嵌套活动覆盖) Create instance 如果值为“yes”,当消息到达时,将创建一个业务流程实例
Switch
通过允许指定一个或多个条件分支(它们的执行依赖于指定的条件)和一个可选的其他分支(若所有的条件经过测试都失败,则执行该分支)来支持附有条件的行为。 更多信息
- 菜单操作:wrap while、wrap scope、wrap sequence、wrap flow、add case、add otherwise、 delete
- 主要操作:add source、add target、 delete
表 6. Switch 属性
Name 活动的名称 Join condition 布尔表达式,指定到达活动的各种平行路径需求 Suppress Join condition 如果值为“yes”,则可以在此活动及嵌套活动中抑制连接失败(除非已被嵌套活动覆盖)
回页首
基本活动
Terminate
这项活动的执行迫使业务流程实例停止执行。 更多信息
- 菜单操作:wrap while、wrap scope、wrap sequence、wrap flow、 delete
- 主要操作:add source、add target、 delete
表 7. Terminate 属性
Name 活动的名称 Join condition 布尔表达式,指定到达活动的各种平行路径需求 Suppress Join condition 如果值为“yes”,则可以在此活动及嵌套活动中抑制连接失败(除非已被嵌套活动覆盖)
Receive
通过调用伙伴执行的指定操作来接收消息。 更多信息
- 菜单操作:wrap while、wrap scope、wrap sequence、wrap flow、 delete
- 主要操作:add source、add target、 delete
表 8. Receive 属性
Name 活动的名称 Join condition 布尔表达式,指定到达活动的各种平行路径需求 Suppress Join condition 如果值为“yes”,则可以在此活动及嵌套活动中抑制连接失败(除非已被嵌套活动覆盖) Container 在消息到达时存储消息的容器的名称 Operation 伙伴将调用的操作的名称 Port type 与操作有关的端口类型的限定名 Partner 发送消息的伙伴的名称 Create instance 如果值为“yes”,则表明消息到达时,将导致一个新业务流程实例被创建
Reply 表 9. Reply 属性
用来发送消息作为先前通过 receive 活动接受的请求的响应。 更多信息
Throw
当进程需要明确发出错误信号时使用。 更多信息
- 菜单操作:wrap while、wrap scope、wrap sequence、wrap flow、 delete
- 主要操作:add source、add target、 delete
表 10. Throw 属性
Name 活动的名称 Join condition 布尔表达式,指定到达活动的各种平行路径需求 Suppress Join condition 如果值为“yes”,可以在此活动及嵌套活动中抑制连接失败(除非已被嵌套活动覆盖) Fault name 被发出的错误的名称 Fault container 存储错误消息的容器的名称
Invoke
用来调用伙伴提供的 Web 服务操作。 更多信息
- 菜单操作:add compensation handler、add catch fault、wrap while、wrap scope、wrap sequence、wrap flow、 delete
- 主要操作:add source、add target、add correlation、 delete
表 11. Invoke 属性
Name 活动的名称 Join condition 布尔表达式,指定到达活动的各种平行路径需求 Suppress Join condition 如果值为“yes”,则可以在此活动及嵌套活动中抑制连接失败(除非已被嵌套活动覆盖) Input container 存储被调用操作的输入消息的容器的名称 Output container 存储与调用有关的输出消息的容器的名称 Operation 将被调用的操作的名称 Port type 与操作有关的端口类型的限定名 Partner 被调用的伙伴的名称
Empty
这项活动的执行没有任何效果。 更多信息
- 菜单操作:wrap while、wrap scope、wrap sequence、wrap flow、 delete
- 主要操作:add source、add target、 delete
表 12. Empty 属性
Name 活动的名称 Join condition 布尔表达式,指定到达活动的各种平行路径需求 Suppress Join condition 如果值为“yes”,则可以在此活动及嵌套活动中抑制连接失败(除非已被嵌套活动覆盖)
Assign
用来创建或修改容器内的数据。 更多信息
- 菜单操作:wrap while、wrap scope、wrap sequence、wrap flow、 delete
- 主要操作:add source、add target、add copy、 delete
表 13. Assign 属性
Name 活动的名称 Join condition 布尔表达式,指定到达活动的各种平行路径需求 Suppress Join condition 如果值为“yes”,可以在此活动及嵌套活动中抑制连接失败(除非已被嵌套活动覆盖)
Wait
在处理过程中引入延迟,延迟一个固定的时间周期,或者延迟到某个截止期限。 更多信息
- 菜单操作:wrap while、wrap scope、wrap sequence、wrap flow、 delete
- 主要操作:add source、add target、 delete
表 14. Wait 属性
Name 活动的名称 Join condition 布尔表达式,指定到达活动的各种平行路径需求 Suppress Join condition 如果值为“yes”,则可以在此活动及嵌套活动中抑制连接失败(除非已被嵌套活动覆盖) For expression 持续时间表达式,指明要等多久 Until expression 截止期限表达式,指明要等多久
Compensate
这个活动的执行导致指定作用域的补偿处理程序被调用。 更多信息
- 菜单操作:wrap while、wrap scope、wrap sequence、wrap flow、 delete
- 主要操作:add source、add target、 delete
表 15. Compensate 属性
Name 活动的名称 Join condition 布尔表达式,指定到达活动的各种平行路径需求 Suppress Join condition 如果值为“yes”,则可以在此活动及嵌套活动中抑制连接失败(除非已被嵌套活动覆盖) Scope 将被补偿的作用域的名称
回页首
其它元素
Process
用来定义进程,进程是包含业务流程定义的顶级 BPEL4WS 元素。 更多信息
- 菜单操作:add while、add scope、add sequence、add flow、add pick、add reply、add receive、add terminate、add throw、add switch、add invoke、add empty、add assignment、add wait、add compensate、add fault handlers、add compensation handler
- 主要操作:add container、add partner、add correlation set、 delete
表 16. Process 属性
Name 进程的名称 Enable instance compensation 如果值为“yes”,则表示该流程作为一个整体可以通过特定于平台的方式进行补偿 Suppress join faults 如果值为“yes”,则可以在进程中抑制连接失败(除非已被嵌套活动覆盖) Container access serializable 如果值为“yes”,则进程是可连续的并在控制对共享容器的访问方面提供并发性 Abstract process 如果值为“yes”,就意味着定义的进程是抽象的,而不是可执行的
Delete
允许删除已选择的活动或元素。注意:删除活动也会导致其子活动被递归删除。
Link
定义了 流(flow)的链接;流中的活动可作为链接的 源或链接的 目标。 更多信息
Source
标记一个活动作为链接源。
Target
标记一个活动作为链接目标。
Fault handlers
用来处理作用域内发生的错误。 更多信息
- 菜单操作:add catch fault、add catch all、 delete
Compensation handler
用来指定一种活动,这种活动用应用程序定义的方式将作用域的执行倒回,作为一种“撤销”或者“恢复”机制。 更多信息
- 菜单操作:add while 、add scope、add sequence、add flow、add pick、add reply、add receive、add terminate、add throw、add switch、add invoke、add empty、add assignment、add wait、add compensate、 delete
onMessage
与 pick活动相关的事件之一。指定消息的到达被用来触发相关活动的执行。 更多信息
- 菜单操作:add while、add scope、add sequence、add flow、add pick、add reply、add receive、add terminate、add throw、add switch、add invoke、add empty、add assignment、add wait、add compensate、 delete
- 主要操作:add correlation、 delete
表 17. onMessage 属性
Container 消息将到达的容器的名称 Operation 伙伴将调用的操作的名称 Port type 通过端口类型将操作公开给伙伴 Partner 伙伴的名称
onAlarm
与 pick活动相关的事件之一。指定的截止期限或设定的持续时间过完后会触发相关活动的执行。 更多信息
- 菜单操作:add while、add scope、add sequence、add flow、add pick、add reply、add receive、add terminate、add throw、add switch、add invoke、add empty、add assignment、add wait、add compensate、 delete
表 18. onAlarm 属性
For expression 持续时间值表达式,指明超时时间 Until 截止期限值表达式,指定截止期限条件
Case
被用来指定 switch的条件分支。 更多信息
- 菜单操作:add while、add scope、add sequence、add flow、add pick、add reply、add receive、add terminate、add throw、add switch、add invoke、add empty、add assignment、add wait、add compensate、 delete
表 19. Case 属性
Condition 布尔值表达式,为将被执行的 switch 的这个分支指定需要满足的条件
Otherwise
用来指定 switch的缺省分支。 更多信息
- 菜单操作:add while、add scope、add sequence、add flow、add pick、add reply、add receive、add terminate、add throw、add switch、add invoke、add empty、add assignment、add wait、add compensate、 delete
Correlation
用来表明 receive、 reply和 invoke活动中,哪些相关性集合在被发送和接收的消息中发生。 更多信息
表 20. Correlation 属性
Initiation 如果值为“yes”,则用被发送和接收的消息中出现的属性值初始化指定的相关性集合 Set 相关性集合的名称 Pattern 在 invoke过程中,用在同步的请求 ― 响应操作的上下文中;用来指定是否把相关性应用于出站消息、入站消息或同时应用于这两者
Correlation Set
用来定义属性集,这些属性被集体用于把在 receive、 invoke和 reply活动中交换的消息关联起来。 更多信息
- 主要操作:add property、 delete
表 21. Correlation Set 属性
Name 相关性集合的名称
Partner
用来定义为服务建模的伙伴,该服务与业务流程互相交互。 更多信息
表 22. Partner 属性
Name 伙伴的名称 My role 与伙伴进行交互的业务流程的角色;此角色必须是在服务链接类型中定义的角色之一 My role 与伙伴进行交互的伙伴服务的角色;此角色必须是在服务链接类型中定义的角色之一 Service link type 它定义两个相互交互的服务之间的关系,指定每个服务的角色和与每个角色相关的端口类型
Container
提供组成业务流程状态的消息的存储方法。 更多信息
表 23. Container 属性
Name 容器的名称 Message type 存储在这个容器中的消息的类型
回页首
回页首
关于作者
Nirmal K. Mukhi 是 IBM T J Watson Research Laboratory 的 Component Systems Group 的软件工程师。自 2000 年 11 月起,他就在这个小组从事 Web 服务研究。在此之前,他是 Indiana University 的研究员和学生,1999 年 5 月,他在该大学取得了硕士学位。此外,Nirmal 还致力于下列 Web 服务软件项目:WSDL4J、Web 服务调用框架(Web Services Invocation Framework,WSIF)、Web Services Gateway(WSGW)和 BPWS4J。您可以通过 nmukhi@us.ibm.com与他联系。