创建 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 compensatedelete
  • 主要操作:add link、add source、add targetdelete

表 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 handlerdelete

表 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 compensatedelete
  • 主要操作:add source、add targetdelete

表 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 compensatedelete
  • 主要操作:add source、add targetdelete

表 4. Sequence 属性

Name 活动的名称 Join condition 布尔表达式,指定到达活动的各种平行路径需求 Suppress join condition 如果值为“yes”,可以在此此活动及嵌套活动中抑制连接失败(除非已被嵌套活动覆盖)

Pick
等待一个或多个事件的发生,执行与所发生的事件相关的活动。消息到达或计时器到点构成可能发生的事件。 更多信息

  • 菜单操作:wrap while、wrap scope、wrap sequence、wrap flow、add onMessage、add onAlarmdelete
  • 主要操作:add source、add targetdelete

表 5. Pick 属性

Name 活动的名称 Join condition 布尔表达式,指定到达活动的各种平行路径需求 Suppress Join condition 如果值为“yes”,则可以在此活动及嵌套活动中抑制连接失败(除非已被嵌套活动覆盖) Create instance 如果值为“yes”,当消息到达时,将创建一个业务流程实例

Switch
通过允许指定一个或多个条件分支(它们的执行依赖于指定的条件)和一个可选的其他分支(若所有的条件经过测试都失败,则执行该分支)来支持附有条件的行为。 更多信息

  • 菜单操作:wrap while、wrap scope、wrap sequence、wrap flow、add case、add otherwisedelete
  • 主要操作:add source、add targetdelete

表 6. Switch 属性

Name 活动的名称 Join condition 布尔表达式,指定到达活动的各种平行路径需求 Suppress Join condition 如果值为“yes”,则可以在此活动及嵌套活动中抑制连接失败(除非已被嵌套活动覆盖)





回页首

基本活动

Terminate
这项活动的执行迫使业务流程实例停止执行。 更多信息

  • 菜单操作:wrap while、wrap scope、wrap sequence、wrap flowdelete
  • 主要操作:add source、add targetdelete

表 7. Terminate 属性

Name 活动的名称 Join condition 布尔表达式,指定到达活动的各种平行路径需求 Suppress Join condition 如果值为“yes”,则可以在此活动及嵌套活动中抑制连接失败(除非已被嵌套活动覆盖)

Receive
通过调用伙伴执行的指定操作来接收消息。 更多信息

  • 菜单操作:wrap while、wrap scope、wrap sequence、wrap flowdelete
  • 主要操作:add source、add targetdelete

表 8. Receive 属性

Name 活动的名称 Join condition 布尔表达式,指定到达活动的各种平行路径需求 Suppress Join condition 如果值为“yes”,则可以在此活动及嵌套活动中抑制连接失败(除非已被嵌套活动覆盖) Container 在消息到达时存储消息的容器的名称 Operation 伙伴将调用的操作的名称 Port type 与操作有关的端口类型的限定名 Partner 发送消息的伙伴的名称 Create instance 如果值为“yes”,则表明消息到达时,将导致一个新业务流程实例被创建

Reply
用来发送消息作为先前通过 receive 活动接受的请求的响应。 更多信息

  • 菜单操作:wrap while、wrap scope、wrap sequence、wrap flowdelete
  • 主要操作:add source、add targetdelete

表 9. Reply 属性

Name 活动的名称 Join condition 布尔表达式,指定到达活动的各种平行路径需求 Suppress Join condition 如果值为“yes”,则可以在此活动及嵌套活动中抑制连接失败(除非已被嵌套活动覆盖) Container 存储应答消息的容器的名称 Fault name 与该活动相关的错误的名称 Operation 这条应答消息相对应的操作的名称 Port type 与操作有关的端口类型的限定名 Partner 接收消息的伙伴的名称

Throw
当进程需要明确发出错误信号时使用。 更多信息

  • 菜单操作:wrap while、wrap scope、wrap sequence、wrap flowdelete
  • 主要操作:add source、add targetdelete

表 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 flowdelete
  • 主要操作:add source、add target、add correlationdelete

表 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 flowdelete
  • 主要操作:add source、add targetdelete

表 12. Empty 属性

Name 活动的名称 Join condition 布尔表达式,指定到达活动的各种平行路径需求 Suppress Join condition 如果值为“yes”,则可以在此活动及嵌套活动中抑制连接失败(除非已被嵌套活动覆盖)

Assign
用来创建或修改容器内的数据。 更多信息

  • 菜单操作:wrap while、wrap scope、wrap sequence、wrap flowdelete
  • 主要操作:add source、add target、add copydelete

表 13. Assign 属性

Name 活动的名称 Join condition 布尔表达式,指定到达活动的各种平行路径需求 Suppress Join condition 如果值为“yes”,可以在此活动及嵌套活动中抑制连接失败(除非已被嵌套活动覆盖)

Wait
在处理过程中引入延迟,延迟一个固定的时间周期,或者延迟到某个截止期限。 更多信息

  • 菜单操作:wrap while、wrap scope、wrap sequence、wrap flowdelete
  • 主要操作:add source、add targetdelete

表 14. Wait 属性

Name 活动的名称 Join condition 布尔表达式,指定到达活动的各种平行路径需求 Suppress Join condition 如果值为“yes”,则可以在此活动及嵌套活动中抑制连接失败(除非已被嵌套活动覆盖) For expression 持续时间表达式,指明要等多久 Until expression 截止期限表达式,指明要等多久

Compensate
这个活动的执行导致指定作用域的补偿处理程序被调用。 更多信息

  • 菜单操作:wrap while、wrap scope、wrap sequence、wrap flowdelete
  • 主要操作:add source、add targetdelete

表 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 setdelete

表 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 compensatedelete

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 compensatedelete
  • 主要操作:add correlationdelete

表 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 compensatedelete

表 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 compensatedelete

表 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 compensatedelete

Correlation
用来表明 receivereplyinvoke活动中,哪些相关性集合在被发送和接收的消息中发生。 更多信息

表 20. Correlation 属性

Initiation 如果值为“yes”,则用被发送和接收的消息中出现的属性值初始化指定的相关性集合 Set 相关性集合的名称 Pattern 在 invoke过程中,用在同步的请求 ― 响应操作的上下文中;用来指定是否把相关性应用于出站消息、入站消息或同时应用于这两者

Correlation Set
用来定义属性集,这些属性被集体用于把在 receiveinvokereply活动中交换的消息关联起来。 更多信息

  • 主要操作: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与他联系。