FeaturesDocs & SupportCommunityBlogsPartners

使用 NetBean 创建一个简单的 SOA 应用程序

在本教程中,我们将创建一个简单的项目。然后在项目中添加一个 WSDL 文件并使用 WSDL 编辑器的 Partner 视图添加消息,伙伴链接类型,端口类型和操作。接着创建一个复合应用程序项目并使用复合应用程序(服务集合)编辑器修改该项目配置。本教程将演示在复合应用程序中应用文件绑定组件的一个基本场景。

预计时间:45 分钟

内容

  本页面的内容应用于 NetBeans IDE 6.0

教程需求

首先,确保已经了解本教程的必要条件。

必要条件

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

本教程需要的软件

开始之前,在您的计算机上下载并安装以下软件:NetBeans IDE 6.0,下载的所有软件能够从 NetBeans IDE 6.0 下载页面获得。 所有下载选项包括本教程需要的 SOA 包和 GlassFish V2 应用服务器。

返回顶部

配置并启动 GlassFish 应用服务器

下载并安装完整的 NetBean 6.0,该软件包含 GlassFish 应用服务器。NetBean 将在需要时自动启动应用服务器。

启动 GlassFish 应用服务器:

  1. 如果 Services 窗口不可见,选择 Window > Services。
  2. 在 Services 窗口中,展开 Servers 节点。
    Servers 节点应该包含一个 GlassFish 应用服务器子节点。如果 GlassFish 应用服务器子节点没有出现,请查看 配置 GlassFish 应用服务器

 

  1. 鼠标右击 GlassFish 应用服务器并且选择 Start。

    Output 窗口将显示应用程序启动的日志信息。如果 Output 窗口不可见,选择 Window > Output > Output

    当消息应用服务器完全启动。会在 Output 窗口显示应用服务器正在运行。
    注意:如果在 GlassFish 应用服务器节点上出现一个绿色的箭头标志,则表示服务器正在运行。

注意:部署应用程序到 GlassFish 应用服务器,自动启动 GlassFish 应用服务器。无需手动启动应用服务器。

注意:以下步骤说明怎样配置NetBean 6.0 IDE 来使用 GlassFish V2 应用服务器的备选版本。

配置 GlassFish V2 应用服务器。

  1. 您可能希望使用应用服务器的一个不同的版本,而不是 NetBean 6.0 提供的版本。例如,您希望从 GlassFish Community 网站上下载安装 GlassFish V2 应用服务器的一个较新的版本。

    以下步骤说明怎样配置 NetBean 6.0 IDE 来使用 GlassFish V2 应用服务器的备选版本。假设您已经下载安装了应用服务器的备选版本。

    1. 在 Services 窗口中,鼠标右击 Servers 节点并从弹出菜单中选择 Add Server。

      打开 Add Server Instance 对话框。
    2. 在 Choose Server 页面中,从 Server 下拉列表中选择 GlassFish V2。
    3. 单击 Next 按钮。

      打开 Platform Folder Location 页面。
    4. 在 Platform Location 域中,使用 Browse 按钮导航并选择应用服务器的安装位置。

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

      表 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
    5. 选择 Register Local Default Domain 单选按钮并且单击 Next 按钮。
    6. 输入域管理员的用户名和密码。
      如果您在安装过程中使用了默认值,则用户名为 admin 密码为 adminadmin。
    7. 单击 Finish 按钮。

返回顶部

创建 BPEL 模块项目

在本节中,我们将创建一个名为 HelloSample 的 BPEL 模块项目。

创建项目:

  1. 从主菜单选择 File > New Project。
    打开 New Project 向导。
  2. 在 Categories 列表中,选择 SOA 节点。
  3. 在 Projects 列表中,选择 BPEL Module 节点。
  4. 单击 Next 按钮。
  5. 在 Project Name 域中,键入 HelloSample
  6. (可选)在 Project Location 域中,使用 Browse 按钮导航并选择一个不同的文件夹,IDE 在此文件夹中存放项目文件。
  7. 单击 Finish 按钮。
    Projects 窗口现在包含一个名为 HelloSample 的 BPEL 模块项目的项目节点。

