IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  Information Management | WebSphere  >

为 WebSphere Application Server Community Edition 配置 Informix Dynamic Server

developerWorks
文档选项

未显示需要 JavaScript 的文档选项

讨论

英文原文

英文原文


级别: 中级

Dhanashri Kudgavkar, Informix 互操作性团队,India Software Lab, IBM
Prasanna Alur Mathada, Informix 互操作性团队,India Software Lab, IBM
Amitava Chakraborty, Informix 互操作性团队,India Software Lab, IBM

2009 年 8 月 31 日

您是否需要用稳定、容易安装和使用的应用服务器来开发和测试 J2EE 应用程序,同时需要用健壮、可靠、管理简便的数据库来提供出色的性能?如果是这样,WebSphere® Application Server Community Edition 和 IBM® Informix® Dynamic Server (IDS) 的组合就是最佳选择。WebSphere Application Server Community Edition 是在 Apache Software Foundation 的开放源码应用服务器项目 Apache Geronimo 和一种轻量级 Java™ 2 Platform 上构建的应用服务器。IDS 是一种战略性数据服务器,它提供出色的可伸缩性和在线事务处理 (OLTP) 性能,具有高可靠性,可以尽可能减少停机时间,提供强大的管理功能,管理成本非常低。本文介绍一个包含这两种产品的特性的三层体系结构。

本文已经针对 WebSphere Application Server Community Edition 2.1.1.1 和 IDS 11 进行了更新。

简介

WebSphere Application Server Community Edition 是一种开放源码的 Java EE 5 应用服务器,是在 Apache Geronimo server Version 2.1.3 和 Geronimo Eclipse Plugin (GEP) 2.1.3 上构建的。通过使用 Eclipse、Apache Tomcat 和 Apache Derby 数据库等开放源码应用程序,WebSphere Application Server Community Edition 为构建 Java 应用程序提供一个方便灵活的基础。WebSphere Application Server Community Edition 有助于快速开发和扩展应用程序。它提供基本安全性、简便的管理和手工应用程序部署。可以免费下载和使用这种产品的二进制代码和源代码。如果需要,还可以购买可选的 IBM 支持。

IDS 是一种可扩展的对象-关系数据库,支持随需计算、WebSphere 以及用 SQL、Dynamic SQL、C++ 和 Java 语言编写的 OLTP 数据管理应用程序,具有高可靠性和出色的性能。

WebSphere Application Server Community Edition 和 IDS 的特性

WebSphere Application Server Community Edition 的一些关键特性包括:

  • 它包含一些最好的开放源码技术,比如 Apache Tomcat、Apache OpenEJB、Apache ActiveMQ、MX4J、TranQL、Apache Axis 和 HOWL (ObjectWeb)。
  • 它包含一个 Eclipse 插件,让用户能够利用基于 Eclipse 技术的 Web 工具平台。通过使用这个插件和服务器适配器,用户可以使用 WTP (Web Tool Platform) 中的特性在 WebSphere Application Server Community Edition 中创建、部署和调试应用程序。
  • WebSphere Application Server Community Edition 预先集成了一种健壮的内存占用量小的数据库服务器,Apache Derby。除此之外,它还为其他数据库提供驱动程序支持,包括 IDS、DB2 和 Oracle。
  • 运行时定制允许在运行时有选择地启用和禁用组件,这有助于降低成本和提高性能。
  • 在 WebSphere Application Server Community Edition 2.1 和更高版本中,用户可以采用以应用程序为中心的方式:用户识别出某一应用程序所需的功能组件,然后组装一个只包含这些组件的定制服务器,这样就可以得到轻量级的服务器映像。
  • 以前的管理控制台是静态的,但是从 2.1 版开始,WAS CE 提供一个新的可扩展管理控制台。这个框架允许 Geronimo 插件开发人员用自己的组件扩展管理控制台。这些扩展称为 Admin Console Extensions (ACE),可以采用 .war 或 .car 形式。可扩展的管理控制台本身需要作为来自在线插件目录的插件安装。
  • WAS CE 的新版本 (2.1.1.1) 中最重要的改进是,增加了用于 Informix Dynamic Server 和 MS SQL Server 2000/2005 的 TranQL XA 连接器。

