FeaturesPluginsDocs & SupportCommunityPartners

>> 更多 SOA 文档

WSDL 编辑器的“合作伙伴”视图简介



本指南向您介绍 WSDL 编辑器的“合作伙伴”视图。

WSDL 编辑器中的“合作伙伴”视图将 WSDL 文件中的抽象元素表示成合作伙伴之间的交互。抽象元素包括合作伙伴链接类型、角色、端口类型、操作和消息。

目录

  此页上的内容适用于 NetBeans 6.0 IDE

教程需求

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

前提条件

本教程假设您拥有 Java 语言和平台以及 NetBeans IDE 的一些基础知识或编程经验。

本教程所需要的软件

开始之前,需要在您的计算机中安装以下软件:
  • NetBeans IDE 6.0

    选择 Download All 选项。Download All 选项包括 SOA Pack 和 GlassFish V2 应用服务器,它们都是本教程所必需的。

回到顶部

配置并启用 Sun Java System Application Server

必须正确配置并运行 Sun Java System Application“服务器”和BPEL 服务引擎,才能部署复合应用程序。

要检查 Sun Java System Application“服务器”的状态:

  1. 如果“运行时”窗口不可见,则选择“窗口”>“运行时”。
  2. 在“运行时”窗口中,展开“服务器”节点。
    “服务器”节点应该包含 Sun Java System Application Server 子节点。如果没有出现 Sun Java System Application Server 节点,请阅读 配置 Sun Java System Application Server
    如果 Sun Java System Application Server 节点上出现绿色箭头徽标,则此服务器正在运行。如果没有出现绿色箭头徽标,请阅读 启动 Sun Java System Application Server

配置 Sun Java System Application Server:

  1. 如果“运行时”窗口不可见,则选择“窗口”>“运行时”。
  2. 在“运行时”窗口中,右击“服务器”节点,并从弹出菜单中选择“添加服务器”。
    此时将打开“添加服务器实例”对话框。
  3. 在“选择服务器”页面,从“服务器”下拉列表中,选择 Sun Java System Application Server。
  4. (可选)在“名称”字段中,更改服务器的默认名称。
    IDE 使用此名称来标识该服务器。
  5. 单击“下一步”。
    此时将打开“平台位置文件夹”页面。
  6. 在“平台位置”字段中,使用“浏览”按钮导航并选择此应用程序的安装位置。
    默认的安装位置有所不同,具体取决于安装类型和平台,如 表 1 所示。

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

    平台 所属用户组 SOA 安装 工具包安装
    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. 选中"注册本地默认域"单选按钮,然后单击“下一步”。
  8. 为域的管理员输入用户名和口令。
    如果在安装时接受了默认值,则用户名和口令分别为 adminadminadmin
  9. 单击“完成”。

要启动 Sun Java System Application Server:

  1. 在“运行时”窗口中,右击 Sun Java System Application Server 节点并选择 Start。
  2. 等待以下消息出现在“输出”窗口中:
    Application server startup complete.
    此服务器正在运行时,IDE 将在 Sun Java System Application Server 节点上显示绿色箭头徽标。

要检查 BPEL 服务引擎的状态:

  1. 在“运行时”窗口中,展开 Sun Java System Application Server > JBI >“服务引擎”。
  2. 右击 sun-bpel-engine 节点。
    如果“启动”选项不可用,则服务引擎已启动,并且您可以跳过此过程的其余步骤。
  3. 单击“启动”。
  4. 等待以下消息出现在“输出”窗口中:
    BPEL service engine started

回到顶部

创建 BPEL 模块项目

本节将创建名为 PartnerView 的 BPEL 模块项目。

要创建 BPEL 模块项目:

  1. 从 IDE 的主菜单中,选择“文件”>“新建项目”。
    此时将打开“新建项目”向导。
  2. 在“类别”列表中,选择 SOA 节点。
  3. 在“项目”列表中,选择 BPEL Module 节点。
  4. 单击“下一步”。
  5. 在“项目名称”字段中,键入 PartnerView
  6. 单击“完成”。
    “项目”窗口现在包含名为 PartnerView 的 BPEL 模块项目节点。

回到顶部

创建 WSDL 文件