返回顶部

创建 WSDL 文件

在本节中,我们将在 BPEL 模块项目中添加一个 WSDL 文件 HelloSample.wsdl,然后使用 WSDL 编辑器的 Partner 视图来配置 WSDL 文件的组件。

创建 WSDL 文件:

  1. 在 Projects 窗口中,展开 HelloSample 项目节点,鼠标右击 Process Files 节点并选择 New > WSDL Document。
    打开 New WSDL Document 向导。
  2. 在 File Name 域中,键入 HelloSample
  3. 单击 Finish 按钮。
    • 在 Projects 窗口中,IDE 将添加一个 HelloSample.wsdl 节点到 Process Files 节点下。
    • 在 WSDL 编辑器中打开 HelloSample.wsdl 文件。
      WSDL 编辑器有三个视图:Source,WSDL,和 Partner。
      需要更多关于 WSDL 编辑器的信息请查看 WSDL 编辑器开发指南。.
    • 打开 Properties 窗口。
      如果您看不到 Properties 窗口,选择 Window > Properties。
    • 打开 Navigator 窗口。

    在 WSDL 编辑器打开的新 WSDL文件以及可视化属性窗口,点击放大

添加消息:

  1. 在 WSDL视图中,点击 Partner 按钮打开 WSDL 编辑器的 Partner 视图。
    编辑器切换到 Partner 视图并打开 Palette。
    如果 Palette 不可见,从主菜单中选择 Window > Palette。
  2. 在 Palette 的 WSDL Components 区域中选择 Message 图标。
  3. 将您的选项拖到 Partner 视图设计区域,放到 Messages 区域(在设计区域中的下部)中。
    IDE 将添加一个名为 message1 的消息。

    添加到 WSDL 文件的消息

    注意:如果您没有看到 Part Name 和 Part Element or Type 栏,点击 message1 方框中的向下箭头来展开此方框。
  4. message1 的 Part Name 栏中,双击默认值,part1 使此域变为可以编辑。
  5. 键入 inputType 并敲击 Enter 键。
  6. message1 的Part Element 或 Type 栏,点击省略号按钮,在打开的对话框中展开 Built-In Schema Types,选择 string 并单击 OK 按钮。
  7. 重复步骤 2-6 再创建一个 message2 消息并使用 resultType 作为 Part Name。
    完成后,您的设计区域应该与如下所示图中的相似。

    添加到 WSDL 文件的两个消息,点击放大

添加一个伙伴链接类型:

  1. 在 Palette 的 WSDL Components 区域中,选择 Partner Link Type 图标。
  2. 将您的选项拖到设计区域,放入 Partner Link Types 区域(位于设计区域的上部)。
    IDE 将添加一个名为 partnerlinktype1 伙伴链接类型。现在,您可以创建新的任务和端口类型。任务和端口类型以垂直虚线绘制,在虚线顶端标有外部名。

    添加到 WSDL 文件的伙伴链接类型,点击放大

  3. partnerlinktype1 方框中,双击方框的下方的 role1
    这样,端口类型变为可编辑并且在此域中出现一个默认值 portType1
  4. 敲击 Enter 键。
    新的 portType1 被赋值。
  5. 在 Palette 的 WSDL Components 区域中,选择 Request-Response 图标。
  6. 将您的选项拖入设计区域,放在 portType1 下方。
    IDE 添加一个 operation1 操作

    添加到 WSDL 文件的请求、响应,点击放大

  7. operation1 方框中,选择实线消息箭头,此箭头的标签为 <No Message Selected>。
  8. 在 Properties 窗口中,从 Message 下拉列表中选择 tns:message1。
    标签将变为 message1
  9. operation1>下方,选择虚线消息箭头,此箭头标签为 <No Message Selected>。
  10. 在 Properties 窗口中,从 Message 下拉菜单中选择 tns:message2。
    标签将变为 message2
    完成上述步骤后,您的设计区域应该与下图所示相似。

    添加到 WSDL 文件的伙伴链接类型,点击放大

