中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> IBM专区 > DB2 > 集成
用 DB2 Information Integrator 扩展门户
作者:佚名 时间:2005-08-05 11:17 出处:互连网 责编:小渔
              摘要:用 DB2 Information Integrator 扩展门户

C. M. Saracco

高级软件工程师,IBM
2004 年 4 月

在 Web 门户中使用企业信息集成(Enterprise Information Integration,EII)技术可以扩展预制组件的功能,并且使得易于开发定制组件。本文中,我们将解释为何以及如何开始快速进行该工作。

企业门户(portal)应用的持续增长迫使众多开发人员面对存在几十年的技术挑战:如何将分散在整个企业中的关键业务数据的一致、联合视图呈交给商务用户。最简单的选择就是使用不同区域的 Web 页面来显示不同数据源的内容,但该方法并非总是满足要求,因为这样会将关联和聚集数据的重担压在用户身上。而手工编写门户应用程序来集成所有必要数据并呈交一个联合视图的方法可以胜任,但是通常代价太大。

是否有更好的选择呢?本文描述了如何将 IBM® DB2® Information Integrator(DB2 II)中的企业信息集成(Enterprise Information Integration,EII)技术与 IBM WebSphere® Portal 和 WebSphere Studio Portal Toolkit 中的门户开发、运行库(runtime)和部署服务结合起来,用以提供可行的解决方案。同时,这些产品可以降低编程成本,以及缩短用于联合和集成多个数据源中数据以提供商业分析活动的门户应用程序的开发周期。本文讨论了为何以及如何开始进行。

商业收益
将 DB2 II 配合 WebSphere Portal 开发项目可以最小化,甚至是消除编写定制代码来呈交异构数据的单一、联合视图的需要。这是因为 DB2 II 的联邦数据服务透明地扩展了起初被设计用于每次使用一个数据源的现成的门户应用程序组件的功能,我们马上将进行讨论这一点。DB2 II 将一个虚拟的数据库映像呈交给应用程序和终端用户,它启动门户组件来连接 DB2 II 并且访问各种数据,就像它们都在本地一样。实际上,您稍候将在本文中看到究竟是如何进行完成的。您将学习如何扩展 IBM My Query Reports 和 JDBC Business Object Builder 组件来访问多个源中的数据并集成到单一报表中,且无需编写任何 Java 代码。

您大概会赞同:若能重用软件,您将节省时间和金钱。毕竟,很少能便宜地设计、测试、编码以及维护新的应用程序或软件组件。但是,如果预制的软件不能立即满足您的需求该怎么办呢?DB2 II 还可以简化您定制的开发工作。这是因为您可以将许多乏味和成本昂贵的任务授权给 DB2 II。这些任务包括连接不同的数据源,使用特定于源的 API 检索合适的数据,处理数据类型的转换,补偿给定数据源所未支持的功能,以及执行连接、联合、聚集和其他所需的关于数据的功能。

此外,DB2 II 可代替您确定和实现有效的数据访问策略以检索异构数据。这点特别重要,因为糟糕的数据访问策略可能导致糟糕的性能。如果您要开发自己的数据访问策略,您则需要考虑这些问题:每个数据源可以(并且应该)筛选哪些数据,每个数据源中可获得的访问方法(例如索引)的用途,所感兴趣的数据在每个源的分布(或偏向于某些值)的方式,可能从每个数据源进行检索的数据量,用于连接或关联从不同源中检索到的数据的适当技术等等。

DB2 II 全局查询优化器将为您的查询自动考虑这些问题以开发出有效的访问策略。当然,数据管理人员也应该承担合理的管理工作,例如维护远程数据源的当前统计数字,定义连接和联合了远程数据的合适视图,在适当的时候使用物化查询表(MQT)缓存远程数据等等。但是,这都是数据库管理员多年管理个人系统时所做的工作。无需迫使门户应用程序员大量致力于性能调整问题,基于 DB2 II 的架构可免除该工作:大多由查询优化器自动处理,而重要的调整活动则由具有合适技能的数据管理人员来承担。

因而,使用 DB2 II 中的 EII 技术可以减少门户应用程序的开发成本,加速新应用程序的交付,扩展现有的门户组件以用于大量不同的数据源(包括大型主机源),以及最小化门户程序员和管理员构建和部署可提供复杂数据集成功能的应用程序所需的技能。实际上,DB2 II 和 WebSphere Portal 的结合可帮助公司开发基于门户的“执行仪表板”以用于集成的业务分析。许多商业智能软件销售商都已经与 IBM 合作支持 DB2 II,其中一些还提供现成的门户应用程序组件支持开发人员快速构建复杂报表,用以下钻(drill-down)对于关键商业问题的分析。同样,对该功能进行手工编码可能极为繁重并且代价较大。

技术指导
为了帮助您理解如何将 DB2 II 和 WebSphere Portal 配合实现刚刚所讨论的收益,我们将向您提供其基础技术中关键方面的快速指导。

理解 DB2 Information Integrator
DB2 II 向程序员提供了异构数据的单点映像,这些数据能以不同的格式来维护,通过不同的应用程序接口(API)来检索,以及由不同的远程服务器来管理。这些服务器可能属于一个企业中的不同业务线、商业伙伴或向公众提供服务的第三方。依靠 DB2 II 全局查询优化器为其选择有效的数据访问策略,程序员可以透明地使用这些来自不同源的数据。

这些功能有时被称作“联邦数据服务”。通过这些服务,DB2 II 支持访问各种关系型 DBMS、快捷表、消息队列、XML 文档、Web 内容、Web 服务以及文件系统。DB2 II 家族的另一成员,DB2 II Classic Federation for z/OS®,可被添加以(或单独用以)提供对大型主机(mainframe)数据源的类似访问,这些数据源包括 VSAM、IMS TM、CA-IDMS、CA-Datacom 和 Adabas。伙伴产品也给 DB2 II 提供了对于其他源的访问。

除了这些联邦数据服务,DB2 II 还支持远程数据的本地缓存(通常出于性能理由),两个或更多源之间的复制,以及用户数据在本地的持久存储。然而,本文关注的是其联邦数据服务。

理解 WebSphere Portal
WebSphere Portal 向用户提供一个扩展的架构和用于部署门户的关键基础设施服务,门户(portal)是指为用户提供对各种基于 Web 资源的单一接入点的 Web 站点。这些 Web 站点可以支持 B2B(business-to-business)、B2C(business-to-consumer)或 B2E(business-to-employee)应用程序。

门户应用程序通常包含多个与一个或更多 Web 页面相关联的 portlet。Portlet 是 servlet 技术的特殊形式,而 servlet 技术是 Java 2 Enterprise Edition(J2EE)平台的组成部分。虽然其本身就是完整的应用程序,但 portlet 常常用作更大、更复杂应用程序的组件。它们还可以与其他服务器端的 Java 对象(例如 Enterprise JavaBeans(EJB)和 Java Server Pages(JSP))相结合,以支持遵循 Model-View-Controller(MVC)设计模式的应用程序。

Portlet 使用 WebSphere Portal 基础设施服务来访问用户配置文件,与其他 portlet 通信,响应窗口事件,以及访问远程内容。门户管理员可以管理授权问题,设计 portal 页面的外表(通过更改其“皮肤”和“主题”),为用户修改内容,以及管理多个门户应用程序。

基于 EII 的门户实例
虽然门户应用程序可以迅速提供到关键数据的单一接入点,但是它们通常通过在页面的不同区域上显示不同数据源的内容来完成。对于某些应用程序,这样可能就足够了。例如,一个商务旅行者可能认为在一个区域显示联合旅游指南,在另一个区域中显示其目的地的天气预报,以及在第三个区域中显示其目的地的城市地图是极其合理的。

然而,某些应用程序要求对异构数据进行更大级别的关联和集成。考虑订购登记员的简单实例,该订购登记员需要搜索某种类型的产品,并且确定能够在一个工作日之内履行订单的低成本供应商。理想情况下,应显示考虑了所有状况的联合报表。但是,如果产品数据、供应商存货级别和供应商定价信息分布在两个或更多源中,就可能对简单的数据访问 portlet 提出挑战。而这正是 DB2 II 所提供的价值所在。它用后台数据集成补充 WebSphere Portal 的基于显示的集成,以提供一个全面的解决方案。

同时作用
既然您已理解 DB2 II 和 WebSphere Portal 可完成哪些工作,就让我们探索如何可以同时部署这些产品。虽然各种体系结构拓扑都有可能,但我们在此处将查看一个通用示例。

图 1 说明了一个运行时体系结构,其中 WebSphere Portal 支持一个企业的门户应用程序。这些应用程序包括一个或更多预制的或定制的 portlet,用于呈交公司异构数据的集成视图。WAS 向 WebSphere Portal 提供基础设施服务,以及驻留一些 portlet 可能调用的 J2EE 组件,例如 会话 EJB 和实体 EJB。

DB2 II 提供数据访问和集成服务,以使 portlet 和 J2EE 组件工作于在比其他情况更高的抽象级别。这样一来,DB2 II 可以透明地扩展 portlet 和其他服务端 Java 对象的功能。稍候在本文中,您将看到 DB2 II 如何支持程序员使用预制的 My Query Reports portlet 来创建跨越多个数据源的单个报表,包括无法通过 JDBC 本机访问的数据源。若没有 DB2 II,就无法实现该工作。

图 1. 用 DB2 Information Integrator 进行的示例 WebSphere Portal 配置
图 1. 用 DB2 Information Integrator 进行的示例 WebSphere Portal 配置

对于定制门户的开发工作,该体系结构在概念上是相似的。我们在项目中使用带有 WebSphere Portal Toolki 的 WebSphere Studio Application Developer。该环境包括 WAS 和 WebSphere Portal 的测试版本,所以在安装门户开发插件时,就可以立即通过 WebSphere Studio 使用图 1 中所示两个顶层组件。

下一节解释如何使用 IBM 预制的 portlet 创建使用 DB2 II 的门户应用程序。

开始快速启动
首先,您将需要安装和配置 DB2 II、WebSphere Portal 和必要的产品。下一节(“ 设置环境”)描述如何完成该工作。一旦启动基础环境,您就可以很快部署您第一个将多个源中的数据集成到单一报表的 portlet。关于“ 使用 My Query Reports Portlet”和“ 使用 JDBC Business Object Builder Portlet”的小节将更为详细地描述该过程。

设置环境
第一步包括安装和配置合适的产品。对于本项目,我们在 Windows 2000 系统上安装了 DB2 II V8.1、WebSphere Portal V5 和 WebSphere Application Server V5。因为我们还需要对我们自己定制的 portlet 进行编码,所以我们还安装了一个合适的开发环境:WebSphere Studio Application Developer V5 和 WebSphere Portal Toolkit V5。最后,因为我们需要在最后的门户应用程序中包含一些高级报表功能,所以我们安装了来自于 IBM 商业伙伴的产品(Crystal Reports V9 和 Crystal Enterprise V9,均来自于 Business Objects)。

然而,我们不会在此处描述我们的 Java 开发或商业智能环境,而是仅仅介绍基础内容 —— DB2 II、WebSphere Portal 和 WAS。那个简单的体系结将足以使您开始构建门户应用程序,用以集成多个源中的数据并且向用户呈交一个联合结果。

我们选择首先安装和配置 DB2 II。这样,在试图开发集成的报表或复杂门户应用程序之前,我们可以确保对于所有所需的远程数据源的访问都正确工作。我们不会在此处描述该工作的细节,因为这些内容会随您的网络配置、远程数据源以及其他因素变化。DB2 II 联机产品库(或 InfoCenter)较好地包含了这些主题。此外,本文最后的“ 参考资料”小节为您指出了 IBM developerWorks 教程和涉及特定配置实例 IBM Redbook。

启用 DB2 II 之后,我们就安装并测试 WebSphere Portal。Portal 的安装过程还自动地安装了两个必要产品(WAS 和 IBM HTTP Server)。

启用 base WebSphere Portal 基础环境之后,我们要研究附加的配置问题。例如,我们启动 WAS Administrative Console 创建 DataSource 对象,用以管理到 DB2 II 的合用连接。如果不知道如何定义 DataSource,最好是咨询 WAS 手册或 InfoCenter。然而关于“使用 JDBC Business Object Builder Portlet”小节中的步骤 1 可使您快速地了解该过程。取决于您的安全性需求,您也许还需要为 Db2 II 用户帐号定义一个 J2C(Java 2 Connector)别名。使用 WAS Administrative Console 按照标准过程来完成该工作。另外,如果您需要帮助,就咨询该产品的文档。

设置好基础体系结构之后,您现在就要准备好启动新环境了。下面两个小节将帮助您使用 WebSphere Portal 提供的两个 portlet(My Query Reports 和 JDBC Business Object Builder)构建简单报表。

使用 My Query Reports portlet
也许用于您门户应用程序中将多个源中数据集成到单一报表中最简单的方法就是使用 IBM My Query Reports portlet 和 DB2 II。而这个 portlet 是随 WebSphere Portal 一起发行的多个 portlet 的其中之一。它支持用户建立到 DB2 II 数据库的非合用连接,编写 SELECT 语句,以及为以后的执行保存该报表定义的结果。在执行时,该报表在门户 Web 页面地一个区域中显示查询结果。