本节将一个 WSDL 文件添加到 BPEL 模块项目。

此 WSDL 文件描述一个接收字符串值作为输入并发送字符串值作为输出的基本服务。使用 WSDL 编辑器的“合作伙伴”视图添加输入消息、输出消息、合作伙伴链接类型、端口类型和操作。使用 WSDL 编辑器的 WSDL 视图添加绑定和服务。

合作伙伴链接类型 将说明两个服务之间的会话关系。合作伙伴链接类型可以拥有一个或两个角色。角色描述服务在关系中的功能。

一个角色必须指定服务用于接收消息的端口类型。端口类型包含 web 服务可以执行的一个或多个相关操作。WSDL 编辑器支持以下类别的操作:

  • 请求-响应。该操作将接收一条消息作为输入,并发送一条消息作为输出。
  • 单向。该操作将接收一条消息作为输入。

此 WSDL 文件中的端口类型包含一个请求-响应操作。

要创建 PartnerView.wsdl 文件:

  1. 在“项目”窗口中,右击 PartnerView 项目 中的“流程文件”节点并选择“新建”>“WSDL文档”。
    此时将打开“新建 WSDL 文档”向导。
  2. 在“项目名称”字段中,键入 PartnerView
  3. 单击“完成”。
    此时将出现WSDL 编辑器,并打开 WSDL 视图。
  4. 在 WSDL 视图的工具栏,单击“合作伙伴”按钮。
    此时将出现“合作伙伴”视图。

要添加输入消息:

  1. 如果“组件面板”不可见,那么从 IDE 的主菜单选择“窗口”>“组件面板”。
  2. 在“组件面板”中,选择“消息”图标。
  3. 将“消息”图标拖动到“合作伙伴”视图的“消息”区。
    IDE 将添加一条消息。此消息的名称为 message1
  4. 在“部分名称”列中,双击默认值 part1,使此字段变得可编辑。
  5. 键入 inputType,并按回车。
  6. 在“类型”列的“部分元素”中,单击省略号(...) 按钮。
  7. 选择 string 节点。
  8. 单击“确定”。

要添加输出消息:

  1. 在“组件面板”中,选择“消息”图标。
  2. 将“消息”图标拖动到“合作伙伴”视图的“消息”区。
    IDE 将添加一条消息。此消息的名称为 message2
  3. 在“部分名称”列中,双击默认值 part1,使此字段变得可编辑。
  4. 键入 resultType,并按回车。
  5. 在“类型”列的“部分元素”中,单击省略号(...) 按钮。
  6. 选择 string 节点。
  7. 单击“确定”。

要添加合作伙伴链接类型、端口类型和操作:

  1. 在“组件面板”中,选择“合作伙伴链接类型”图标。
  2. 将“合作伙伴链接类型”图标拖动的“合作伙伴”视图的“合作伙伴链接类型”区。
    IDE 将添加一个合作伙伴链接类型。此合作伙伴链接类型的名称为 partnerlinktype1。此合作伙伴链接类型有一个名为 role1 的默认角色。
  3. 双击“输入或选择一个端口类型”并按回车。
    IDE 将添加名为 portType1 的端口类型。
  4. 在“组件面板”中,选择 Request-Response 图标。
  5. 将 Request-Response 图标拖动到 portType1 框下方展开的垂直虚线上。
    IDE 将添加名为 operation1 的操作。
  6. operation1 下方,双击第一个 <No Message Selected>,并选择 tns:message1。这就是创建的输入消息。
  7. operation1 下方,双击第二个 <No Message Selected>,并选择 tns:message2。这就是创建的输出消息。

要添加绑定和服务:

  1. 在 WSDL 视图的工具栏,单击 WSDL 按钮。
    此时将出现 WSDL 视图。
  2. 右击 portType1 节点并选择“添加”>“绑定和服务端口”。
    此时将打开“生成绑定和服务端口”对话框。
  3. “绑定类型”字段的默认值为 SOAP。不要更改默认值。
  4. “绑定子类型”字段的默认值为 RPC Literal。不要更改默认值。
  5. 单击“确定”。
    就会添加绑定和服务。您已经成功创建了 WSDL 文件。
  6. 从 IDE 的主菜单中,选择“文件”>“保存”。

