内容


快速构建一个功能丰富的三层 Web 应用程序,第 1 部分:构建数据库

使用 Rational Application Developer 快速构建一个多层 Java EE 应用程序,并将它部署到 IBM Bluemix

Comments

这个由 3 部分组成的教程系列将介绍如何使用 IBM® Rational® Application Developer for WebSphere Software、Java Persistence API (JPA)、Enterprise JavaBeans (EJBs)、REST Web 服务和(一个针对富 Web 2.0 前端的)Dojo Toolkit 从头构建一个多层 Web 应用程序。您最终将得到一个全功能的 Web 应用程序,它在一个表中显示数据,用户可双击任何单元格来编辑数据。

该应用程序架构使用 REST 服务来将 UI 与服务器分离,它还使用 EJB 和 JPA 来提供一个正确分层的企业应用程序。这些层中的一部分对示例应用程序不是必需的,但我们的目标是提供一个架构完善的示例,可针对更具挑战的问题领域而进行扩展。

本教程采取的总体步骤包括:

  1. 构建数据库(第 1 部分)。
  2. 创建数据访问和 EJB 层(第 2 部分)。
  3. 构建 REST 服务来显示和修改数据,构建一个富 Web 2.0 接口来使用这些服务(第 3 部分)。
  4. 将该应用程序部署到 IBM Bluemix 平台即服务(第 3 部分)。

这个架构概览图显示了需要构建的 5 个组件:Web 层中的富 Web 页面和 Web 服务;应用层中的 EJB 和 JPA 实体;以及数据层中的数据库表:

插图中的各个方框显示了 Web、应用和数据层
插图中的各个方框显示了 Web、应用和数据层

先决条件

开始之前:

  1. 安装 Rational Application Developer for WebSphere Software 9.1.1,确保包含了 Liberty 运行时和 Bluemix 特性。有一个 试用版 可供下载。
  2. 注册一个 Bluemix 帐户。可使用一个免费试用版。

在 Bluemix 上创建一个数据库服务器

在 Bluemix 上创建一个用于开发的数据库服务(以便您不必为本教程安装数据库软件和创建本地数据库服务器):

  1. 在浏览器中,登录到 Bluemix
  2. 在 Bluemix 目录的 Boilerplates 部分中,单击 Java DB Web StarterBluemix 样板和运行时的屏幕截图
    Bluemix 样板和运行时的屏幕截图
  3. 在 Java DB Web Starter 创建页面中,在右侧指定您应用程序的名称(例如 sracustomerapp)。此名称组成您的 Bluemix 应用程序的 URL 的一部分,所以它必需是惟一的: Java DB Boilerplate 创建页面的屏幕截图
    Java DB Boilerplate 创建页面的屏幕截图
  4. 单击 CREATE。您将看到一个页面显示了您应用程序的详细信息,片刻之后,就会看到该应用程序已启动: Bluemix 应用程序状态的屏幕截图
    Bluemix 应用程序状态的屏幕截图

    您现在已有一个 Liberty 运行时和一个数据库服务器在云中运行,等待您部署应用程序。
  5. 要获得该信息,您需要连接到数据库,单击 SQL Database 服务磁贴上的 Show Credentials数据库连接信息的屏幕截图
    数据库连接信息的屏幕截图
  6. 从凭据部分中记下 dbhostnameportusernamepassword 值。
  7. 打开 Rational Application Developer。您将在这里开始构建该应用程序。

设计和构建数据库

现在,借助 Rational Application Developer,您将创建一个数据库表并生成一些测试数据:

  1. 在 Rational Application Developer 中,切换到 Data 透视图。(选择右上角的透视图图标,选择 Data,然后单击 OK。)如果提示 Enable Activities,选择全部活动并单击 OK
  2. 在 Data Source Explorer 视图中,选择 Database Connections,右键单击并选择 New...。选择 DB2 for Linux, UNIX and Windows 作为数据库管理器。然后指定来自您的 Bluemix 数据库服务凭据的数据库名称、主机名、用户名和密码。确保您选择了 Save password 选项: Connection Parameters 对话框的屏幕截图
    Connection Parameters 对话框的屏幕截图
  3. 单击 Test Connection,如果连接成功,则单击 Finish
  4. 创建一个名为 CustomerDBDesign 的新数据设计项目:选择 File > New > Data Design Project,将名称更改为 CustomerDBDesign,然后单击 FinishNew Data Design Project 对话框的屏幕截图
    New Data Design Project 对话框的屏幕截图
  5. 创建一个新的物理数据模型,您将在其中设置所需的数据库表:在 Data Project Explorer 视图中,右键单击 CustomerDBDesign 项目并选择 New > Physical Model。在向导中,将文件名更改为 Customer Physical Model。将 Database 设置为 DB2 for Linux, UNIX and Windows,将 Version 设置为 V10.5新数据模型向导的屏幕截图
    新数据模型向导的屏幕截图
  6. 单击 Finish
  7. 重命名模式:在 Data Project Explorer 中,选择 Schema,然后在 Properties 视图中,将名称更改为 Bluemix SQL 数据库用户名(例如 user01145)。
  8. 创建一个名为 Customer 的表:如果 Diagram1 还未打开,则从 Data Project Explorer 中双击它来打开它。单击绘图界面,然后在弹出窗口中单击 add-table 图标: add-table 图标的屏幕截图 将该表重命名为 Customer
  9. 单击该表来获得列弹出窗口: 列图标的屏幕截图 添加一个主键。将主键重命名为 CustNo
  10. 使用列弹出窗口来添加其他 3 个常规列,分别命名为 NameAddressCountry完成的数据模型图的屏幕截图
    完成的数据模型图的屏幕截图
  11. 设置列类型:选择该表,然后在 Properties 视图中选择 Columns 选项卡。单击各个列类型来更改它们。将 CustNo 的数据类型设置为 INTEGER,将其他列设置为 Varchar 30表和列特性的屏幕截图
    表和列特性的屏幕截图
  12. 保存该模型 (Ctrl-S or File > Save)。
  13. 将该模式和表正向工程为数据库:在 Data Project Explorer 中,选择该模式。右键单击并选择 Generate DDL。在第一页上,清除 Quoted identifiers 复选框: 在向导中打开的选项页面的屏幕截图
    在向导中打开的选项页面的屏幕截图

    单击 Next
  14. 在 Objects 页面上,清除 Schemas 复选框。在默认模式下,将为您的数据库用户创建该表。
  15. 在 Save and Run DDL 页面上,选择 Run DDL on server。单击 Next
  16. 在 Connections 页面上,选择 SQLDB 连接。单击 Next
  17. 单击 Finish
  18. 在 SQL Results 视图中,确认创建成功: SQL Results 视图的屏幕截图
    SQL Results 视图的屏幕截图
  19. 现在创建一些数据:在 Data Source Explorer 视图中,选择 SQLDB 连接,右键单击,然后选择 refresh。在 Schemas 文件夹中,您现在应看到您的 SQL 数据库用户名。
  20. 打开 Tables 文件夹。您应看到 CUSTOMER 表: 该屏幕截图显示了 Customer 模式的内容
    该屏幕截图显示了 Customer 模式的内容
  21. 右键单击 CUSTOMER,选择 Data > Edit,添加一些行,然后保存 (Ctrl-S): 表行内容编辑器的屏幕截图
    表行内容编辑器的屏幕截图

后续步骤

您已经创建了一个托管在 Bluemix 上的数据库,并在其中填充了一些测试数据。现在,请继续阅读 第 2 部分,您将在其中创建一个包含 JPA 实体 bean、JPA 管理器 bean 和 EJB 的应用层。


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Rational, Java technology
ArticleID=1005192
ArticleTitle=快速构建一个功能丰富的三层 Web 应用程序,第 1 部分:构建数据库
publish-date=05052015