下面说明了如何在门户应用程序中与 DB2 II 一起使用该 portlet:

 

  • 按照 WebSphere Portal 用于添加预制 portlet 的标准过程,在新的或现有的页面中添加 My Query Reports portlet。(请参阅下图。)完成之后,单击 OK后就 完成了

 


 

  • 在页面上定位 My Query Reports portlet,并且按照 WebSphere Portal 标准过程编辑该 portlet。(单击 portlet 右上角的 Edit图标。)
  • 单击 Create以创建新查询。指定所需信息。这包括一个用于查询的名称、一个用于 DB2 II 数据库的有效用户名和口令、用于 DB2 II 数据库的 URL 以及 SQL 查询本身。

 


 

  • 测试您的工作并且更正错误。完成之后,您的门户用户就可使用该查询。

 

使用 JDBC Business Object Builder portlet
JDBC Business Object Builder portlet 也配送 WebSphere Portal。它提供比 My Query Reports portlet 更高级的数据访问支持,包括为更大系统有效性而使用合用连接(DataSource 对象),用以基于您的规范生成 SQL 数据操纵语言语句(SELECT、INSERT、UPDATE、DELETE)的向导,基于用户提供的搜索谓词修改最后报表输出的能力,以及对于所生成报表的最终外表的更大控制。

该 portlet 实际上是一个工具,用以使您能够基于您所指定的“业务对象”生成其他的 portlet。这些业务对象对应了关系型 DBMS 中的数据库表或视图。通过 DB2 II,您的业务对象可以跨越多个数据源,包括 WAS 不本机支持的非关系型数据源。

下面说明了如何与 DB2 II 一起使用该 portlet 构建器(builder):

  • 定义和测试到您的 DB2 II 数据库的 DataSource 连接。按照用于定义 DB2 UDB 8.1 数据库连接的 WAS 标准过程来完成。如果您不熟悉该过程,请咨询 WAS InfoCenter。下面是极快速的概述:
    • 启动 WAS Administrative Console。
    • 单击 Resources -> JDBC Provider -> New
    • 单击 OK之后,为您的 provider 对象指定名称,并且确保 类路径包括合适的 DB2 文件。(我们选择 DB2 旧的基于 CLI 的 Type 2 JDBC 驱动程序类型,并且在类路径中指定 db2java.zip 文件。另外,我们创建了 DB2 通用 JDBC 驱动程序提供程序并且在其 类路径中包括下列文件:db2cc.jar、db2cc_license_cu.jar、db2cc_license_cisuz.jar。)
    • 为您的 DB2 II 数据库创建 DataSource 对象。
    • 在您的 JDBC Provider 对象的 Additional Properties框中单击 DataSource,然后单击 New
    • 为您的 DataSource 指定 名称和相关的 JNDI 名称。如果必要,还要指定身份验证的别名。
    • Custom Properties下,指定 DB2 II 数据库名和适合您环境的任何其他附加属性。
    • 最后, 应用您的所有工作并且保存修改。
    • 测试 DataSource 连接并且更正错误。退出 WAS Administrative Console 并用 WebSphere Portal 启动浏览器。
  • 按照 WebSphere Portal 标准过程向新的或现有的页面添加 JDBC Business Object Builder。(请参阅下图。)完成之后,单击 OK后就 完成了

 


 

  • 单击 New portlet 并指定所需信息。这包括用于您 portlet 的名称和用于您 DB2 II 数据库(步骤 1 中创建的) DataSource 名称。此外,还要从三个可用的身份验证选项中进行选择。对于我们的初始测试,我们选择指定了一个有效用户 ID 和口令的第二个选项,在我们每个 portlet 调用中将自动重用它们。完成后就单击 Next

 


 

  • 为该 portlet 定义一个新的业务对象。单击 New business object 并且按照后继屏幕中的提示指定:
    • 所感兴趣的数据库模式(本例中为 DEMO)。
    • 你需要查询的该模式中的表。
    • 您的新业务对象的名称,和该对象上允许的动作(查询)类型。有效选项包括搜索(SELECT)、更新、创建(INSERT)和删除。
    • 您希望您的对象所包含的字段(列)。
    • 但进行显示时,您希望这些字段以何种次序出现。
  • 部署和测试您的 portlet。

 

结束语
我们希望您已经学习到 DB2 II 中的 EII 技术可以加速需要集成和联合多个数据源中数据的门户应用程序的开发。通过提供由不同服务器管理的或者由 Web 服务或专用应用程序动态生成的数据的虚拟数据库映像,DB2 II 可以透明地扩展预制数据访问 portlet(例如 IBM My Query Reports 和 JDBC Business Object Builder)的功能,以及明显地简化定制数据访问 portlet 的开发。

关于作者
C. M. Saracco 是 IBM 硅谷实验室的高级软件工程师。她撰写了两本关于数据库管理主题的书(其中一本是与 Charles J. Bontempo 合著的),并且曾在北美、南美和欧洲主持讲座。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有