回到顶部

创建业务进程

本节将一个业务进程添加到 BPEL 模块项目。使用 IDE 的 BPEL 设计器配置此业务进程。

此业务进程将包含以下活动:

  • 接收活动: 接收活动等待来自合作伙伴服务的消息。
  • 分配活动: 分配活动将数据从输入变量复制到输出变量。
  • 回复活动: 回复活动向合作伙伴服务发送响应。

接收和回复活动都与合作伙伴链接发生交互。合作伙伴链接是对与业务进程交互的外部 web 服务的引用。

要创建 PartnerView.bpel 文件:

  1. 在“项目”窗口中,右击 PartnerView 项目 中的“流程文件”节点并选择“新建”>“BPEL 流程”。
    此时将打开“BPEL 流程”向导。
  2. 在“项目名称”字段中,键入 PartnerView
  3. 单击“完成”。
    此时将出现 BPEL 设计器,并打开“设计”视图。PartnerView 框旁边的红色叉号表示此业务进程无效。红色叉号将一直保留,直到在本节后面添加了“接收”活动。
  4. 如果“组件面板”不可见,那么从 IDE 的主菜单选择“窗口”>“组件面板”。

要添加合作伙伴链接:

  1. 在“项目”窗口中,选择 PartnerView.wsdl 节点。
  2. PartnerView.wsdl 节点从“项目”窗口拖动到设计区的空白部分。
    此时将打开“创建新合作伙伴链接”对话框。
  3. 接受默认值并单击“确定”。
    IDE 将添加一个名为 PartnerLink1 的合作伙伴链接。

要添加“接收”活动:

  1. 在“组件面板”的“Web 服务”部分,选择“接收”图标。
  2. 将选择的内容拖动到设计区中的 PartnerView 框,并使其位于 Process StartProcess End 活动之间。
    IDE 将为用户提供可视化提示,用户可根据提示放下所选内容。
    就会添加此 Receive1 活动。
  3. 右击 Receive1 活动并编辑属性。
    此时将打开 Receive1 [Receive] -“属性编辑器”对话框。
  4. 从“合作伙伴”下拉列表中,选择 PartnerLink1
    IDE 将使用 operation1 填充“操作”字段。
  5. 通过执行以下操作创建新的输入变量:
    1. 单击“创建”。
    2. 在“名称”字段中,将默认值更改成 inputVar
    3. 单击“确定”。
  6. 单击“确定”以关闭 Receive1 [Receive] -“属性编辑器”对话框。
    IDE 将添加一个从 operation1 操作到 Receive1 活动的连接。

要添加 Reply 活动:

  1. 在“组件面板”的“Web 服务”部分,选择“回复”图标。
  2. 将选择的内容拖动到设计区中的 PartnerView 框,并使其位于 Receive1Process End 活动之间。
    IDE 将为用户提供可视化提示,用户可根据提示放下所选内容。
    就会添加此 Reply1 活动。
  3. 右击 Reply1 活动并编辑属性。
    此时将打开 Reply1 [Reply] -“属性编辑器”对话框。
  4. 从“合作伙伴”下拉列表中,选择 PartnerLink1
    IDE 将使用 operation1 填充“操作”字段。
  5. 通过执行以下操作创建新的输出变量:
    1. 确保选中“正常响应”单选按钮。
    2. 单击“创建”。
    3. 在“名称”字段中,将默认值更改成 outputVar
    4. 单击“确定”。
  6. 单击“确定”以关闭 Reply1 [Reply] -“属性编辑器”对话框。
    IDE 将添加一个从 Reply1 活动到 operation1 操作的连接。

要添加“分配”活动:

  1. 在“组件面板”的“基本活动”部分,选择“分配”图标。
  2. 将选择的内容拖动到设计区中的 PartnerView 框,并使其位于 Receive1Reply1 活动之间。
    IDE 将为用户提供可视化提示,用户可根据提示放下所选内容。
    就会添加此 Assign1 活动。
  3. 选择 Assign1 活动。
  4. 如果“BPEL 映射器”窗口不可见,那么从 IDE 的主菜单选择“窗口”>“其他”>“BPEL 映射器”。
  5. 在“BPEL 映射器”的左侧窗格中,展开 inputVar 节点。
    此时将出现 inputType 节点。
  6. 在“BPEL 映射器”的右侧窗格中,展开 outputVar 节点。
    此时将出现 resultType 节点。
  7. 在左侧窗格中,选择 inputType 节点并将指针拖动到右侧窗格中的 resultType 节点。
    一个链接将连接这些节点。
  8. 从 IDE 的主菜单中,选择“文件”>“保存”。

