简单的异步 BPEL 流程
最新更新日期:2007 年 1 月 10 日
撰稿人:Sherry Barkodar,修订人:Alyona Stashkova
本教程对样例项目 AsynchronousSample 进行了概述,并说明了如何使用 NetBeans Enterprise Pack 5.5 软件包以及所有必需的运行环境来部署、执行和测试异步 BPEL 流程。
该流程是一个简单项目。它是一个回显流程,但是一个异步回显,而不是同步回显。即客户端向流程发送消息。流程会接收输入消息并立即返回。然后,流程会异步调用原始客户端,并发回相同的消息。当 BPEL 流程处于长期运行时(需要很长时间来计算结果),请使用异步流程。可通过对客户端执行调用,将结果返回给客户端。在本教程中,您将使用名为 AsynchronousSample 的简单 BPEL 项目和名为 AsynchronousSampleApplication 的复合应用程序项目。项目包括 WSDL 和架构文件、部署描述符以及用于测试的输入文件。此流程的 Web 服务接口是单个的异步操作。
先决条件
要了解本教程,您需要具备 Java 语言及其平台以及 NetBeans IDE 的一些基本知识或编程经验。
系统要求
本教程假定您的系统满足 NetBeans Enterprise Pack 5.5 发行说明的“系统要求”主题中指定的要求。
本教程所需的软件
在开始之前,您必须在计算机中安装以下软件:
- 包含 NetBeans Enterprise Pack 5.5 的 NetBeans IDE 5.5(下载)
- 要完成本教程中的部署步骤,必须安装 Sun Java System Application Server Platform Edition 9 Update 1。该应用服务器与 NetBeans Enterprise Pack 5.5 下载包捆绑在一起。
目录
返回页首
配置教程环境
在部署应用程序之前,必须正确配置 Sun Java System Application Server 和 JBI 运行环境,并且使它们处于运行状态。
配置教程环境:
- 单击“运行环境”标签以打开“运行环境”窗口。
- 在“运行环境”窗口中,展开“服务器”节点。
- 如果“服务器”节点已包含 "Sun Java System Application Server 9" 节点,请转至步骤 5。
- 如果“服务器”节点不包含 "Sun Java System Application Server 9" 节点,请执行以下操作来添加应用服务器:
- 右键单击“服务器”节点,然后从弹出式菜单中选择“添加服务器”。
将打开“添加服务器实例”对话框。
- 在“选择服务器”页中,从“服务器”下拉列表中选择 "Sun Java System Application Server"。
- (可选)在“名称”字段中,接受缺省值,或键入要用来在 IDE 中标识服务器的名称。
- 单击“下一步”。
将打开“平台文件夹位置”页。
- 在“平台位置”字段中,使用“浏览”按钮导航并选择应用服务器的安装位置。
如果在安装过程中接受了缺省值,则该位置应为 C:\Sun\Appserver。
- 选择“注册本地缺省域”选项。
- 单击“下一步”。
- 提供域管理员的用户名和口令。
如果在安装过程中接受了缺省值,则用户名应为 admin,口令应为 adminadmin。
- 单击“完成”。
- 在“运行环境”窗口中,右键单击 "Sun Java System Application Server 9" 节点,然后选择“启动”。
如果“启动”选项不可用,则说明服务器已在运行,您可以跳过下一步。
- 一直等到“输出”窗口中显示以下消息:
“应用服务器启动完成。”
当服务器处于运行状态时,IDE 将在 "Sun Java System Application Server 9" 节点的旁边显示一个绿色箭头标记。

单击以放大
返回页首
打开 AsynchronousSample 项目
- 从 IDE 的主菜单中,选择“文件”>“新建项目”。
将打开“新建项目”向导。
- 在“类别”列表中,选择“样例”>“面向服务的体系结构”。
- 在“项目”列表中,选择“异步 BPEL 流程”。

