翻译 在BPEL中使用相关集、属性和属性别名收藏

新一篇: 将遗留Web应用程序移植到NetBeans | 旧一篇: Schliemann:在NetBeans6.0中集成脚本语言

本教程介绍在 BPEL 流程中使用相关集、属性和属性别名的方式和时间。还介绍为了配置这些元素 NetBeans Enterprise Pack 提供的可视工具。在一个 BPEL 过程示例的基础上,您将会看到相关集、属性和属性别名如何支持异步业务协作。

  每个 BPEL 业务流程都是一个 Web 服务,因此可能您只需要知道目标端口就可以向 BPEL 流程发送消息。但是,由于业务流程是状态流程,并且已被实例化为根据它们的状态起作用,因此使用 BPEL 相关集以标准、与实现无关的方式来支持 Web 服务之间的状态协作。

  相关集依赖于消息封装、标题或业务文档自身中存储的相关数据。相关性的声明依赖于声明的消息属性。属性只是消息中由查询标识的一个字段。查询由名为属性别名的特定结构指定。

先决条件

  本教程假设您基本了解 NetBeans IDE 或者有使用它编程的经验。

系统要求

  本教程假设您的系统达到了 NetBeans Enterprise Pack 5.5.1 Beta Release Notes 的“System Requirements”主题中指定的要求。

教程所需的软件

注意:现在,NetBeans IDE 5.5.1 Release Candidate 已发布。NetBeans Enterprise Pack 5.5.1 Beta 与此 RC 版本的 IDE 结合使用。我们不指望发布 NetBeans Enterprise Pack 5.5.1 Beta 的任何进一步更新。现在,我们的开发精力全都集中在 NetBeans 6.0 SOA Pack 上。有关详细信息,请参见 Announcing the availability of NetBeans 6.0 SOA Pack

  开始之前,您必须在计算机上安装以下软件:

l      NetBeans IDE 5.5.1 RC1

l      NetBeans Enterprise Pack 5.5.1 Beta

l      要完成本教程中的部署步骤,您必须安装 Sun Java System Application Server Platform Edition 9.1 Beta。该应用程序服务器与 NetBeans Enterprise Pack 5.5.1 Beta 捆绑在一起下载。

目录

l      配置和启动 Sun Java 系统应用程序服务器

l      打开、部署和测试示例项目

l      向示例业务流程中添加状态

l      定义相关属性和属性别名

l      创建和添加相关集

l      调试和测试 BPEL 流程

l      小结

配置和启动 Sun Java 系统应用程序服务器

  部署应用程序之前,必须正确配置并运行 Sun Java 系统应用程序服务器。

注意:在下面的步骤中,Sun Java System Application Server 节点是指表示该应用程序服务器中安装 Sun Java System Application Server 9.1 的节点。

检查 Sun Java 系统应用程序服务器的状态:

1.       如果没有看到 Runtime 窗口,请选择 Window > Runtime

2.       Runtime 窗口中,展开 Servers 节点。
Servers 节点应该包含一个 Sun Java System Application Server 子节点。

如果在 Sun Java System Application Server 节点上出现了一个绿色的箭头标记,则表示该服务器正在运行。

配置 Sun Java 系统应用程序服务器:

1.       如果没有看到 Runtime 窗口,请选择 Window > Runtime

2.       Runtime 窗口中,右键单击 Servers 节点,然后从弹出菜单中选择 Add Server
将打开 Add Server Instance 对话框。

3.       Choose Server 页面上,从 Server 下拉列表中,选择 Sun Java System Application Server

4.       (可选)在 Name 字段中,更改服务器的默认名称。
IDE
使用该名称标识该服务器。

5.       单击 Next
将打开 Platform Location Folder 页面。

6.       Platform Location 字段中,使用 Browse 按钮导航到该应用程序服务器的安装位置并选择该位置。
根据安装类型和平台,默认的安装位置可能不同,如 1 所示。

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

平台

安装身份

Enterprise Pack 安装

工具包安装

Solaris OS 
Linux

root

/opt/SUNWappserver

/opt/SDK

Solaris OS
Linux

user

~/SUNWappserver

~/SDK

Mac OS X

N/A

~/SUNWappserver

~/SDK

Windows

N/A

C:\Sun\AppServer

C:\Sun\SDK