回到顶部

创建并部署复合应用程序项目

在本节,您将创建复合应用程序项目并添加 BPEL 模块项目的 Java Archive (JAR) 文件。然后将此复合应用程序项目部署到 Sun Java System Application Server。

要创建复合应用程序项目:

  1. 从 IDE 的主菜单中,选择“文件”>“新建项目”。
    此时将打开“新建项目”向导。
  2. 在“类别”列表中,选择 SOA 节点。
  3. 在“项目”列表中,选择 Composite Application 节点。
  4. 单击“下一步”。
  5. 在“项目名称”字段中,键入 PartnerViewCompositeApp
  6. 单击“完成”。
    “项目”窗口现在包含名为 PartnerViewCompositeApp 的复合应用程序项目节点。

要添加 BPEL 模块项目的 JAR 文件:

  1. 在“项目”窗口中,右击 PartnerViewCompositeApp 节点,并从弹出菜单中选择“添加 JBI 模块”。
    此时将打开“选择项目”对话框。
  2. 选择 PartnerView 项目。此项目就是您在前几节中创建的 BPEL 模块项目。
  3. 单击“添加项目 JAR 文件”。
  4. 在“项目”窗口中,展开 PartnerViewCompositeApp 节点,然后展开 JBI 模块节点。
    注意,添加了一个 PartnerView.jar 节点。

要部署复合应用程序项目:

  1. 在“项目”窗口中,右击 PartnerViewCompositeApp 节点并选择“部署项目”。
  2. 等待“输出”窗口中出现 BUILD SUCCESSFUL 消息。

回到顶部

测试复合应用程序

在本节,您将执行一次测试运行,以验证此复合应用程序是否以期望的方式工作。您创建的测试用例将调用 PartnerView.wsdl 文件中的 operation1 操作。

要添加测试用例:

  1. 在“项目”窗口中,展开 PartnerViewCompositeApp 节点,右击测试节点,并从弹出菜单中选择“新建测试用例”。
    此时将打开“新建测试用例”向导。
  2. 在“输入测试用例名称”页面中,将名称设置为 PartnerViewTestCase 并单击“下一步”。
  3. 在“选择 WSDL 文档”页面中,展开 PartnerView - Process Files 节点,选择 PartnerView.wsdl,并单击“下一步”。
  4. 在“选择要测试的操作”页面中,选择 operation1 并单击“完成”。
    就会添加 PartnerViewTestCase 节点。PartnerViewTestCase 节点有两个子节点:InputOutput。源编辑器包含输入文件 Input.xml 的选项卡。
  5. Input.xml 文件中定位到以下行:
    <inputType>?string?</inputType>
  6. 将此行更改为:
    <inputType>Hello World</inputType>
  7. 从 IDE 的主菜单中,选择“文件”>“保存”。
  8. 在“项目”窗口中,双击 Output 节点。
    源编辑器现在包含输出文件 Input.xml 的选项卡。最初,输出文件是空的。

要运行测试用例:

  1. 在“项目”窗口中,右击 PartnerViewCompositeApp 节点,并从弹出菜单中选择“运行”。
    因为输出文件为空,所以测试失败。此时将打开“覆盖空输出”对话框,以便您确认是否希望覆盖 Output.xml 文件。
  2. 单击 Yes。
  3. 在“项目”窗口中,右击 PartnerViewCompositeApp 节点,并从弹出菜单中选择“运行”。
    测试通过。
  4. Output.xml 文件中查看测试结果。

回到顶部

结束语

在本教程中,在创建和部署复合应用程序的同时研究了 WSDL 编辑器的“合作伙伴”视图。

回到顶部

更多信息



>> 更多 SOA 文档


回到顶部

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