返回顶部

创建 BPEL 进程

在本节中,添加一个 BPEL 进程文件,HelloSample.bpel。接着在 BPEL 进程文件中添加三个任务。

创建 BPEL 进程文件:

  1. 在 Projects 窗口中,展开 HelloSample 项目节点,鼠标右击 Process Files 节点并且选择 New > BPEL Process。
    打开 New BPEL Process 向导。
  2. 在 File Name 域中,键入 HelloSample
  3. 单击 Finish 按钮。
    • 在 Projects 窗口中,IDE 将添加一个 HelloSample.bpel 节点到 Process Files 节点下。
    • 在 BPEL 设计器中打开 HelloSample.bpel 文件。
      BPEL 设计器有两个视图:Source 和 Design。
      需要有关 BPEL 设计器的更多信息,请查看 BPEL 设计器开发指南
    • 打开 Properties 窗口
      如果您没有看到 Properties 窗口,选择 Window > Properties。
    • Navigator 窗口被打开,显示 BPEL 进程文件的 BPEL 逻辑视图。
    IDE 窗口看起来应该与下图所示相似。

    添加的 BPEL 进程,点击放大

添加一个伙伴链接:

  1. 在 Palette 的 Web Service 区域中,选择 Partner Link 图标并将您的选择拖到设计区域。
    打开 Create New Partner Link 对话框。
  2. 使用默认值 (Name: PartnerLink1, WSDL File: /HelloSample.wsdl, 选择 Existing Partner Link Type 单选按钮) 单击 OK 按钮。
    IDE 将在设计区域中添加一个伙伴链接。

    添加到 BPEL 进程 文件的伙伴链接类型

添加一个接收任务:

  1. 在 Palette 的 Web Service 区,选择 Receive 图标。
  2. 将您的选项拖到设计区域的 HelloSample 方框,放置在 Process StartProcess End 任务之间。
    IDE 为您提供可视化的提示来告诉您选项的放置位置。
    此动作将一个名为 Receive1 的接受任务放置到 Design 视图中。
  3. 鼠标双击 Receive1 任务。
    打开 Receive1 [Receive] - Property 编辑器。
  4. 在 Main 标签上,从 Partner Link 下拉列表选择 PartnerLink1。
    IDE 将 operation1 填入 Operation 域。
  5. 通过以下步骤创建新的输入变量:
    1. 单击 Input Varialble 域旁边的 Create 按钮。
      打开 New Input Variable 对话框。
    2. 改变 Name 域中的值为 inputVar
    3. 单击 OK 按钮。
  6. 单击 OK 按钮关闭 Receive1 [Receive] - Property 编辑器。
    Design 视图现在会显示一个 PartnerLink1 中的 operation1Receive1 任务的连接。

     

添加一个答复任务:

  1. 在 Palette 的 Web Service 区,选择 Reply 图标。
  2. 将您的选项拖到设计区域,放置在 Receive1 任务和 Process End 任务之间
    IDE 问您提供可视化的提示来告诉您放置此选项的位置。
    此动作将一个名为 Reply1 的答复任务放置到 Design 视图中。
  3. 双击 Reply1 任务。
    打开 Reply1 [Reply] - Property 编辑器
  4. 在 Main 标签上,从 Partner Link 下拉列表中选择 PartnerLink1。
    IDE 将 operation1 填入 Operation 域
  5. 通过以下步骤创建新的输出变量:
    1. 确保 Normal Response 单选按钮被选择。
    2. 单击 Output Variable 域旁边的 Create 按钮。
      打开 New Output Variable 对话框。
    3. 改变 Name 域中的值为 outputVar
    4. 单击 OK 按钮。
  6. 单击 OK 按钮关闭 Reply1 [Reply] - Property 编辑器。
    此时,设计视图中显示一个 Reply1 任务与 PartnerLink1 中的 operation1 之间的连接。

    添加到 BPEL 进程文件的答复任务

