简介
当今的应用程序需要频频与许多不同源和不同格式的信息相结合。因此,应用程序开发人员往往需要调用大量不同 API 和协议来检索每个源中的信息,然后将这些信息合并到应用程序中。
WebSphere Information Integrator 通过提供一个到异构数据源的实时的基于 SQL 的接口,加速了这类场景的应用程序部署,异构数据源包括关系系统(如 DB2® Universal Database™ (DB2 UDB)、Oracle 和 Sybase)和非关系数据源(如文本文档和非结构化数据),以及新兴技术(如通过 Web Services 访问的 XML 存储库和数据)。Information Integrator 通过透明地管理关系和非关系数据并将其一起引入单个虚拟位置,来满足快速访问完全不同的数据的市场需求。图 1 详细说明了 WebSphere Information Integrator 环境:
图 1. WebSphere Information Integrator 提供单个 SQL API 来访问不同的分布式数据
WebSphere Information Integrator 通过在其自身的编目中存储联邦数据源的元数据,从而在 DB2 UDB 数据库引擎的上下文中构建数据库联邦。因为联邦中的每个数据源一直在自主操作,所以维持联邦数据库与它所联邦的源之间的一致性是一个相当大的挑战。模式定义变更、服务器和网络故障,以及密码过期等事件随时可能发生。这些事件中的每一种都可能使数据源变得不可访问或使其做过的编目不再有效,通过联邦数据库访问这些数据源的应用程序可能因此而中断。
因此,检测此类不一致性和自我管理集成环境的自主功能可以降低数据管理的复杂性。与允许真正虚拟化的环境相结合,Information Integrator 的自动化可以交付能够利用人员、过程和信息之间的资源的随需应变解决方案。
本文首先说明了联邦数据库系统的基本原理,给出了展示该系统的多样性和可扩展性的场景。然后,我们来看一下联邦数据库和它所联邦的源之间出现的实时不一致性。最后我们来看一看联邦健康监控,即在 WebSphere Information Integrator V8.2 中提供的新的自主功能,它是在 DB2 UDB Health Monitoring 组件中实现的。该功能警告系统管理员联邦数据库编目和联邦数据源之间存在不一致性,提出采取纠错措施的建议,并定期发送故障排除通知。
联邦系统的基本原理
WebSphere Information Integrator 联邦系统包括以下组件:
DB2 UDB 引擎
无需移动到中心位置即可访问分布式数据的 Information Integrator 实例
一个或多个数据源
客户机(用户和应用程序)
联邦系统的创建方式是,在 DB2 UDB 引擎上安装 Information Integrator,然后对其进行配置以注册一个或多个异构数据源。联邦数据库系统的用户可以对存储在联邦系统中任意位置的数据进行分布式查询,不管自己的位置在哪里,也不管数据源使用的是哪种 SQL 方言。图 2 说明联邦系统的架构。
图 2. 联邦系统配置的架构
联邦系统与每个数据源通信是通过称作包装器 的软件模块进行的。包装器包含特定数据源的特征。它提供了远程数据的 DB2 关系模型,并通过向远程数据源发送子查询以帮助联邦引擎实现查询处理。
在联邦系统中,服务器 表示远程数据源上的一个数据集合。对于关系数据源来说,这个集合通常就是数据库。服务器是通过 CREATE SERVER DDL 语句在联邦系统中注册的。该 DDL 将与远程数据集合有关的信息存储在 Information Integrator 编目中。例如,创建服务器时,数据库的名称、类型和版本(如 Oracle 8、Sybase 11.9)都会在 Information Integrator 编目中注册。服务器定义用于通过所谓的别名 从远程数据源访问数据。
别名 是远程数据源上驻留的数据集的表、视图或任何其他形式的数据的表示。对于关系数据源来说,此数据通常存储在表中。对于非关系数据源来说,此数据结构基于数据源的特定格式。别名通过 CREATE NICKNAME DDL 语句在联邦系统中注册。创建别名时,远程表的名称、其列的名称、数据类型、索引或远程文件的位置等都要在 Information Integrator 编目中注册。
WebSphere Information Integrator 通过所谓的用户映射 提供一种安全级别。您可以将每个 WebSphere Information Integrator 用户 ID 映射为远程数据源上的 ID 和密码。用户映射通过 CREATE USER MAPPING DDL 语句在联邦系统中注册。创建用户映射时,远程用户 ID 和密码都要在 Information Integrator 编目中注册。
示例场景
为了更好地理解我们所讨论的联邦概念,下面来看一个示例。在此例中,Information Integrator 用于合并来自文件系统记录、Oracle 和 DB2 数据源的数据。
场景:X 公司将员工记录保存的 Oracle 表中。最近,这家公司已收购了在 DB2 表中保存其员工记录的 Y 公司。这样,脚本就根据 x 公司的指导原则生成了新员工的序列号,并将其存储在文本文件中。下面是这两个表和文本文件中的内容:
Oracle 表——包含 X 公司的所有员工信息
名字 | 姓氏 | 序列号 | 电话号码 | 办公室号码 | SSN |
Abby | Mac | 123A456 | 408-222-2323 | H345 | 243-30-6789 |
Bob | Smith | 23H5611 | 408-222-4509 | G129 | 223-45-6780 |
Jenny | Hazel | 786H543 | 408-224-3319 | H480 | 823-19-6781 |
Edward | James | 788654Q | 408-222-2965 | A220 | 523-78-6782 |
... | ... | ... | ... | ... | ... |
DB2 表——包含 Y 公司除序列号外的所有员工信息
名字 | 姓氏 | 电话号码 | 办公室号码 | SSN | |
Laura | Chen | 650-245-2083 | PR10 | 443-34-6389 | |
Sara | Bradly | 650-245-3407 | CS33 | 646-49-6783 | |
Barbara | Simons | 650-245-2257 | DE22 | 606-20-8789 | |
... | ... | ... | ... | ... | ... |
纯文本文件——包含新员工(Y 公司)的序列号
SSN | 序列号 |
443-34-6389 | 459610 |
646-49-6783 | 5T45A0 |
606-20-8789 | 2306F1 |
... | ... |
现在,在内部 Web 站点发布员工记录的应用程序必须能够将新员工的新信息合并到整个公司中。Information Integrator 可以为 DB2 和 Oracle 员工表及序列号文本文件注册别名。在此例中,注册 ORACLE_NN 别名是为了访问 Oracle 表,注册 B2_NN 别名是为了访问 DB2 表,注册 SERIAL_NN 别名是为了访问文本文件。应用程序使用这些别名来构建访问 DB2、Oracle 和文本文件的查询。请参见图 3。
图 3. 通过单个 SQL API 从 Oracle、DB2 和文件记录数据源访问数据的示例
清单 1 显示用于在此例中从各种数据源提取数据的查询:
清单 1. 跨不同数据源选择
SELECT FIRSTNAME, LASTNAME, SERIALNUMBER, PHONENUMBER, OFFICENUMBER
FROM ORACLE_NN UNION
(SELECT D.FIRSTNAME, D.LASTNAME, S.SERIALNUMBER,
D.PHONENUMBER, D.OFFICENUMBER
FROM DB2_NN D, SERIAL_NN S
WHERE D.SSN=S.SSN)
FIRSTNAME LASTNAME SERIALNUMBER PHONENUMBER OFFICENUMBER
--------------------------------------------------------------------------------------------
Edward James 788654Q 408-222-2965 A220
Sara Bradly 5T45A0 650-245-3407 CS33
Barbara Simons 2306F1 650-245-2257 DE22
Bob Smith 23H5611 408-222-4509 G129
Abby Mac 123A456 408-222-2323 H345
Jenny Hazel 786H543 408-224-3319 H480
Laura Chen 459610 650-245-2083 PR10
... ... ... ... ...
在此例中,您可以看到单个集成平台提供一个框架,该框架透明地使应用程序可以与多个数据源交互,无需终端用户了解关于每个数据源的任何详细信息。
访问一个组织
您可能想查找下面的文章:
- 在 WebSphere Web Application Server Community Edition(WASCE) 上部署运行 Rational Quality Manager(RQM)
- 使用WebSphere Information Integrator自主监控工具维护联邦数据
- WebSphere Federation Server V9.5 中的端到端联合可信上下文
- 在 WebSphere Federation Server V9.1 中使用联邦过程
- 利用物化查询表提高 WebSphere Information Integrator 的性能
- 用WebSphere Studio Device Developer开发一个基于DB2 Everyplace V8.1的Palm OS应用
- 使用 WebSphere Transformation Extender Database Interface Designer 和 Database Adapter 转换数据
- 面向企业的云计算: 第 2 部分:Amazon EC2 公共云上的 WebSphere sMash 和 DB2 Express-C
- 使用 WebSphere Information Integrator 自主监控工具维护联邦数据
- 利用 DB2 和 WebSphere Studio Application Developer 在 Linux 上开发数据库网页