IDS 的一些关键特性包括:

  • 安全特性,比如:
    • 基于标签的访问控制 (LBAC),这为数据库中的敏感数据提供新的访问控制方法
    • 可插入的身份验证模块 (PAM),这允许根据询问/响应定制系统进入服务
    • 列级加密,可以使用 DES 或 AES 等加密标准
    • 安全套接字层 (SSL),这提供连网安全性
    • 单点登录 (SSO),这有助于使用 Kerberos 身份验证协议通过集中的身份验证服务管理数据服务器访问
  • 对 XA 事务和连接池的支持
  • MACH11 特性,它提供简便的故障转移恢复,有助于确保业务操作的连续性
  • 简便的管理,提供新的会话配置例程、新的管理 API、新的管理调度器和基于 PHP 的图形化管理工具 OpenAdmin Tool (OAT)
  • 在跨服务器的分布式查询中支持 XML 发布和增强的数据类型

设置 IDS 和 WebSphere Application Server Community Edition

这种配置需要的前提条件包括:

  • 应该安装 WebSphere Application Server Community Edition。
  • 应该安装 IDS。
  • 应该配置一个 IDS 实例并通过套接字连接运行。
  • 应该在 WebSphere Application Server Community Edition 的存档存储库中添加 Informix JDBC 驱动程序存档文件。

把 WebSphere Application Server Community Edition 配置为使用 Informix JDBC 驱动程序

为了使用 IDS 作为 WebSphere Application Server Community Edition 的数据库服务器,首先应该安装 Informix JDBC 驱动程序存档和 IBM JCC 驱动程序存档。(关于 IBM JCC 驱动程序的更多信息,请参见 参考资料)。

  1. 通过选择 Start > Programs > IBM WebSphere > Application Server Community Edition > Administrative Console 启动管理控制台。使用预定义的用户名 system 和密码 manager 登录管理控制台。
  2. 使用管理控制台的 Repository 屏幕安装 Informix JDBC 驱动程序存档文件和 IBM JCC 驱动程序存档文件,从而把它们添加到现有的存档存储库中。(以后,在创建连接数据库所需的数据库池时,将选择这些 JAR 存档)。这需要在管理控制台左边的导航栏中选择 Services 下面的 Repository。在 Repository Viewer 中,指定下面给出的值(Informix JDBC 存档文件信息见图 1,IBM JCC 存档文件信息见图 2)。选择 Install 添加这些存档文件。

    • File:<ifxjdbc.jar 的绝对路径> / <ifxjdbcx.jar 的绝对路径> / <db2jcc.jar 的绝对路径>
    • Group:Informix
    • Artifact:JDBC / JCC
    • Version:<JDBC 驱动程序版本> / <JCC 驱动程序版本>
    • Type:JAR


    图 1. 在存储库中添加 Informix JDBC 存档
    添加 ifxjdbc.jar 和 ifxjdbcx.jar 文件所需的设置



    图 2. 在存储库中添加 IBM JCC 存档
    添加 db2jcc.jar 文件所需的设置

  3. 在成功地安装存档之后,Informix JDBC 驱动程序 jar 文件和 JCC 驱动程序 jar 文件的条目会出现在存档列表中,见图 3。

    图 3. 存档存储库中添加的 Informix JDBC 驱动程序存档和 IBM JCC 驱动程序存档
    Current Repository Entries 列表包含 Informix JDBC 驱动程序 jar 文件和 JCC 驱动程序 jar 文件

创建新的数据库池