添加一个赋值任务:

  1. 在 Palette 中的 Basic Activities 区,选择 Assign 图标。
  2. 将您的选项拖到设计区域,放置在 Receive1 任务与 Reply1 任务之间。
    此动作将一个名为 Assign1 的赋值任务放置到 Design 视图中。
  3. 选择 Assign1 任务。
  4. 如果 BPEL Mapper 窗口不可见,从主菜单选择 Window > Other > BPEL Mapper。
  5. 在 BPEL Mapper 的 Source 树形框(左边的方框)中,在 Variables 下方,展开 inputVar 节点。
    一个 inputType 节点会出现在 inputVar 节点下方。
  6. 在 BPEL Mapper 的 Destination 树形框(右边的方框)中,在 Variables 下方,展开 outputVar节点。
    一个 resultType 节点会出现在 outputVar 节点下方。
  7. 在 Source 树形框,选择 inputType 节点,将您的选项拖到 Destination 树形框中的 resultType 节点。
    此任务将输入声明拷贝到输出中。

    BPEL Mapper 中人物的结果,点击放大

  8. 如要保存您的修改,在 Projects 窗口,选择 HelloSample 项目节点,并从主菜单中选择 File > Save All。

返回顶部

创建复合应用程序项目

在您部署 BPEL 模块项目之前,必须将 JBI 模块添加到部署项目中,对项目的部署,会使服务集合对应用服务器可用,这样应用服务器就能够启动服务单元。

创建复合应用程序项目:

  1. 从主菜单中,选择 File > New Project。
    打开 New Project 向导。
  2. 在 Categories 列表中,选择 SOA 节点。
  3. 在 Projects list 列表中,选择 Composite Application 节点。
  4. 单击 Next 按钮。
  5. 在 Project Name 域中,键入 SampleCompositeApp
  6. 单击 Finish 按钮。
    此时 Projects 窗口包含一个名为 SampleCompositeApp 的 Composite Application 项目的项目节点。

    工程窗口,包含组合应用程序工程的新工程节点

返回顶部

使用复合应用程序(服务集合)编辑器

在本节中,您将使用复合应用程序(服务集合)编辑器来修改项目配置并建立 BPEL 模块项目。随后添加一个 WSDL 终端和一个连接,然后核实并修改自动生成的 WSDL 终端的属性。

使用复合应用程序(服务集合)编辑器来修改项目配置并构建 BPEL 模块项目:

  1. 在 Projects 窗口中,选择 SampleCompositeApp 项目节点并从弹出菜单中选择 Edit Application Configuration。
    IDE 在复合应用程序(服务器集合)编辑器中打开 .casa 文件。编辑器 Design 视图设计区域包括三个部分:WSDL Ports,JBI Modules 和 External Modules。

    CASA 编辑器,设计视图的设计区域

  2. 在 Projects 窗口中,选择 HelloSample 项目节点并将您的选项拖到 SampleCompositeApp.casa 文件 Design 视图中的 JBI Modules 区域。

    使用 组合应用程序编辑器添加 JBI 模块,点击放大 JBI 模块

  3. 在编辑器工具栏,点击 Build Project 按钮新建 HelloSample BPEL 模块项目。
    如完成此步骤:
    • 状态栏的消息会显示以下消息:
      Finished building build.xml (jbi-build)。
    • Output 窗口看起来应该与下图所示相似。

      在 BPEL 模块工程被构建后的 Output。

    • SampleCompositeApp.casa 文件的 Design 视图看起来与下图所示相似。

      在 BPEL 模块工程被构建后的 Design 视图

创建 WSDL 终端:

  1. 在 Palette 的 WSDL Bindings 区域中,选择 file 图标。
  2. 将您的选项拖到 SampleCompositeApp.casa 文件 Design 视图中的 WSDL Ports 区域。
    IDE 添加一个标签为 casaPort1 的 WSDL 端口。

    在 WSDL 终端后被添加后的Design 视图。

