FeaturesDocs & SupportCommunityBlogsPartners

开发一个简单的异步 BPEL 流程

本教程概述示例项目 AsynchronousSample,演示如何使用 NetBeans IDE 6.0 以及所有必要的运行时部署、执行、测试异步 BPEL 流程。

该过程是一个回显过程,但它是异步回显,不是同步回显。客户端向过程发送一条消息。过程接收输入消息并立即返回。然后过程异步调用原客户端并发回该消息。在 BPEL 流程的长时间运行期间(计算结果需要很长时间)使用异步过程。通过对客户端执行调用将结果返回给客户端。在本教程中,将使用一个简单的 BPEL 项目(名为 AsynchronousSample)和一个复合应用程序(名为 AsynchronousSampleApplication)。项目包括 WSDL 和 Schema 文件、部署描述符、要测试的输入文件。此过程的 web 服务接口是一个异步操作。

预计时间:30 分钟

教程要求

在开始之前,确保对本节的系统要求有所了解。

前提条件

本教程假设您已经具备 Java 语言、平台以及 NetBeans IDE 的基础知识或编程经验。

系统要求

本教程假定您的系统满足 NetBeans IDE 6.0 发行说明“系统要求”部分所指定的要求。

本教程所需的软件

开始之前,需要在您的计算机中安装以下软件:附带 SOA 及 GlassFish 应用服务器的 NetBeans IDE 6.0,可通过 NetBeans IDE 6.0 下载页面 获得,需选中 All 选项。

回到顶部

 

配置和启动 GlassFish 应用服务器。

当我们安装完整版本的 NetBeans 6.0 时,GlassFish 应用服务器将一并安装。NetBeans IDE 将在需求时自动启动应用服务器。

启动 GlassFish 应用服务器:

  1. 如果“服务”窗口不可见,则选择“窗口”>“服务”选项。
  2. 在“服务”窗口中,展开“服务器”节点。
    “服务器”节点中应该包含 GlassFish Application Server 子节点。如果未出现 GlassFish Application Server 节点,请参阅 配置 GlassFish 应用服务器

 

  1. 右键单击 GlassFish 应用服务器节点并选择“启动”。
    “输出”窗口将显示关于应用程序启动的日志信息:如果“输出”窗口不可见,请选择“窗口” > “输出” > “输出”选项。

    如果 Application server startup complete 消息出现在输出窗口中,则表示应用服务器正在运行。
    注意: 如果 GlassFish 应用服务器节点上出现了一个绿色的箭头标志,则表示服务器正在运行。

注意在 GlassFish 应用服务器中部署应用程序将自动启动 GlassFish 应用服务器。这样,我们就不需要手动启动该应用服务器。

注意:以下步骤将演示如何配置 NetBeans 6.0 IDE 使用另一个版本的(GlassFish V2)应用服务器。

配置 GlassFish V2 应用服务器:

您可能希望使用不同版本的应用服务器,而不是 NetBeans 6.0 所提供的版本。比如说,您可以从 GlassFish 社区 站点下载并安装一个更新版本的 GlassFish V2。

以下步骤将演示如何配置 NetBeans 6.0 IDE 使用另一个版本的(GlassFish V2)应用服务器。假定您已经下载并安装了另一个版本的应用服务器。

  1. 在“服务”窗口中,右键单击“服务器”节点并从弹出菜单中选择“添加服务器”选项。
    此时将打开“添加服务器实例”对话框。
  2. 在“选择服务器”页面中,从拉列表中选择 GlassFish V2。
  3. 单击“下一步”。
    此时将打开“平台文件夹位置”页面。
  4. 在“平台位置”字段中,使用“浏览”按钮导航到应用服务器的安装位置并选择该位置。

    如果将 GlassFish 应用服务器安装在默认位置,那么可以使用 表 1 作为查找安装位置的向导。否则,导航到 GlassFish V2 应用服务器的安装位置。

    表 1:应用服务器的默认安装目录

    平台 所属用户组 SOA 安装 工具包安装
    Solaris OS 
    Linux
    root /opt/glassfish-v2 /opt/SUNWappserver
    Solaris OS 
    Linux
    user ~/glassfish-v2 ~/SUNWappserver
    Mac OS X N/A /Applications/NetBeans/glassfish-v2b58g /Applications/NetBeans/NetBeans 6.0
    Windows N/A C:\Program Files\glassfish-v2-b58g C:\Sun\AppServer
  5. 选中“注册本地域”单选按钮,然后单击“下一步”。
  6. 输入域管理员的用户名和口令。
    如果在安装时接受了默认值,则用户名和口令分别为 adminadminadmin
  7. 单击“完成”。

回到顶部

打开 AsynchronousSample 项目

  1. 从 IDE 的主菜单中,选择“文件”>“新建项目”。
    此时将打开“新建项目”向导。
  2. 在“类别”列表中选择“示例”>“SOA”。
  3. 在“项目”列表中选择“异步 BPEL 流程”。

    选择的异步 BPEL 流程

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

    键入项目名称

  6. (可选)在“项目位置”字段中,使用“浏览”按钮导航到 IDE 将要存储 EJB 项目文件的位置并选择它。
  7. 单击“完成”。
    “项目”窗口现在包含两个项目节点:一个对应于 BPEL 项目(名为 AsynchronousSample);另一个对应于复合应用程序(名为 AsynchronousSampleApplication)。

回到顶部

 

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

  1. 在“项目”窗口中,展开 LoanProcessor 项目节点,然后再展开流程文件节点。
    流程文件节点包含以下项:
    • 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. 双击 receiveCallback 接收 AsynchronousSampleClient 过程中的活动。
    打开了 receiveCallback 的“属性编辑器”。
  3. 单击“关联”选项卡,选择关联程序行并单击“编辑”。
    出现“编辑关联设置编辑器”。
    注意将此响应关联到正确 AsynchronousSampleClient 的方式。

    编辑关联设置编辑器

回到顶部

 

在应用服务器上部署项目

注意,不能直接部署 BPEL 项目。必须将该项目作为 JBI 模块添加到复合应用程序项目中。然后才能部署复合应用程序项目。部署项目将使应用服务器可以使用服务组装功能,从而允许服务单元运行。

  1. 展开 AsynchronousSampleApplication > JBI 模块。
    确保添加了 AsynchronousSample.jar 节点。

    添加到复合应用程序项目的 AsynchronousSample.jar

  2. 右键单击 AsynchronousSampleApplication 项目节点,然后选择“部署”。
  3. 在警告对话框中,请确保选择了 GlassFish V2 ,然后单击“确定”。
  4. 如果在“输出”窗口中看到以下消息,则说明已成功完成了部署:

    成功部署

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

回到顶部

 

测试 AsynchronousSampleApplication

  1. 在“项目”窗口中,展开 AsynchronousSampleApplication >测试> NewTestcase0NewTestcase0 节点包含两个 XML 文件:
    • Input.xml,用于输入
    • Output.xml,用于输出
    每次运行测试时,会比较当前输出和 Output.xml 的内容。

    NewTestcase0

  2. 右键单击 AsynchronousSampleApplication 项目节点,从弹出菜单中选择 Test。
    以下消息将出现在“输出”窗口中:

    NewTestcase0 通过

更多信息

Companion
Projects:
                  Powered by: