吕忠亭,张婕,张庭姣
(延安职业技术学院1.网络信息中心;2.士官学院;3.电子信息工程系,陕西 延安 716000)
随着云计算、大数据、物联网、5G等信息技术在教育领域的深入应用,教育信息化带来的工作便捷和效率提升被人们广泛接受,各大高校、高职院校越来越重视信息化建设。尤其是自2015 年教育部办公厅印发《高等职业院校内部质量保证体系诊断与改进指导方案(试行)》(教职成司函〔2015〕168号)文件和2018年教育部发布《教育信息化2.0行动计划》以来,高职院校在教育信息化建设方面投入了大量经费,取得了可观的成绩。信息化业务系统、智慧校园基础平台、大数据分析系统等纷纷得以建设,很大程度上推动了智慧校园的演进进程。然而,各业务部门基本上都建设有1~2个甚至更多的业务系统,有些业务系统建设较早,犹如“烟囱”矗立,形成“信息孤岛”“数据壁垒”,造成数据无法流通、共享和利用[1-2]。数据流通、共享和利用问题一直是常谈的话题,也一直是高职院校信息化建设的顽疾和痛点,严重制约了信息化发展进程[3]。因此,全面开展信息系统集成,实现数据流通、共享已刻不容缓。
随着智慧校园建设的全面开展,各业务系统被广泛使用,系统之间的交互越来越多,各业务部门对数据的需求也越发明显。因此,如何将分散的信息资源和应用资源进行整合,实现各业务系统之间数据的互联互通、高效共享已成为现代智慧校园建设的关键[4]。目前,解决数据流通、共享较为有效的方法是建设共享数据中心。共享数据中心可以把重要的、通用的业务数据统一存储到一个数据库中,向其他业务系统提供准确的、一致的数据[5]。这样既可以减少重复数据的收集,又可以减轻工作量和减少费用,便于数据在各个部门之间有效流通、共享和利用。大多数高职院校基本上已完成数据标准、智慧校园基础平台、共享数据中心建设,采用ETL 工具、shell 脚本进行业务系统的简单集成,实现了基础数据和通用数据的统一采集、存储与推送。但是,ETL 工具、shell 脚本只能对数据做简单的抽取、转换和加载,操作过程繁琐、复杂,对技术员要求较高,存在一定的技术壁垒,不能真正实现数据的高效流通与共享。为此,本文提出采用ODI技术实现业务系统集成的解决方案。
ODI(Oracle Data Integrator)是一款由Oracle公司推出的数据集成工具,可实现数据的抽取、转化与推送[6]。
ODI 是基于元数据管理的,整个架构围绕ODI 模型资料库设计,客户端通过图形模型和执行代理来访问ODI 模型资料库。资料库安装在数据库一个用户里,存储元数据信息。客户操作图形模型包括四个组件:设计器(Designer)、操作器(Operator)、拓扑管理器(Topology Manager)和安全管理器(Security Manager),如图1 所示。其中,设计器(Designer)用于定义数据转换和数据一致性的规则以及数据的过滤条件,是整个ODI 的核心组件,所有的数据设计工作都在这个Designer模型中完成,数据库里的数据对象和ODI 存储对象关系的元数据都在这里进行导入和定义。操作器(Operator)用于监控生产数据处理过程。这个模型主要提供给数据处理人员,并且提供执行日志、过程处理行数、错误代码、执行统计信息、实际执行代码等。拓扑管理器(Topology Manager)用于定义ODI 与数据库的链接串,在ODI 中定义物理和逻辑结构。安全管理器(Security Manager)用于控制ODI 的用户权限管理,定义用户的概要文件和访问权限,同时给对象分配相应的权限。
ODI 还提出了知识模块(Knowledge Module)的概念,主要分为RKM、CKM、LKM、IKM 和SKM 五个大类,最重要的是LKM(load KM)、IKM(Integration KM)和RKM(Reverse KM)。其中,RKM用于从源系统和目标系统数据结构的反向工程来形成数据模型的功能;CKM用于数据质量检查;JKM为日志记录知识模块,捕获单个表或视图等中的新数据和更新数据,从而完成数据的实时同步;LKM用于将源数据库数据加载到临时表;IKM用于将临时表的数据集成到目标表;SKM(Service KM)为Web服务知识模块,可以使用该知识模块来生成Web服务调用。
ODI不仅支持异构数据、实时数据集成环境,而且在数据抽取集成过程中可以与SOA 集成,支持CDC,被广泛地应用于业务系统集成和数据融合领域。
依托现有VMware 集群环境,新建一台虚拟服务器,开机挂载Windows Server 2008 R2 64 位镜像文件,安装ODI和PLSQL工具软件,使其成为ODI服务器。配置IPV4地址信息并调试网络,实现与人事、科研等系统数据库、共享数据中心数据库互通。
教师基础信息来源于人事系统,是其他所有业务系统人事数据的源头。基于ODI 技术的业务系统集成主要包括两部分:Get 接口和Post 接口集成。Get 接口为上行接口,主要完成数据的抽取。Post 接口为下行接口,主要完成数据的推送。本文以人事系统和科研系统与共享数据中心的集成为例,采用ODI 技术实现教师基本信息的抽取,统一存储到共享数据中心,再由共享数据中心推送至科研系统,进而实现应用系统集成,基础数据的共享与统一。
3.2.1 Get接口设计
Get接口主要完成人事系统教师基本信息数据的抽取,存储到共享数据中心对应数据表中,创建过程如下:
3.2.1.1 物理体系结构创建
根据数据库类型创建数据服务器,填写人事系统数据库用户名和密码,用JDBC 工具完成连接测试。测试通过后,创建物理方案,并完成数据服务器关联。
3.2.1.2 逻辑体系结构创建
根据数据库类型创建逻辑方案,关联已创建好的物理方案。
3.2.1.3 模型创建
创建模型文件夹,命名为应用系统名称到共享数据中心名称,如MOD_RSDB_TO_GXZXDB,完成表和视图的逆向工程,这样可以将业务系统中的表和视图一对一映射到共享数据中心对应数据库。
3.2.1.4 接口创建
创建Get接口文件夹,命名为应用系统名称。在文件夹目录下创建接口,选择模型中对应的表或视图进行拖拽,应用系统为源,共享数据中心为目标,完成对应数据表字段的一一映射关系,并设置“源集属性”LKM和“目标属性”IKM属性设置。源表LKM选择器可选择“LKM SQL to Oracle”和“LKM SQL to SQL”(不含有照片等大文本),如果含有大文本,请选择“LKM SQL to SQL BLOB (JYTHON)”和“LKM SQL to SQL CLOB(JYTHON)”。目标表IKM选择器可选择“IKM Oracle Incremental Update”和“IKM SQL Incremental Update”(不含有日期字段),如果含有日期字段,请选择“IKM Oracle Incremental Update_UI”和“IKM SQL Incremental Update_UI”。
3.2.2 Post接口设计
Post接口主要完成共享数据中心抽取到的人事系统教师基本信息数据向其他业务系统数据库的推送。Post 接口创建过程与Get 接口基本一样,不同的是,Get 接口为上行接口,源为应用系统数据库,目标为共享数据中心数据库。而Post接口为下行接口,源为共享数据中心数据库,目标为应用系统数据库。创建接口时注意源表与目标表的选择及相应接口的命名即可。
3.2.3 Get/Post接口调度设计
调度是为了让接口在规定时间内定时执行。在应用系统文件夹目录下,新建程序包,并将所有Get接口拖拽至“图表”空白处,完成接口连接,设置为无论接口执行成功与否均执行下一个接口。对程序包进行场景生成,可根据应用系统之间具体需求设定调度执行粒度,完毕后对物理体系结构下get_agent代理进行更新调度操作。
Post 接口调度设计与Get 接口完全一致,只需将物理体系结构下的代理设置为post_agent即可。
人事系统数据库类型为Microsoft SQL Server,教师基本信息表为STUSERALL,对应共享数据中心库中T_JZG 表。科研系统数据库类型为Microsoft SQL Server,教师基本信息表为RS_HRJC_PERSON,对应共享数据中心库中T_JZG表,所有字段均一一映射。在ODI中,利用JDBC工具分别连接人事和科研系统数据库,测试结果如图2、图3所示:
以作者基本信息为例,已经事先在人事系统数据库中录入,如图4所示。
图4 人事系统数据库数据查询结果
执行Get 接口进行数据的抽取,执行Post 接口进行数据推送。Get 接口执行成功后,在共享数据中心数据库中通过执行SQL 语句select * from USR_ZSJ.T_JZG where xm = ′吕忠亭′来验证,如图5所示。
图5 共享数据中心数据库数据查询结果
Post接口执行成功后,在科研系统数据库中通过执行SQL语句select * from RDSYSEDUV81108142.dbo.RS_HRJC_PERSON where name = ′吕忠亭′来验证,如图6所示。
图6 科研系统数据库数据查询结果
通过图5 和图6 可以看出,数据成功地从人事系统抽取到了共享数据中心,并由共享数据中心推送至了科研系统。因此,实验证明了应用系统对接是成功的。当然,本文只是以教师基础信息接口为例,采用ODI 技术实现了应用系统的对接。该方法还可以推广至其他数据接口、其他业务系统间的集成。
应用系统间数据流通、共享和利用是高职院校智慧校园建设面临的难题,较为有效的解决办法是建立共享数据中心。然而,如何高效地实现应用系统间数据集成是关键。本文在对比传统集成技术的基础上,提出基于ODI 技术的集成方案,以人事系统、科研系统和共享数据中心的集成为例,设计了Get 接口和Post 接口,并用实验成功地实现了教师基础数据的抽取与推送,证明了该方法的有效性。
随着智慧校园建设的不断推进,必将有更高效、更便捷的集成技术被提出,用于指导智慧校园建设,而蓬勃发展的相关技术也将为智慧校园的建设与升级提供更多的可能性。