业务流程执行语言 (BPEL) 用于使用 Web 服务定义业务流程的执行。在使用 BPEL 实现业务流程之前,业务分析师通常会使用一种易于阅读的可视化符号来定义流程。例如业务流程建模符号 (BPMN) 就是一种 OMG 标准,并且在 Sparx Systems Enterprise Architect 中用于自动生成 BPEL。
BPEL 概述
业务流程执行语言 (BPEL) 定义了业务流程的行为,基于流程与外部实体之间的互动。这种互动通过 Web 服务发生,并使用 WSDL 1.1 表示流程对外界暴露的接口。
在 Enterprise Architect 中的 BPEL
Enterprise Architect 使用 BPMN 1.1 作为图形前端来捕捉 BPEL 1.1 流程描述,并使用 BPMN 1.1 规范中指定的映射来自动生成 BPEL。
BPEL 的 Hello World 示例
让我们创建一个简单的 Hello World BPEL,当被调用时,它将回复“Hello World”。创建这个 BPEL 需要:
创建一个 BPEL 流程。为 BPEL 流程创建一个 WSDL。
创建 BPEL 流程
我们将使用内置的 BPEL 模型模板作为创建我们的 Hello World BPEL 的起点。 这个模板将创建一个示例 BPEL 模型结构,然后可以根据我们的例子进行修改。
打开或创建一个 EAP 文件。
在项目浏览器中右键点击根节点,然后选择使用向导添加新模型。
在 Select model(s) 对话框中选择 BPEL Model。
创建 BPEL 流程的 WSDL
对于 Hello World BPEL,让我们将 BPEL 建模为当一个外部实体调用它时,它将发出响应。
为此场景建模,我们需要创建一个同步的 WSDL 消息模式。
在项目浏览器中右键点击 SampleBPELProcess,然后选择 BPEL → 创建 Web 服务。
设置 Create Web Service 对话框中 Partnership Details 选项卡的值。
设置 Create Web Service 对话框中 Web Service 选项卡的值。
设置 Create Web Service 对话框中 Input 选项卡的值。
设置 Create Web Service 对话框中 Output 选项卡的值。
修改 BPEL 流程以适应 Hello World 示例
现在我们已经定义了 WSDL,让我们修改 BPEL 流程。打开 SampleBPELProcess 下的 BPELProcess1 图纸。
StartEvent1 当接收到请求消息时将启动 BPEL 流程。
为了使 StartEvent1 能够接收消息,它的类型应该为 Message。
因此,双击此元素并设置其属性。 我们将在 EndEvent1 中回复消息。
与 StartEvent1 类似,EndEvent1 应该也是 Message 类型,以便能够用消息作出回应。
因此,双击此元素并设置其属性。
生成 BPEL
现在我们可以生成 BPEL 了。打开 Generate BPEL 对话框,右键点击 SampleBPELProcess → BPEL → Generate BPEL,
在 Generate BPEL 对话框中点击 Generate BPEL 按钮。
快照
BPEL 文件的快照
WSDL 文件的快照