7.       选择 Register Local Default Domain 单选按钮并单击 Next

8.       输入域管理员的用户名和密码。
如果您接受安装过程中的默认值,则用户名为 admin,密码为 adminadmin

9.       单击 Finish

启动 Sun Java 系统应用程序服务器:

1.       Runtime 窗口中,右键单击 Sun Java System Application Server 节点,然后选择 Start

2.       等待 Output 窗口中出现以下消息:
Application server startup complete.
当该服务器正在运行时,IDE 会在 Sun Java System Application Server 节点上显示一个绿色箭头标记。

确保 BPEL 服务引擎已启动:

1.       展开 Sun Java System Application Server > JBI > Service Engines

2.       右键单击 com.sun.bpelse-1.0-2 节点,然后从弹出菜单中选择 Start
等待在 Output 窗口中显示 BPEL service engine started. 消息。
如果 Start 选项不可用(灰显),则表示该服务引擎已启动,您可以继续本教程中的下一部分。

打开、部署和测试示例项目

  本部分从简单的 HelloWorld 业务流程开始。最初,该流程是一个同步流程并且不需要相关集。在该流程的开始只接收用户名,并且返回 Hello <User Name > 消息。在本部分中,您将打开并测试该流程。

  本教程包含一个压缩的项目,名为 HelloWorldSample

打开 HelloWorldSample HelloWorldSampleCompApp 项目:

1.       在您的文件系统中,创建一个名为 HelloTut 的目录。

2.       下载 bpel-correl-helloworld.zip 文件并将其解压缩到 HelloTut 目录中。

3.       IDE 的主菜单中,选择 File > Open Project
将打开 Open Project 向导。

4.       导航到 HelloTut > HelloWorldSample 目录,选择 HelloWorldSample HelloWorldSampleCompApp 项目,然后单击 Open Project Folder
将出现进度对话框,然后出现 Open Project 对话框。
注意:打开进度对话框,然后打开 Open Project 对话框通知您引用问题。
此时,由于复杂应用程序对 JBI 模块有依赖关系,因此在本教程中,这是正常行为。
您随后将会在该任务中解决这个断开的引用问题。

5.       单击 Close 关闭 Open Project 对话框。

6.       右键单击 HelloWorldSampleCompApp 项目,然后选择 Resolve Reference Problems

7.       Resolve Reference Problems 对话框中,单击 Resolve

8.       Browse Project 对话框中,导航到 HelloWorldSample 项目并选择该项目,然后单击 Open Project Folder
现在,Resolve Reference Problems 对话框显示该问题已解决。

9.       单击 Close 关闭 Resolve Reference Problems 对话框。

部署 HelloWorldSampleCompApp 项目:

1.       右键单击 HelloWorldSampleCompApp,然后选择 Deploy Project
将显示 Select Server 对话框。

2.       选择 Sun Java System Application Server 9 作为目标应用程序服务器,然后单击 OK

3.       等待 Output 窗口中显示 BUILD SUCCESSFUL 消息。

4.       要验证 HelloWorldSampleCompApp 应用程序是否已成功部署,请切换到 Runtime 窗口。

5.       展开 Sun Java System Application Server > JBI > Service Assemblies
如果在 Service Assemblies 节点下出现 HelloWorldSampleCompApp 节点,则表示该应用程序已成功部署。

测试 HelloWorldSampleCompApp 项目:

1.       Projects 窗口中,展开 HelloWorldSampleCompApp > Test > SendUserName1

2.       双击 Output 以检查它的内容。
请注意,Output.xml 是空的。第一次运行测试将用真实的输出填充 Output.xml。以后运行测试将比较真实输出与 Output.xml 的内容。

3.       Projects 窗口中,右键单击 SendUserName1 节点,然后从弹出菜单中选择 Run
在该测试中,您向流程中发送用户名,该流程将预设的 Hello Michael 消息发送回客户端以验证该流程工作状态正常。
注意:第一次运行是特例,原因是 Output.xml 是空的并且输出已写入到 Output
注意 JUnit Test Results 窗口中的失败消息。
打开 Overwrite Empty Output 对话框,以便您可以确认要覆盖 Output.xml

4.       单击 Yes
第一次运行之后,Output 不再是空的。显示 Output.xml 的内容并且不被新的结果覆盖。

5.       P