使用管理控制台创建新的数据库池。以后,可以在应用程序中使用这些数据库池连接数据库。创建新的数据库池的步骤如下:

  1. 在控制台左边的导航栏中选择 Database Pools,打开 Database Pools 屏幕(图 4)。


    图 4. Database Pools 屏幕
    Database Pools 屏幕

    (查看图 4 的 大视图)。

  2. 选择 Using the Geronimo database pool wizard 创建新的数据库池。下面的步骤说明如何为 Informix XA、DB2 XA 和 Other 数据库类型创建数据库池。
  3. 创建使用 Informix JDBC 驱动程序和 Informix XA 数据库类型的数据库池。如图 5 和下面的表格所示,在 Database Pool Creation 向导的第 1 步中,指定数据库池的名称并选择 Informix XA 作为数据库类型。

    图 5. 为 Informix XA 数据库类型创建数据库池的第 1 步
    向导的第 1 步;数据库池名称为 WASCE_IDS_JDBC_XA,数据库类型为 Informix XA


字段描述
字段描述
Name of database pool应用程序用来引用这个数据库池的名称。数据库池名称应该是惟一的。
Database type数据库的类型。
  1. 选择 Next 创建数据库池。
  2. 在编辑新数据库池的连接属性的屏幕上,填写图 6 和下面的表格所示的字段。


    图 6. 数据库池的连接属性(数据库类型为 Informix XA)
    数据库池的连接属性(数据库类型为 Informix XA)


字段描述
字段描述
Pool Name数据库池的名称。这个值是在向导的第 1 步中提供的。不需要修改它。
Pool Type资源适配器,它取决于在向导的第 1 步中选择的数据库类型。在这个场景中,显示用于 Informix XA 数据库类型的 TranQL XA Resource Adapter for Informix。
Driver JAR包含 JDBC 驱动程序类的 JAR 存储库。这一信息添加到数据库池的类路径中。这里的列表包含存储库或目录中的 JAR。对于 Informix,应该选择前面在存储库中添加的两个 JAR。
Ifx SQL Host FileIfxSQLH_FILE 变量的值。
User Name用来连接 Informix 数据库的登录名。
Database Name要连接的 Informix 数据库的名称。
Ifx SQL Host TypeIfxSQLH_TYPE 变量的值。
Ifx HostIDS 数据库所在的机器的主机名或 IP 地址。
Ifx Protocol TraceIfxPROTOCOLTRACE 变量的值。
Ifx Protocol Trace FileIfxPROTOCOLTRACEFILE 变量的值。
Server Name要连接的 IDS 服务器的名称。
Password用来连接数据库的区分大小写的密码。
Confirm Password再次输入密码以便确认。
Port Number数据库服务器监听的网络端口号。
Transaction Type这个连接池支持的事务类型。
  1. 保持其他字段的默认值,单击 Deploy 部署 JDBC 连接池。
  2. 创建使用 JCC 驱动程序和 DB2 XA 数据库类型的数据库池。如图 7 和下面的表格所示,在 Database Pool Creation 向导的第 1 步中,指定数据库池的名称并选择 DB2 XA 作为数据库类型。

    图 7. 为 DB2 XA 数据库类型创建数据库池的第 1 步
    向导的第 1 步;数据库池名称为 WASCE_IDS_JCC_DB2XA,数据库类型为 DB2 XA


字段描述
字段 描述
Name of database pool应用程序用来引用这个数据库池的名称。数据库池名称应该是惟一的。
Database type数据库的类型。
  1. 选择 Next 创建数据库池。
  2. 在编辑 DB2 XA 数据库池的连接属性的屏幕上,填写图 8 和下面的表格所示的字段。

    图 8. 数据库池的连接属性(数据库类型为 DB2 XA)
    数据库池的连接属性(数据库类型为 DB2 XA)

    (查看图 8 的 大视图)。