创建一个链接:

  1. 在 Design 视图中的 casaPort1 端口中,点击 consume endpoint 图标。
    当您选择了这个终端,图标会改变颜色。
  2. 将您的选项拖到 JBI Modules 区域中 (BPEL) HelloSample 框的 role1_myRole
    IDE 将创建一个新连接。

    添加一个连接后的 Design 视图

核实并修改自动生成的 WSDL 终端的属性:

  1. 如果 Navigator 窗口不可见,从主菜单选择 Window > Navigating > Navigator。
  2. 在 Navigator 窗口,从下拉菜单中选择 Logical View。
  3. 展开 WSDL Ports > casaPort1 > casaBinding1 > operation1 > input1 选择 file:message 节点。

    Navigator 窗口,在 input1 下的 file:message 节点被选择

  4. 如果 Properties 窗口不可见,从主菜单中选择 Window > Properties。
    Properties 窗口显示您在 Navigator 窗口选择的 file:message 节点的属性。
  5. 在 Properties 窗口中,修改属性,使其与下列所示值相同:

    Property Value
    use literal
    fileName input.txt
    pollingInterval 5000
  6. 在 Navigator 窗口中,展开 WSDL Ports > casaPort1 > casaBinding1 > operation1 > output1 并选择 file:message 节点。

    Navigator 窗口,casaPort1 下的 file:message 节点被选择

  7. file:message 的 Properties 窗口中,将 output.txt 赋值给 fileName 属性。
  8. 在 Navigator 窗口中,展开 WSDL Ports > casaPort1 > casaPort1 并选择 file:address 节点。

    Navigator 窗口,casaPort1 下的 file:address 节点被选择

  9. file:address 的 Properties 窗口中,在 fileDirectory 属性中,将 C:\Temp 替换为字符串 c:\test
  10. 如要保存您的修改,选择 SampleCompositeApp 项目节点,并从主菜单中选择 File > Save All。

返回顶部

部署并测试复合应用程序

在本节中,我们将部署复合应用程序项目,然后将测试已部署的应用程序。如果您跳过了本教程前面的步骤: 配置和创建 Sun Java 系统应用服务器,您必须在部署和测试任务之前执行这些步骤。

部署复合应用程序

  • 在 Projects 窗口中,选择 SampleCompositeApp 项目节点,点击鼠标右键并选择 Deploy 按钮。
    一个与下列消息相似的消息会出现在 Output 窗口:
    BUILD SUCCESSFUL (total time: 6 seconds)

测试复合应用程序

  • 使用编辑器创建一个新的文本文件,在此文本文件中包含字符串 Hello World! ,保存此文件为 input.txt,保存在 c:\test 文件夹中。
    正在运行的进程会进行以下操作:
    • 创建 input.txt<UUID> _processed 在 archive 文件夹下。
    • 在 C:/test 文件夹中创建 output.txt,此文件中的内容与 input.txt 相同,在本文中,其内容为字符串 Hello World!。
    如果此操作没有发生,将会有一个错误处理进行以下操作:
    • 创建 input.txt<UUID> _error 在 c:\test\filebc_tmp 文件夹下。

返回顶部

结束语

在本教程中,我们创建了一个 BPEL Module 项目,随后在项目中添加了一个 WSDL 文件并使用 WSDL 编辑器的 Partner 视图添加消息,伙伴链接类型,端口类型和操作。然后,我们创建了一个复合应用程序项目并使用组合应用项目(服务集合)编辑器来修改项目配置。您还使用了复合应用程序中的文件绑定组件。

返回顶部

下一步

  • 要发送评论和建议,获得支持,了解 NetBeans IDE J2EE 部署功能的最新变化,请加入 邮件列表。

请阅读

返回顶部

>> 更多 NetBean IDE/SOA 文件

Companion
Projects:
                  Powered by: