本文向 Java 开发人员介绍了 WebSphere Application Server - Express 开发应用程序的基础知识,其中使用 DB2 Express 来进行数据存储。本文介绍了 WebSphere Application Server - Express 和 DB2 UDB Express 的基本架构,解释了相关术语,并且涵盖了从安装产品,进行配置,到部署 Java 应用程序这一过程中您所需要知道的细节信息。
请到 IBM 评估版软件下载 下载和试用 IBM 软件。
|
WebSphere Application Server - Express 和 DB2 UDB Express 简介
WebSphere Application Server - Express是 WebSphere Application Server 家族中最简单的成员。因为它的目标是中小型公司,而这些公司可能不需要其他产品所提供的所有功能,所以它只包含了 WebSphere Application Server 完整架构的一个子集。例如,它未包括 EJB 支持。
WebSphere Application Server - Express 由两个主要产品构成:
图 1向您展示了 WebSphere Application Server - Express 架构的概貌。
以下是 WebSphere Application Server 中使用的术语:
应用程序服务器
应用程序服务器是您的应用程序将要执行的基本运行库组件。您可以在配置中定义一个或多个应用程序服务器;但是在 Express 级别上,不能将工作负载分布在多个应用程序服务器中。
以下是应用程序服务器中的主要组件:
可在以下地方找到更多 WebSphere 的术语定义:
http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg246976.html?Open
http://publib-b.boulder.ibm.com/Redbooks.nsf/RedbookAbstracts/sg246555.html?Open
DB2 UDB Express是 IBM DB2 家族中定价最低的全功能关系数据库版本。它是专为帮助中小型公司集成和管理其业务而设计的。
图 2展示了 DB2 UDB Express 的概貌。
以下是一些您必须熟悉的 DB2 基本术语:
DB2 管理服务器(DB2 Administration Server,DAS)
图 2 外部定义了一个物理机器(“My Server”)。所有安装了 DB2 的机器都具有一个称作 DAS 的后台进程。DAS 的主要目的是为了提供远程管理支持。每个物理机器都应该具有一个 DAS 服务器进程。
实例
实例是一个提供数据库访问的进程集合。一个实例可用于提供到一个或多个数据库的服务。您可以在一台机器上安装一个或多个实例,而每个实例都充当一个独立的服务器环境,因此,这些实例的停止和重启都互不影响。
每个实例还具有自己的配置文件,数据库管理器配置文件(DBM CFG)用于进行实例级的安全、性能变量和通信配置。每个实例都有一个 DBM CFG。
数据库
数据库是一组表的集合,包括数据以及相关对象,如索引、视图、触发器和存储过程。实例进程提供到数据库数据的访问。
每个数据库都具有自己的数据库级配置文件,称作数据库配置文件(DB CFG)。
|
安装 WebSphere 和 DB2 UDB Express 产品
在后面的一个实践中,我们将使用 IBM WebSphere Application Server Express V5.1 和 IBM DB2 Universal Database Express V8.1。可从以下 Web 站点下载 WebSphere Application Server Express 和 DB2 UDB Express 的试验版本:
http://www14.software.ibm.com/webapp/download/home.jsp。
我们不会一步步地介绍安装,因为该过程有向导协助进行并且极其简单。以下是您验证是否成功完成安装时可采取的一些步骤:
现在,让我们继续考虑应用程序本身的问题。
|
使用 WebSphere Studio Site Developer 开发 Java Web 应用程序
J2EE 规范是用以开发、部署和运行企业 Web 应用程序的标准。IBM WebSphere Application Server V5 已经完成了 J2EE 规范的整套测试包。该产品支持所有的 J2EE 1.3 API,并且进行了大量扩展。您可以检查在 http://java.sun.com/j2ee/compatibility.html上检查由 Sun Microsystmes 所宣布的 J2EE 兼容产品清单。
图 4展示了 J2EE 包装,有助于理解 J2EE 应用程序的组件。
正如您可以从 图 4中所看到的,企业应用项目(MyApp.ear)包含了部署企业(J2EE)应用程序所需的资源层次结构。它可能包含 Web 模块、EJB 模块、JAR 文件和应用程序客户机模块的组合。企业应用项目将被导出用作企业档案(EAR)文件,EAR 文件包括企业应用项目中所定义的所有文件,以及用于部署描述符中所定义的每个 J2EE 模块项目的适当的模块档案文件,例如 Web 档案(WAR)和 EJB JAR 文件。
WebSpere Application Server - Express 不支持 EJB 组件,因此,用该产品进行的典型企业应用程序部署主要包括 Web 模块和 JAR 支持文件。
WSSD 提供了不同的透视图,用于以不同的方式查看和使用资源。一个透视图包含一组视图、编辑器以及与该透视图内最可能执行的任务相匹配的工具栏选项。在应用程序的部署阶段,您可以使用 WSSD 中的不同透视图,如 Web 透视图、Data 透视图或 Server 透视图。
例如,Server 透视图的设计就考虑了服务器或单元测试环境中的操作。有一个服务器控制台(console)视图、一个显示服务器配置的视图、一个允许您启动和停止服务器的视图等等。(见 图 5。)
本示例中,我们主要将使用 Web 透视图来开发 Web 项目组件。
因此本文的目的是向您概述在 WebSphere Application Server - Express上部署使用 DB2 UDB Express 的 Java Web 应用程序,所以我们将开发一个简单的解决方案,用以向 DB2 UDB Express 上的后端数据库输入用户 ID 和口令。一旦成功建立连接,应用程序就会在一个表中显示雇员记录。
在下一节中,我们将一步步介绍示例的创建。因为我们需要快速完成应用程序,所以我在本示例中使用的编程模型可能并不适合您的环境。本示例中的页面表示紧密配合了业务逻辑,这将阻碍将来的应用程序可伸缩性。此外,该示例不包括异常处理。请注意,这只是一个学习示例,所以要使用最适合您环境的架构。
|
现在,我们将创建 Web 项目了。从 Web 透视图( Window -> Open Perspective -> Web)中,执行下列操作:
新建的 Web 项目带有合适的目录结构、样式表和 Web 部署描述符(web.xml)。Web 模块的入口也被添加到了企业应用程序部署描述符(application.xml)中。 图 6展示了针对刚刚定义的 Web 项目而创建的目录结构。
该页面将作为您应用程序的主页面。我们将在该 html 页面中创建一个表单,以便用户使用用户 ID 和口令建立到后端数据库的连接。
通过 Web 透视图,在 MyFirstTest/WebContent目录下创建 index.html 文件,如下:
…..
….
在这里粘贴脚本
|
我们并非要显示一个展示所有错误的标准服务器页面,而是将创建一个我们需要的可插式(look and feel)错误定制 JSP。
如果 index.html 中 validateForm() 的返回值为真,那么用户 ID 和口令输入将被提交给 loginEmployee.jsp。
<%@ page language="java"
contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"
import="java.sql.*"
%>
|
…
|
…. | |
| <%=EmpNo%> |
…. |
loginEmployee.jsp 还将实例化一个 JavaBean,以便您可以在这个 JSP 文件中引用该 bean。在继续添加 useBean 标签之前,我们首先将创建 步骤 5和 步骤 6中所列的 MakeConnection.java 和 SearchEmployee.java。请跳到 步骤 5去创建 java 文件;我们稍后将回来添加 useBean 标签。
我们将添加一个
您的 logonEmployee.jsp 将如下面的
步骤 5 ? 创建 MakeConnection Servlet
在该步骤中,我们将创建一个新的 servlet,它使用 index.html 中的用户 ID 和口令输入来建立到后端数据库 DB2 UDB Express 的连接。
步骤 6 ? 创建 SearchEmployee Servlet
在建立到 SAMPLE 数据库的连接之后,我们将通过调用另一个名为 SearchEmployee的 servlet 来检索所有雇员的细节信息。
|
将应用程序部署到 WebSphere 测试环境和 Express Application Server 中
WebSphere Application Server - Express 为应用程序的部署提供了两种应用程序服务器环境:
测试应用程序最简单的方法就是从 WebSphere 测试环境开始。因为我们在前面的小节中已经开发了应用程序,所以现在就可以将应用程序部署到 WebSphere 测试环境中来加以测试了。
为了使用测试环境,我们还需要进行下列工作:
在完成发布之后,还将自动启动服务器 server1。您将在控制台视图中看到消息‘Server server1 open for e-business’。这表明该服务器已经启动成功。我们的应用程序 index.html 还将在 Web 浏览器中打开。
JDBC 2.0 提供了两种建立数据库连接的方法。第一种方法是通过使用 驱动程序管理器界面来完成。这是从 JDBC 1.0 继承下来的,并要付出高昂的性能代价。通过该方法,每当您从程序访问数据库时,都要创建连接,从而招致大量的处理开销。
另一种处理数据库连接的方法就是使用 数据源(data source)对象。通过使用数据源对象,您可以访问一个连接数据源的连接池。连接池可提高性能,因为一将数据源对象实例化,它就会创建一个连接。当 servlet 或其他客户机需要使用连接时,它就通过 JNDI 服务器中的名称查找数据源对象。然后,数据源对象将给客户机返回一个连接。客户机完成连接之后,就释放它。然后,数据源对象将该连接返回给可用池。
由于连接池有许多优点,所以在 Web 应用程序中偏爱使用数据源对象的方法来处理数据库连接。我们将在本示例中使用数据源对象。
切换至底部窗格中的 Servers 选项卡。您将看到 WebSphere Express v5.1 测试环境(Test Environment)的状态被设置为 Started。要停止该服务器,请右击 Servers 视图并选择 Stop。其状态将马上被修改为 Stopping,并且在最后,Console 视图将自动打开,并显示您的 server1 已经停止。
切回至 Web 透视图中的 Servers 选项卡。双击测试服务器来打开配置。切换至 Data source选项卡。第一步就是向配置添加一个 JDBC 提供程序。这将告诉服务器要使用哪一类 JDBC 驱动程序来访问数据库。
您将看到配置中已经预先定义了一个 Cloudscape 驱动程序和数据源信息。它用于支持与 WAS Express 一起配送的应用程序样例。
单击 JDBC 提供程序列表旁边的 Add。在窗口上方选择 IBM DB2,并在窗口下方选择 DB2 Legacy CLI-based Type 2 JDBC Driver。单击 Next。可以任意设置名称,本示例中,我们将其命名为 DB2 JDBC Driver。您看到的实现类名和类路径都是 DB2 JDBC 提供程序所默认的。请注意,所指定的类路径中必须可获得驱动程序 db2java.zip。类路径使用变量 ${DB2_JDBC_DRIVER_PATH},我们稍后将定义它。
现在,按照 图 12中所示步骤来定义数据源资源(Data Source Resource)。
在 Modify Data Source 屏幕中,将 Name 修改为 SAMPLE,并确保 JNDI 名为 jdbc/SAMPLE,这将匹配我们在 MakeConnection.java 中所指定的名称。单击 Next,并确保将 databaseName 的值设置为 SAMPLE。单击 Finish,您就完成了数据源的定义。
前面所指定的类路径变量 ${DB2_JDBC_DRIVER_PATH} 缺仍然还未定义。切至 Variables选项卡。节点设置中预先定义了变量 DB2_JDBC_DRIVER_PATH,但是其值还是空的。按照 图 13中所示的步骤来定义驱动程序的位置。
保存所有修改后,您就已经完成了配置。关闭该配置。
Console 视图将自动打开,并显示服务器运行时消息。如果您发现了问题,或者该服务器未启动,就检查控制台消息,解决问题后再试一次。
您将在控制台视图中看到消息“ Server server1 open for e-business”,这表明服务器已经启动成功。
该应用程序将在 Web 浏览器中打开,如 图 15所示。
现在,我们将实践应用程序代码。使用您用于创建 SAMPLE 数据库的 ID 和口令来建立到 DB2 UDB Express 的连接。如果您所提供的 ID 和口令是无效的,那么您将看到一个错误页面。否则,将显示带有细节信息的雇员列表,如下面的 图 16所示:
我们已经在 WebSphere 测试环境中测试了应用程序,并且没有发生错误。首先要确保停止了服务器,右击 Servers 视图并选择 Stop。接下来的事情就是将该应用程序作为企业应用程序部署到 Express Application Server 上。
在典型的生产环境中,应用程序通常是通过 管理控制台(administrative console)来管理的。本示例中,我们将应用程序 MyFirstTest 导出到一个 EAR 文件,并将之放置在应用程序服务器上来进行部署。
在 Web 透视图中,按照 图 17中所示的步骤来将 MyFirstTest 企业应用程序导出到 EAR 文件中。
下一步就是将前一步所导出的 EAR 文件安装为 WebSphere Application Server Express 企业应用程序。我们将使用 WebSphere Administrative Console 的工具来执行安装。
因为已将管理控制台应用程序默认地安装在 server1 上,所以必须启动它来访问应用程序。您可以通过 Start -> Programs -> IBM WebSphere Application Server ? Express 5.1 -> Start Application Server来启动该服务器。
打开浏览器,并输入这个 URL:http://localhost:7090/admin 来启动 WebSphere Administrative Console。在安装 WAS Express 时,定义了一个虚拟主机 admin_host,用于访问 WebSphere Administrative Console。其配置匹配端口 7090 中的请求。
在安装时,具有访问该服务器的 Web 浏览器的任何人都可以访问管理控制台。如果您需要执行用户身份验证,这就需要启用 WebSphere 全局安全性。本示例中将忽略这一部分内容。
按照 图 18中所示的步骤来将 EAR 文件安装为一个使用 Administrative Console 的企业应用程序。
下一页面包含了 4 个步骤。每一步都选择默认值并继续。在最后一步中,单击 Finish。您将看到一条“Application MyFirstTestEar”安装成功的消息。您必须在此时保存配置。单击 Save to Master Configuration,然后单击 Save按钮。您应返回 Administrative Console 主页。
接下来,我们将为应用程序创建 JDBC 提供程序和数据源资源(Data Source Resources)。按照 图 19中所示的步骤来定义 JDBC 提供程序和数据源。
我们已经完成了 JDBC 提供程序的定义;让我们继续定义数据源资源(Data Source Resource)。
在 Administrative Console 的左边框架中,选择 Resources -> JDBC Providers。选择您刚创建的 JDBC 提供程序,即 DB2 Legacy CLI-based Type 2 JDBC Driver。在该页面的 Additional Properties选项卡中,选择 Data Sources。
在 Data Sources 页面中,单击 New。按照 图 20中所示的步骤来创建新的数据源。
现在,从现有的资源中选择 SAMPLE。在该页的 Additional Properties 选项卡中,选择 Custom Properties。单击 Custom Properties 表中的 databaseName链接。将 databaseName 的值填写为 Sample并单击 OK。 保存该配置。
我们需要指定的另一个变量就是 DB2 JDBC 驱动程序在服务器上的位置。按照 图 21中所示的步骤来定义该驱动程序的位置。
现在,我们准备测试 Express Application Server 上所部署的 MyFirstTest 应用程序。
在 Administrative Console 的左边框架中,选择 Applications -> Enterprise Applications,并确保 MyFirstTestEar 的状态为 started。
打开浏览器来测试该应用程序。该应用程序的 URL 将与 WebSphere Studio Site Developer 环境的(http://localhost:7080/MyFirstTest/)相同。
测试您的应用程序,并验证该应用程序是否被正确部署到应用程序服务器上。如果应用程序中没有错误,就表示您已经在 Express Application Server 中成功地部署了您的应用程序。
祝贺您,您现在已经完成了整个实践!
|
本文中,我提供了 WebSphere Application Server - Express 和 DB2 UDB Express 的基本概述。我还列举了使用 WSSD 开发简单的 Java Web 应用程序的步骤,并展示了如何在 WebSphere Application Server - Express 上部署和运行访问 DB2 UDB Express 的这个应用程序。.
本文未涉及安全性、会话管理、其他透视图的使用以及可用于替换 scriptlet Java 代码的定制 JSP 标签等话题。关于更多信息,请查阅参考资料小节所列出的手册。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/374079/viewspace-130363/ ,如需转载,请注明出处,否则将追究法律责任。