基于ODI的数据交换平台设计与实现
作者 :  黄成哲 方禹润 于海浩

   【摘 要】随着高校信息化的建设的加速,信息孤岛现象目益严重,构成了一个庞大的异构环境。为了解决信息孤岛带来的信息屏障,就必须建立一个统一的情息平台作为桥梁。本文介绍了一种基于ODI的数据交换平台的总体架构,然后根据总体架构ODI的监控进行设计,从而实现对数据交换过程的监控,提高网络管理员的管理效率。
   【关键词】信息孤岛;数据交换;ODI;共享数据库
  
   0.引言
  随着信息化的普及,高校校园网上运行的业务子系统日益增多,这些应用系统在为学校师生提供信息服务的同时,也提高了学院的管理手段和方法。然而,这些应用系统在建设初期只是根据应用部门的实际需求而设计开发,并没有统一的设计规划,所采用的编译环境和数据库也不一样,形成了一个个相对独立的信息孤岛,如何将这些网络资源进行统一管理,是高校网络管理急切需要解决的问题[1]。Oracle公司的ODI数据集成工具,可以实现大多数异构数据的交换,但数据交换工作均在后台实现,所以实现数据交换过程的监控是提升数据交换管理的一个有效手段。
   1.数据集成的现状
  就高校而言,数据集成工作还处于初级阶段,往往是用户根据需要而将一些分散的数据按照某种形式进行一些简单集成工作,这些集成工作大多都是系统之间、应用对应用之间以及数据库之间的某个表的映射[2],随着高校应用系统的日益增加,这些看视简单的集成关系往往没有起到推进作用,相反却制约着信息化的发展。
  所以,集成、整合校园内众多应用系统内的所有数据,其中包括已有的和即将开发的应用系统,使用户能够得到一个统一的应用环境,统一的服务界面,这是实现信息化校园的一个关键问题[3]。数据交换平台的建设是整个信息化校园建设中的重中之重,它将从整体上对信息化校园的建设工作给予规划和指导;在功能上完成不同系统之间的数据交换[4];在管理上减少管理人员的工作量,因此数据交换平台在信息化校园建设中显得尤为重要。
   2.ODI和ODI的工作原理
  2.1 ODI
  ODI是Oracle公司在2006年10月收购Sunopsis公司后,整合Sunopsis Active Integration Platform而推出的一款E-LT(Extraction- Loading Transformation)数据集成工具,与传统的ETL(Extraction Transformation Loading)工具不同之处在于,ODI在实施数据交换时提供了设计方法,以便更好地实施系统间的无缝集成和实时集成。
  2.2 ODI的工作原理
  ODI可以完成对大多数异构数据源的集成工作。ODI提供了调用 web service的机制,同时ODI的接口也可以暴露为web service组件,从而可以和SOA环境进行交互[5]。
  ODI里有100多个KM(知识模块),ODI把数据抽取和数据订阅的实现过程详细的记录到KM中,KM可以使用Jython脚本语言和SQL语句编辑完成。相对于用户来说更为方便,有些集成工作用户可以直接利用KM来完成数据交换的工作,当然KM也可由用户单独编辑,同时这些可热插拔的知识模块,增加了ODI的灵活性和可扩展性[6]。
  ODI的知识模块主要分为几个大类(RKM,CKM,LKM,IKM,SKM),本项目主要应用的是LKM(load KM)、IKM(Integration KM)和SKM(Service KM):
  RKM:对数据源的数据结构和目标数据的数据结构的捕捉,建立一种数据模型,形成映射关系。
  CKM:对数据源进行质量检查。
  JKM日志记录知识模块,记录表或视图等中的新数据和更新的数据。
  LKM:将数据源的数据加载到ODI系统库的临时表中。
  LKM:将ODI系统库临时表中的数据加载到目标数据库中。
  SKM:ODI和WEB服务接口。
   3.系统设计与实现
  3.1整体设计
  根据需求分析,数据交换平台在结构上可以分为一下几个部分组成,其关系图如图1所示。其中监控模块是数据交换过程的Web展示。
  图1数据交换平台关系图
  3.2监控管理模块的设计
  监控管理模块是利用ODI的系统库,针对数据交换平台的管理人员开发的管理模块,该模块能对数据交换平台所交换的数据提供更直观的展示,并且能及时、准确的提供异常数据,方便平台管理员管理和维护。该模块根据功能可以分为:集成信息服务展示、运行状态监控、异常管理、集成数据统计、系统管理等五个子模块,系统总体功能结构图如图2所示。
  图2监控模块功能图
  集成信息展示能为管理员提供,在数据集成过程中涉及的所有项目、子项目、流程等信息,包括创建用户、创建时间以及最近修改用户和修改时间。
  集成数据统计将集成的所有项目、子项目、包、接口等信息以图表的形式作出展示,用户可以根据条件进行查询,并能展示在集成过程中所有增量和删除数据的比例以及集成数据数量的趋势。
  运行监视提供所有任务的运行状态和执行时间,ODI执行过程中把任务的执行时间表示为一个个Agent,在后台中用Agent控制任务的启动和停止。
  异常管理将ODI集成过程中的经常出现的抛出异常信息展示出来,利用消息提醒和邮件的方式提示网络管理员。同时建立一个知识库将这些错误信息和处理办法进行统计,以方便其他管理员进行管理。
  用户管理是针对不同部门的管理员提供访问权限。
  3.3监控管理模块的实现
  为了提高开发速度和开发效率,提高代码的可重用性和可维护性,降低系统的耦合度,系统采用了JSF+Spring+Hibernate +Webservice为开发框架。主要技术应用关系图如下图3所示。
  图3主要技术应用关系图
  ODI数据集成工具主要负责业务数据库和共享数据库中数据抽取和数据订阅。Hibernate主要完成对数据库的操作,Hibernate通过JDBC实现与底层关系数据库的交互,这里的数据库指的是ODI系统库。Sring负责处理用户请求的业务逻辑,提供业务模型组件,业务模型组件通过调用DAO(数据访问对象)操纵数据库,完成业务逻辑。IOC还提供事物处理、缓冲池等容器组件,提升系统性能,保证数据完整性。Web Service作为通用Web调用接口,负责客户端与服务应用组件的通信[7]。
   4.系统测试
  模拟一些数据,将数据的抽取和数据的订阅的过程进行测试,把业务库到共享库的集成看做是数据抽取,把共享库到业务库的集成看做是数据订阅,结果表明可以进行数据交换,同时监控平台对数据集成的信息的抓取和对异常信息的捕获也是准确、无误,基本实现了功能需求。
   5.总结
  数据交换平台是信息化校园中的核心组成部分,是信息化校园中信息传输和交换枢纽。通过数据交换平台的建设将全校的数据进行清洗、整合和统一存放,即完成了全校范围内的信息共享,为数据的查询、分析奠定了基础,又保留了各业务系统原有数据库,保证了各业务系统的完整性。
  【参考文献】
  [1]孔存金.数字化校园共享数据中心建设研究[D].北京:北京大学学位论.
  [2]蒋东兴,陈怀楚,郭大勇.大学资源计划理论探讨与实践[J].教育信息化. 2005(9):4-7.
  [3]王旭,蒋东兴,陈怀楚.大学资源计划的理论与发展[J].教育信息化.2005(11):14-16.
  [4]肖麒.数据交换平台技术在校园管理中的应用[D].江苏:浙江大学学位论文,2009.
  [5]Oracle.Oracle Hyperion Data Relationship Management[EB/OL].[2011-4-28].http://www.省略/us/solutions/ent-performance-bi/data-relationship-management.html.
  [6]Oracle.The Oracle Data Integrator Enterprise Edition Configuration files[P].2008.
  [7]Paul M.An introduction to Web Services.BT Technology Journal,2004,(22):9-18.

文秘写作 期刊发表