单击以放大
- 单击“下一步”。
- 在“项目名称”字段中,键入 AsynchronousSample。
- (可选)在“项目位置”字段中,使用“浏览”按钮导航并选择 IDE 用于存储项目文件的其他文件夹。
- 单击“完成”。
现在,“项目”窗口会包含两个项目节点:一个是名为 AsynchronousSample 的 BPEL 项目的节点,另一个是名为 AsynchronousSampleApplication 的复合应用程序项目的节点。
请注意 AsynchronousSampleApplication 节点中的中断引用。这是一种正常的现象。复合应用程序对 JBI 模块具有依赖性。
您可以随后在将项目部署到应用服务器上部分解决中断的引用问题。
返回页首
在“项目”窗口中浏览 BPEL 和 JBI 项目
- 在“项目”窗口中,展开 "AsynchronousSample" 节点,然后展开“流程文件”节点。
“流程文件”节点包含以下项:
- AsynchronousSample.bpel(BPEL 流程)
- AsynchronousSample.wsdl(流程 Web 服务接口)
- AsynchronousSample.xsd(架构文件)
- AsynchronousSampleClient.bpel(测试客户端流程)
- AsynchronousSampleClient.wsdl(客户端流程的 wsdl)
- 在“项目”窗口中,展开 "AsynchronousSampleApplication" 节点。JBI 部署项目包含:
- 双击 "AsynchronousSample.bpel" 节点。
请注意以下内容:
- 源代码编辑器包含了 AsynchronousSample.bpel 的标签。
- “设计”视图中显示了 AsynchronousSample 图。
“设计”视图是业务流程的可视设计器。在此视图中,您可以按可视方式对业务流程进行建模。BPEL 设计工具将自动生成对应于可视设计的 BPEL 代码。
- 在源代码编辑器的右侧打开了 BPEL 元素的组件面板。
- “导航”窗口显示了 BPEL 流程的 BPEL 逻辑视图。

单击以放大
返回页首
在“项目”窗口中浏览 AsynchronousSampleClient
AsynchronousSample 项目是异步的 BPEL 流程。对异步流程进行测试需要一个能够接收异步回调的客户端。因此,项目还包含了 AsynchronousSampleClient BPEL 流程。AsynchronousSampleClient 流程的唯一用途是便于 AsynchronousSample 的单元测试。
- 双击 "AsynchronousSampleClient.bpel" 节点。
IDE 将在“设计”视图中显示 AsynchronousSampleClient 图。
请注意,AsynchronousSample (partnerLinkB) 对 AsynchronousSampleClient 执行回调以返回响应。

- 双击 AsynchronousSampleClient 流程中的 receiveCallback 接收活动。
将打开 receiveCallback 的属性编辑器。
- 单击“关联”标签,选择 correlator 行,然后单击“编辑”。
将显示“编辑关联集”编辑器。
请注意是如何使用关联将此响应与 AsynchronousSampleClient 的相应实例相关联的。

返回页首
将项目部署到应用服务器上
BPEL 项目不能直接部署。您必须先将 BPEL 项目作为 JBI 模块添加到复合应用程序项目中,然后部署复合应用程序项目。通过部署该项目,可以将服务组装用于应用服务器,从而可以运行其服务单元。
- 在“项目”标签下面,右键单击 "AsynchronousSampleApplication" 部署项目节点,然后选择“添加 JBI 模块”。
将出现“选择项目”向导。
- 在该向导中,选择 "AsynchronousSample"。

- 单击“添加项目 JAR 文件”按钮。
- 展开 "AsynchronousSampleApplication" >“JBI 模块”。
请注意,已添加了 "AsynchronousSample.jar" 节点。

- 右键单击 "AsynchronousSampleApplication" 项目节点,然后选择“部署项目”。
- 在警告对话框中,请确保选择了 "Sun Java System Application Server 9",然后单击“确定”。
- 如果在“输出”窗口中看到以下消息,则说明已成功完成了部署:

- 如果未显示“输出”窗口,请选择“窗口”>“输出”。
返回页首
测试 AsynchronousSampleApplication
- 在“项目”窗口中,展开 "AsynchronousSampleApplication" >“测试”> "NewTestcase0"。"NewTestcase0" 节点包含了以下两个 XML 文件:
- Input.xml(用于输入)
- Output.xml(用于输出)
在每次运行测试时,都会将当前输出与 Output.xml 的内容进行比较。

- 右键单击 "AsynchronousSampleApplication" 项目节点,然后从上下文菜单中选择“测试项目”。
“输出”窗口中将显示以下消息:

返回页首