客户操作的图形模型包括四个组件:设计器(Designer)、操作器(Operator) 、 拓 扑 管 理 器 (Topology Manager) 和安全管理器 (SecurityManager),这些模型是在 ODI 安装时候就安装完整的,安装需要在 JVM1.5 的环境下,因为 ODI 是Java开収的产品,可以安装在
Windows、
Linux、
HP-UX、Solaris、
AIX和
Mac OS平台。
Designer
定义数据转换和数据一致性的规则以及数据的过滤条件。Designer 是整个ODI 的核心组件,所有的数据设计工作都在这个 Designer 模型中完成,数据库里的数据对象和 ODI 存储对象关系的元数据都在这里迚行导入和定义。Designer 模型用数据库导入的元数据和自定义的规则产生场景(Scenarios),最后収布到生产系统,很像我们以前编译好程序后迚行打包,然后収布。这个模型主要是提供给开収人员和元数据管理员。
Operator
主要用于对生产数据处理过程迚行监控。这个模型主要提供给数据处理人员,并且提供执行的日志、过程中处理的行数、错误代码、执行统计信息、实际执行的代码等。Operator 在 ODI 中是非常重要组件,尤其在开収过程中为我们提供DEBUG 的功能,可以知道我们数据处理的流程、代码出错的地方。
Topology Manager
这个模型主要是用于定义 ODI 不数据库的链接串,在 ODI 中定义物理和逻辑结构。物理结构定义的是实际服务器名称、IP 地址、需要提叏数据的模式、代理。
Security Manager
这个模型是 ODI 中用于控制 ODI 的用户权限管理,定义用户的概要文件和他们的访问权限。安全管理也给对象分配相应的权限。安全管理员会通常用这个模型。
ODI最大的特点是提出了知识模块的概念(Knowledge Module)。
ODI把一些场景(如把文件载到数据库,从Mysql数据库抓取数据放到
Oracle数据库里,从DB2把数据抓取出来放在Oracle数据库里等)的详细的实现步骤作为一个一个的知识模块并使用Jython
脚本语言结合数据库的SQL语句录制成一步一步的步骤忠实地记录下来,这样就形成了ODI里的100多个知识模块,基本上包含了所有普通应用所涉及到的所有场景。更方便的是,用户既可以直接使用ODI的知识模块完成数据的获取工作,也可以直接在知识模块上面做各种定制,比如某一个业务场景可能并不需要知识模块里的某一个特定的步骤,那就可以直接把该步骤删除掉从而提供更好的性能。当然用户也可以完全自己来开发这些知识模块。
ODI知识模块(Knowledge Module)的分类
ODI的知识模块主要分为几个大类(RKM,CKM,LKM,IKM,SKM),其中最重要的是LKM(load KM)、IKM(Integration KM)和RKM(Reverse KM):
RKM完成从源系统和目标系统的数据结构的反向工程来形成数据模型的功能。
JKM: 日志记录知识模块,捕获单个表或视图等中的新数据和更新的数据,从而完成数据的实时同步。
SKM:SKM完成ODI和WEB服务接口的功能。
SKM(Service KM):Web服务知识模块,可以使用该知识模块来生成Web服务调用。
其他特点
-
支持异构数据:当数据源或者目的不是Oracle数据库,ODI能够生成针对那个数据源的native的SQL操纵语句。
-
实时数据集成的环境:ODI能够检测事件,一个事件可以触发ODI的一个接口流程。从而完成近实时的
数据集成。
-
在
数据抽取集成过程中可以和SOA集成,ODI本身提供了call web service的机制,并且ODI的接口也可以暴露为webService,从而可以和SOA环境进行交互。
-
支持一致的CDC(Change Data Capture),不同的数据源(Oracle,DB2等)对于变化数据获取都提供了不一样的技术框架,ODI把这些不同的技术框架屏蔽了,以一个统一的
接口方式提供统一的CDC的设置框架,并提供订阅者的功能。