现在,复杂的“可热插拔”系统和面向服务的体系结构(SOA)得到了广泛应用,这使得将数据合理地整合在一起的难度日益增加。尽管您的主要应用程序数据库在Oracle数据库上运行,但是可能还有其他较小的系统在其他供应商提供的数据库和平台上运行。您的应用程序本身可以通过 Web服务之类的技术进行交互,应用程序和数据可以远程托管,也可以由您在企业数据中心内进行管理。
Oracle Data Integrator属于Oracle融合中间件产品系列,它解决了异构程度日益增加的环境中的数据集成需求。它是一个基于Java的应用程序,可以使用数据库来执行基于集合的数据集成任务,也可以将该功能扩展到多种数据库平台以及Oracle数据库。此外,通过它,您还可以通过 Web服务和消息提取并提供转换数据,以及创建在面向服务的体系结构中响应和创建事件的集成过程。
Oracle Data Integrator产品体系结构
Oracle Data Integrator是以Java图形模块和调度代理访问的模块化信息库为中心进行组织的。图形模块用于设计和构建集成过程,代理用于安排和协调集成任务。当 Oracle Data Integrator项目投入生产时,数据管理员可以使用基于Web的Metadata Navigator应用程序来根据信息库中的元数据生成报告。现成的知识模块可以使用特定于平台的代码和工具跨异构平台提取和加载数据。
Oracle Data Integrator 信息库包含一个主信息库(包含有关用户和角色的详细信息)、到数据库和其他数据源的连接、项目版本以及一个或多个工作信息库(包含数据模型的详细信息以及用于集成数据的映射)。这些信息库可以存储在 Oracle 和非 Oracle 关系数据库中,可以使用图形模块进行管理,并可以在运行时由代理进行访问。
有四个图形模块可用来创建和管理 Oracle Data Integrator 项目:
Designer 用于定义数据存储(表、文件、Web服务等)、接口(数据映射)以及程序包(包括接口在内的几组集成步骤)。
Topology Manager 用于创建和管理到数据源和代理的连接,通常限制为只有管理员可以访问。
Operator 用于查看和管理产品集成作业。
Security Manager 管理用户及其信息库权限。
这些基于 Java 的应用程序可在包括 Microsoft Windows、Macintosh OS X 和 Linux 在内的任何 Java 环境中运行。
声明式设计
一般来说,数据集成任务涉及两个主要的领域:
关于转换哪位数据并将其与其他位相结合的业务规则
关于数据的实际提取、加载等操作方式的技术细节
这种划分意味着,定义业务规则的人通常是机构的技术业务专家或数据专家,而技术细节则往往留给开发人员和 DBA 等技术人员来定义。使用大多数数据集成工具,通常很难以这种方式划分职责,因为它们的数据映射特性在同一个数据映射中混合了业务规则和技术实现细节。而 Oracle Data Integrator 采用了一种不同的方法,像 SQL 一样使用声明式方法来构建数据映射,这在工具中称为“接口”。
创建新的接口时,开发人员或技术业务用户首先定义要集成的数据以及应使用的业务规则。在该步骤中,会将表联接在一起,应用过滤器,并使用 SQL 表达式来转换数据。所使用的特定 SQL 语言由执行代码的数据库平台来决定。
然后,在另一个步骤中,技术人员可以使用特定于数据库的工具和设计方法(例如增量加载、批量加载工具、渐变维度和更改数据捕获)以最有效的方式来提取、组合并集成该数据。
可扩展的知识模块
由于 Oracle Data Integrator 在响应事件的同时从很多不同的数据库平台加载和转换数据并使用基于消息的技术(如 Web 服务),因此用于访问和加载这些不同数据源的技术需要灵活、可扩展而又高效。Oracle Data Integrator 通过知识模块解决了该问题。
知识模块是 Oracle Data Integrator 的“插件”,它浓缩了为特定数据源或特定目标加载、转换或集成数据的最佳实践。Oracle Data Integrator 有六种知识模块,如下图所示: