FeaturesPluginsDocs & SupportCommunityPartners

简单的异步 BPEL 流程

本教程对样例项目 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 运行环境,并且使它们处于运行状态。

配置教程环境:

  1. 单击“运行环境”标签以打开“运行环境”窗口。
  2. 在“运行环境”窗口中,展开“服务器”节点。
  3. 如果“服务器”节点已包含 "Sun Java System Application Server 9" 节点,请转至步骤 5。
  4. 如果“服务器”节点不包含 "Sun Java System Application Server 9" 节点,请执行以下操作来添加应用服务器:
    1. 右键单击“服务器”节点,然后从弹出式菜单中选择“添加服务器”。
      将打开“添加服务器实例”对话框。
    2. 在“选择服务器”页中,从“服务器”下拉列表中选择 "Sun Java System Application Server"。
    3. (可选)在“名称”字段中,接受缺省值,或键入要用来在 IDE 中标识服务器的名称。
    4. 单击“下一步”。
      将打开“平台文件夹位置”页。
    5. 在“平台位置”字段中,使用“浏览”按钮导航并选择应用服务器的安装位置。
      如果在安装过程中接受了缺省值,则该位置应为 C:\Sun\Appserver
    6. 选择“注册本地缺省域”选项。
    7. 单击“下一步”。
    8. 提供域管理员的用户名和口令。
      如果在安装过程中接受了缺省值,则用户名应为 admin,口令应为 adminadmin。
    9. 单击“完成”。
  5. 在“运行环境”窗口中,右键单击 "Sun Java System Application Server 9" 节点,然后选择“启动”。
    如果“启动”选项不可用,则说明服务器已在运行,您可以跳过下一步。
  6. 一直等到“输出”窗口中显示以下消息:
    “应用服务器启动完成。”
    当服务器处于运行状态时,IDE 将在 "Sun Java System Application Server 9" 节点的旁边显示一个绿色箭头标记。

应用服务器处于运行状态
单击以放大

返回页首

打开 AsynchronousSample 项目

  1. 从 IDE 的主菜单中,选择“文件”>“新建项目”。
    将打开“新建项目”向导。
  2. 在“类别”列表中,选择“样例”>“面向服务的体系结构”。
  3. 在“项目”列表中,选择“异步 BPEL 流程”。

    已选定“异步 BPEL 流程”
    单击以放大

  4. 单击“下一步”。
  5. 在“项目名称”字段中,键入 AsynchronousSample

    键入项目名称

  6. (可选)在“项目位置”字段中,使用“浏览”按钮导航并选择 IDE 用于存储项目文件的其他文件夹。
  7. 单击“完成”。
    现在,“项目”窗口会包含两个项目节点:一个是名为 AsynchronousSample 的 BPEL 项目的节点,另一个是名为 AsynchronousSampleApplication 的复合应用程序项目的节点。
    请注意 AsynchronousSampleApplication 节点中的中断引用。这是一种正常的现象。复合应用程序对 JBI 模块具有依赖性。
    您可以随后在将项目部署到应用服务器上部分解决中断的引用问题。

返回页首


在“项目”窗口中浏览 BPEL 和 JBI 项目

  1. 在“项目”窗口中,展开 "AsynchronousSample" 节点,然后展开“流程文件”节点。
    “流程文件”节点包含以下项:
    • AsynchronousSample.bpel(BPEL 流程)
    • AsynchronousSample.wsdl(流程 Web 服务接口)
    • AsynchronousSample.xsd(架构文件)
    • AsynchronousSampleClient.bpel(测试客户端流程)
    • AsynchronousSampleClient.wsdl(客户端流程的 wsdl)
  2. 在“项目”窗口中,展开 "AsynchronousSampleApplication" 节点。JBI 部署项目包含:
    • 源包
    • JBI 模块
    • 测试

    已展开 AsynchronousSample

  3. 双击 "AsynchronousSample.bpel" 节点。
    请注意以下内容:
    • 源代码编辑器包含了 AsynchronousSample.bpel 的标签。
    • “设计”视图中显示了 AsynchronousSample 图。
      “设计”视图是业务流程的可视设计器。在此视图中,您可以按可视方式对业务流程进行建模。BPEL 设计工具将自动生成对应于可视设计的 BPEL 代码。
    • 在源代码编辑器的右侧打开了 BPEL 元素的组件面板。
    • “导航”窗口显示了 BPEL 流程的 BPEL 逻辑视图。

    已展开 AsynchronousSample.bpel
    单击以放大

返回页首


在“项目”窗口中浏览 AsynchronousSampleClient

AsynchronousSample 项目是异步的 BPEL 流程。对异步流程进行测试需要一个能够接收异步回调的客户端。因此,项目还包含了 AsynchronousSampleClient BPEL 流程。AsynchronousSampleClient 流程的唯一用途是便于 AsynchronousSample 的单元测试。

  1. 双击 "AsynchronousSampleClient.bpel" 节点。
    IDE 将在“设计”视图中显示 AsynchronousSampleClient 图。
    请注意,AsynchronousSample (partnerLinkB) 对 AsynchronousSampleClient 执行回调以返回响应。

    AsynchronousSampleClient 图

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

“编辑关联集”编辑器

返回页首


将项目部署到应用服务器上

BPEL 项目不能直接部署。您必须先将 BPEL 项目作为 JBI 模块添加到复合应用程序项目中,然后部署复合应用程序项目。通过部署该项目,可以将服务组装用于应用服务器,从而可以运行其服务单元。

  1. 在“项目”标签下面,右键单击 "AsynchronousSampleApplication" 部署项目节点,然后选择“添加 JBI 模块”。
    将出现“选择项目”向导。
  2. 在该向导中,选择 "AsynchronousSample"。

    “选择项目”向导

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

    已添加 AsynchronousSample.jar

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

    生成成功

  8. 如果未显示“输出”窗口,请选择“窗口”>“输出”。

返回页首


测试 AsynchronousSampleApplication

  1. 在“项目”窗口中,展开 "AsynchronousSampleApplication" >“测试”> "NewTestcase0"。"NewTestcase0" 节点包含了以下两个 XML 文件:
    • Input.xml(用于输入)
    • Output.xml(用于输出)
    在每次运行测试时,都会将当前输出与 Output.xml 的内容进行比较。

    NewTestcase0

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

    NewTestcase0 通过



返回页首

Bookmark this page

del.icio.us furl simpy slashdot technorati digg
Companion
Projects:
MySQL Database Server   Open JDK: an Open SourceJDK   GlassFish Community: an Open Source Application Server    Mobile & Embedded Community    Open Solaris   java.net - The Source for Java Technology Collaboration   Virtual Box - full virtualizer  Open ESB - The Open Enterprise Service Bus Powered by