字段描述
字段描述
Pool Name数据库池的名称。这个值是在向导的第 1 步中提供的。不需要修改它。
Pool Type资源适配器,它取决于在向导的第 1 步中选择的数据库类型。在这个场景中,显示用于 DB2 XA 数据库类型的 TranQL XA Resource Adapter for DB2。
Driver JAR包含 JCC 驱动程序类的 JAR 存储库。这一信息添加到数据库池的类路径中。这里的列表包含存储库或目录中的 JAR。对于 DB2,应该选择前面在存储库中添加的 JCC JAR。
User Name用来连接 DB2 数据库的登录名。
Database Name要连接的 DB2 数据库的名称。
Driver Type用来连接数据源的驱动程序类型。这个字段的值是 2 或 4。默认值是 4。
Prepared Statement Cache Size这告诉驱动程序每个连接应该与多少个预备语句相关联。在默认情况下,不执行语句缓存。
Trace File要插入记录的跟踪文件的名称。
Server Name需要连接的 DB2 服务器的主机名或 IP 地址。
Trace File Append指定记录是追加到跟踪文件中,还是覆盖跟踪文件。true 值意味着追加到跟踪文件中;false 意味着覆盖它。默认值是 false。
Password用来连接数据库的区分大小写的密码。
Confirm Password再次输入密码以便确认。
Port Number数据库服务器监听的网络端口号。
Transaction Type这个连接池支持的事务类型。
  1. 保持其他字段的默认值,单击 Deploy 部署 JCC 连接池。
  2. 创建使用 JCC 驱动程序和 Other 数据库类型的数据库池。如图 9 和下面的表格所示,在 Database Pool Creation 向导的第 1 步中,指定数据库池的名称并选择 Other 作为数据库类型。

    图 9. 为 Other 数据库类型创建数据库池的第 1 步
    向导的第 1 步;数据库池名称为 WASCE_IDS_JCC_OTHER,数据库类型为 Other


字段描述
字段 描述
Name of database pool应用程序用来引用这个数据库池的名称。数据库池名称应该是惟一的。
Database type数据库的类型。
  1. 选择 Next 创建数据库池。
  2. 在 Database Pool Creation 向导的第 2 步中,填写图 10 和下面的表格所示的驱动程序和 JAR 配置参数。

    图 10. 为 Other 数据库类型创建数据库池的第 2 步
    数据库池的驱动程序和 JAR 属性(数据库类型为 Other)


字段描述
字段描述
JDBC Driver ClassJDBC CLASS 的值。对于 Informix,值应该是 com.ibm.db2.jcc.DB2Driver
Driver JAR包含 JCC 驱动程序类的 JAR 存储库。这一信息添加到数据库池的类路径中。这里的列表包含存储库或目录中的 JAR。对于 Informix,应该选择前面在存储库中添加的 JCC JAR。
DB Username用来连接 Informix 数据库的登录名。
DB Password用来连接数据库的区分大小写的密码。
Confirm Password再次输入密码以便确认。
  1. 选择 Next 保存连接属性。
  2. 在 Database Pool Creation 向导的第 3 步中,填写图 11 和下面的表格所示的池配置参数。


    图 11. 为 Other 数据库类型创建数据库池的第 3 步
    数据库池的池配置参数(数据库类型为 Other)


字段描述
字段描述
JDBC Connect URL系统生成的 JDBC 连接 URL。要确认 URL 符合您的 JDBC 驱动程序的语法。
Driver Status表示是否成功地装载了驱动程序。
Transaction Type这个连接池支持的事务类型。
  1. 保持其他字段的默认值,单击屏幕底部的三个按钮之一:
    • Test Connection —— 使用这个按钮测试数据库连接。连接成功之后,下一个屏幕提供这个数据库池的部署选项。
    • Skip Test and Deploy —— 使用这个按钮部署数据库池,而不测试数据库当前是否可用。如果部署成功,控制台就返回到数据库池列表屏幕,新的池应该处于正在运行状态。
    • Skip Test and Show Plan —— 使用这个按钮显示 Geronimo 对这个池使用的部署计划。计划是一个 XML 文件,可以在命令中使用它手工部署数据库池。
  2. 在成功地部署数据库池之后,它们会出现在 Database Pools 屏幕上,状态为正在运行,见图 12。

    图 12. 部署 Informix JDBC 驱动程序存档和 IBM JCC 驱动程序存档之后的可用数据库池列表
    Database Pools 屏幕显示每个数据库池的当前状态,包括已经部署的 JDBC 和 JCC 驱动程序存档

    (查看图 12 的 大视图)。

使用部署计划部署示例应用程序

使用部署计划并不是部署所有应用程序所必需的。但是,大多数应用程序需要解析资源引用,还需要为应用程序中的各个模块指定配置,因此需要部署计划。

