Web 服务的业务流程执行语言(Business Process Execution Language for Web Services,BPEL4WS)规范,其定位是成为整合方面的 Web 服务标准。
BPEL4WS 流程本身基本上就是一个流程图,类似于用来表达算法的流程图。流程的每一步称为一个活动。存在以下一些基本活动:调用某个 Web 服务上的操作(<invoke>
),等待一条消息来响应由某人从外部进行调用的服务接口的操作(<receive>
),生成输入/输出操作的响应(<reply>
),等待一段时间(<wait>
),把数据从一个地方复制到另一个地方(<assign>
),指明某个地方出错了(<throw>
),终止整个服务实例(<terminate>
),或者什么也不做(<empty>
)。
通过使用语言所提供的任何结构化活动,可以将这些原语活动组合成更复杂的算法。这些结构化活动提供的能力有:定义一组步骤的有序序列(<sequence>
),使用现在常见的“case-statement”办法来产生分支(<switch>
),定义一个循环(<while>
),执行几条可选路径中的一条(<pick>
),以及指明一组步骤应该并行地执行(<flow>
)。在并行地执行的一组活动中,您可以通过使用链接(link)来指明执行顺序方面的约束。