部署计划包含在一个 XML 文件中。本文的 下载 部分包含三个示例部署计划。这些计划用于部署一个名为 DayTrader 的示例企业应用程序,这是一个交易应用程序,可以从 Apache Software Foundation 免费下载(见 参考资料)。第一个计划使用 JDBC 驱动程序连接 IDS 实例。另两个计划使用 JCC 驱动程序连接 IDS 实例。

WAS CE 2.1.1.1 有一个新的 TranQL XA 连接器 (tranql-connector-informix-xa-1.0.rar),它是专门为 Informix Dynamic Server 开发的。清单 1 是 dayTrader2.1-Informix-JDBC-XA-plan.xml 计划的片段。它演示这种新连接器的使用方法,以及使用 JDBC 驱动程序连接 IDS 所需的一些配置属性设置。


清单 1. dayTrader2.1-Informix-JDBC-XA-plan.xml 的片段
				
<connector>TradeDataSource</connector>
<external-path xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2"> 
<dep:groupId>org.tranql</dep:groupId> 
<dep:artifactId>tranql-connector-informix-xa</dep:artifactId> 
<dep:type>rar</dep:type> 
</external-path>
			
<name>jdbc/TradeDataSource</name> 
<config-property-setting name="Password">IDS4data</config-property-setting> 
<config-property-setting name="UserName">informix</config-property-setting> 
<config-property-setting name="DatabaseName">tradedb</config-property-setting> 
<config-property-setting name="ServerName">ids1150</config-property-setting> 
<config-property-setting name="PortNumber">16001</config-property-setting> 
<config-property-setting name="IfxHost">lxvm-l15.lenexa.ibm.com</config-property-setting>


清单 2 是 dayTrader2.1-Informix-JCC_DB2-XA-plan.xml 计划的片段。它演示 JCC 驱动程序的使用方法。如果使用 JCC 而不是 JDBC,那么在创建数据库池时必须把数据库类型设置为 DB2 XA(见图 7)。另外,为了连接 IDS,部署计划需要包含与清单 2 相似的信息。


清单 2. dayTrader2.1-Informix-JCC_DB2-XA-plan.xml 的片段
				
<connector>TradeDataSource</connector> 
 <external-path xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2"> 
 <dep:groupId>org.tranql</dep:groupId>  
 <dep:artifactId>tranql-connector-db2-xa</dep:artifactId>  
 <dep:type>rar</dep:type>  
 </external-path> 
				
<name>jdbc/TradeDataSource</name>  
 <config-property-setting name="UserName">informix</config-property-setting>  
 <config-property-setting name="Password">inform123</config-property-setting>  
 <config-property-setting name="PortNumber">9089</config-property-setting>  
 <config-property-setting name="ServerName">9.122.208.100</config-property-setting>  
 <config-property-setting name="DatabaseName">tradedb</config-property-setting>  
 <config-property-setting name="DriverType">4</config-property-setting>  
	

清单 3 是 dayTrader-IDS-JCC-OTHER-XA-plan.xml 计划的片段。在使用 JCC 驱动程序连接 IDS 时,也可以使用这个计划。如果要使用这个计划,那么在创建数据库池时必须把数据库类型设置为 Other(见图 9)。与另两个计划不同,这个计划还定义一个连接 URL。


清单 3. dayTrader-IDS-JCC-OTHER-XA-plan.xml 的片段
				
 <connector>TradeDataSource</connector> 
 <external-path xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.2"> 
 <dep:groupId>org.tranql</dep:groupId>  
 <dep:artifactId>tranql-connector-ra</dep:artifactId>  
 <dep:type>rar</dep:type>  
 </external-path> 
			
<name>jdbc/TradeDataSource</name>  
<config-property-setting name="Password">IDS4data</config-property-setting>  
<config-property-setting name="Driver">
com.ibm.db2.jcc.DB2Driver
</config-property-setting>  
<config-property-setting name="UserName">informix</config-property-setting>  
<config-property-setting name="ConnectionURL">j
dbc:db2://lxvm-l150.lenexa.ibm.com:16002/tradedb
</config-property-setting>  

准备好部署计划之后,可以使用以下两种方法之一部署应用程序:

  • 在 IDS 控制台中,导航到 Applications > Deploy New。这会打开图 13 所示的 Install New Application 屏幕。

    图 13. 用 IDS 部署 DayTrader 应用程序
    IDS Install New Application 屏幕,已经指定了 DayTrader 应用程序的 ear 文件和 JDBC-XA 部署计划

    在 Archive 字段中,指定 DayTrader 应用程序的 .ear 文件。在 Plan 字段中,指定与所选驱动程序存档(JCC 或 JDBC)相关的计划文件。完成之后,选择 Install。如图 14 所示,Install New Application 屏幕显示消息,表示已经成功地部署和安装了这个应用程序。

    图 14. 用 IDS 成功地部署了 DayTrader 应用程序
    IDS Install New Application 屏幕显示消息,表示已经成功地部署和安装了这个应用程序

  • 在命令提示上,把 geronimo_home 设置为 <WebSphere Application Server Community Edition 安装目录的绝对路径>,在 <geronimo_home>/bin 中执行以下命令安装 DayTrader:

    deploy -<user> system -<password> manager deploy
    <daytrader_home>\modules\ear\target\daytrader-ear-2.1.1.0.ear
    <daytrader_home>\plans\dayTrader-Informix_JDBC_XA-plan.xml
    

    其中的 <daytrader_home> 是 DayTrader 应用程序的根目录。

使用 XML 计划安装 DayTrader 之后,可以通过以下地址访问它:

http://<hostname>:<port>/daytrader.

为了开始交易,选择 Configure > (Re)- populate Trade Database。这会创建一组虚构的用户、股票、价格和其他参数。然后,就可以使用 DayTrader 应用程序进行模拟交易了。

结束语

IDS 是一种强大的关系数据库服务器,它提供了许多特性,可以帮助每个数据库用户(从应用程序用户到管理员)完成复杂的活动。WebSphere Application Server Community Edition 使用一些最出色的开放源码技术,让用户能够在 Web 服务器上简便快速地部署 Java 应用程序。本文解释了如何把 WebSphere Application Server Community Edition 配置为通过 JDBC 和 JCC 连接 IDS,还讨论了用户如何在这种环境中快速地部署 Java 应用程序。






回页首


下载

描述名字大小下载方法
IDS 特有的计划文件 -11dayTrader2.1-Informix-JDBC-XA-plan.xml26KBHTTP
IDS 特有的计划文件 - 22dayTrader2.1-Informix-JCC_DB2-XA-plan.xml26KBHTTP
IDS 特有的计划文件 - 33dayTrader-IDS-JCC-OTHER-XA-plan.xml26KBHTTP
关于下载方法的信息

注意:

  1. 这个 IDS 特有的计划文件使用 JDBC XA 驱动程序连接 IDS。
  2. 这个 IDS 特有的计划文件使用 JCC 驱动程序和 DB2 XA 适配器连接 IDS。
  3. 这个 IDS 特有的计划文件使用 JCC 驱动程序和通用适配器连接 IDS。


参考资料

学习

获得产品和技术

讨论


作者简介

照片:Dhanashri Kudgavkar

Dhanshri Kudgavkar 在印度 ISL 的互操作性团队工作。她对于 IDS 的行为和特性有丰富的经验。


照片:Prasanna Mathada

Prasanna 是通过认证的 Informix 专业人员。他当前在印度 ISL 的互操作性团队工作。


照片:Amitava Chakraborty

Amitava 从事各种 Informix 产品已经超过 8 年。当前,他担任 Informix 互操作性团队的负责人,负责确保 Informix 对其他主要产品的可伸缩性。




对本文的评价










回页首


DB2、IBM、Informix 和 WebSphere 是 IBM 公司在美国和/或其他国家的商标。 Java 和所有基于 Java 的商标是 Sun Microsystems 公司在美国和/或其他国家的商标。 其他公司、产品或服务的名称可能是其他公司的商标或服务标志。

IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款