呂忠亭,張婕,張庭姣
(延安職業(yè)技術(shù)學(xué)院1.網(wǎng)絡(luò)信息中心;2.士官學(xué)院;3.電子信息工程系,陜西 延安 716000)
隨著云計(jì)算、大數(shù)據(jù)、物聯(lián)網(wǎng)、5G等信息技術(shù)在教育領(lǐng)域的深入應(yīng)用,教育信息化帶來(lái)的工作便捷和效率提升被人們廣泛接受,各大高校、高職院校越來(lái)越重視信息化建設(shè)。尤其是自2015 年教育部辦公廳印發(fā)《高等職業(yè)院校內(nèi)部質(zhì)量保證體系診斷與改進(jìn)指導(dǎo)方案(試行)》(教職成司函〔2015〕168號(hào))文件和2018年教育部發(fā)布《教育信息化2.0行動(dòng)計(jì)劃》以來(lái),高職院校在教育信息化建設(shè)方面投入了大量經(jīng)費(fèi),取得了可觀的成績(jī)。信息化業(yè)務(wù)系統(tǒng)、智慧校園基礎(chǔ)平臺(tái)、大數(shù)據(jù)分析系統(tǒng)等紛紛得以建設(shè),很大程度上推動(dòng)了智慧校園的演進(jìn)進(jìn)程。然而,各業(yè)務(wù)部門(mén)基本上都建設(shè)有1~2個(gè)甚至更多的業(yè)務(wù)系統(tǒng),有些業(yè)務(wù)系統(tǒng)建設(shè)較早,猶如“煙囪”矗立,形成“信息孤島”“數(shù)據(jù)壁壘”,造成數(shù)據(jù)無(wú)法流通、共享和利用[1-2]。數(shù)據(jù)流通、共享和利用問(wèn)題一直是常談的話題,也一直是高職院校信息化建設(shè)的頑疾和痛點(diǎn),嚴(yán)重制約了信息化發(fā)展進(jìn)程[3]。因此,全面開(kāi)展信息系統(tǒng)集成,實(shí)現(xiàn)數(shù)據(jù)流通、共享已刻不容緩。
隨著智慧校園建設(shè)的全面開(kāi)展,各業(yè)務(wù)系統(tǒng)被廣泛使用,系統(tǒng)之間的交互越來(lái)越多,各業(yè)務(wù)部門(mén)對(duì)數(shù)據(jù)的需求也越發(fā)明顯。因此,如何將分散的信息資源和應(yīng)用資源進(jìn)行整合,實(shí)現(xiàn)各業(yè)務(wù)系統(tǒng)之間數(shù)據(jù)的互聯(lián)互通、高效共享已成為現(xiàn)代智慧校園建設(shè)的關(guān)鍵[4]。目前,解決數(shù)據(jù)流通、共享較為有效的方法是建設(shè)共享數(shù)據(jù)中心。共享數(shù)據(jù)中心可以把重要的、通用的業(yè)務(wù)數(shù)據(jù)統(tǒng)一存儲(chǔ)到一個(gè)數(shù)據(jù)庫(kù)中,向其他業(yè)務(wù)系統(tǒng)提供準(zhǔn)確的、一致的數(shù)據(jù)[5]。這樣既可以減少重復(fù)數(shù)據(jù)的收集,又可以減輕工作量和減少費(fèi)用,便于數(shù)據(jù)在各個(gè)部門(mén)之間有效流通、共享和利用。大多數(shù)高職院?;旧弦淹瓿蓴?shù)據(jù)標(biāo)準(zhǔn)、智慧校園基礎(chǔ)平臺(tái)、共享數(shù)據(jù)中心建設(shè),采用ETL 工具、shell 腳本進(jìn)行業(yè)務(wù)系統(tǒng)的簡(jiǎn)單集成,實(shí)現(xiàn)了基礎(chǔ)數(shù)據(jù)和通用數(shù)據(jù)的統(tǒng)一采集、存儲(chǔ)與推送。但是,ETL 工具、shell 腳本只能對(duì)數(shù)據(jù)做簡(jiǎn)單的抽取、轉(zhuǎn)換和加載,操作過(guò)程繁瑣、復(fù)雜,對(duì)技術(shù)員要求較高,存在一定的技術(shù)壁壘,不能真正實(shí)現(xiàn)數(shù)據(jù)的高效流通與共享。為此,本文提出采用ODI技術(shù)實(shí)現(xiàn)業(yè)務(wù)系統(tǒng)集成的解決方案。
ODI(Oracle Data Integrator)是一款由Oracle公司推出的數(shù)據(jù)集成工具,可實(shí)現(xiàn)數(shù)據(jù)的抽取、轉(zhuǎn)化與推送[6]。
ODI 是基于元數(shù)據(jù)管理的,整個(gè)架構(gòu)圍繞ODI 模型資料庫(kù)設(shè)計(jì),客戶端通過(guò)圖形模型和執(zhí)行代理來(lái)訪問(wèn)ODI 模型資料庫(kù)。資料庫(kù)安裝在數(shù)據(jù)庫(kù)一個(gè)用戶里,存儲(chǔ)元數(shù)據(jù)信息。客戶操作圖形模型包括四個(gè)組件:設(shè)計(jì)器(Designer)、操作器(Operator)、拓?fù)涔芾砥鳎═opology Manager)和安全管理器(Security Manager),如圖1 所示。其中,設(shè)計(jì)器(Designer)用于定義數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)一致性的規(guī)則以及數(shù)據(jù)的過(guò)濾條件,是整個(gè)ODI 的核心組件,所有的數(shù)據(jù)設(shè)計(jì)工作都在這個(gè)Designer模型中完成,數(shù)據(jù)庫(kù)里的數(shù)據(jù)對(duì)象和ODI 存儲(chǔ)對(duì)象關(guān)系的元數(shù)據(jù)都在這里進(jìn)行導(dǎo)入和定義。操作器(Operator)用于監(jiān)控生產(chǎn)數(shù)據(jù)處理過(guò)程。這個(gè)模型主要提供給數(shù)據(jù)處理人員,并且提供執(zhí)行日志、過(guò)程處理行數(shù)、錯(cuò)誤代碼、執(zhí)行統(tǒng)計(jì)信息、實(shí)際執(zhí)行代碼等。拓?fù)涔芾砥鳎═opology Manager)用于定義ODI 與數(shù)據(jù)庫(kù)的鏈接串,在ODI 中定義物理和邏輯結(jié)構(gòu)。安全管理器(Security Manager)用于控制ODI 的用戶權(quán)限管理,定義用戶的概要文件和訪問(wèn)權(quán)限,同時(shí)給對(duì)象分配相應(yīng)的權(quán)限。
ODI 還提出了知識(shí)模塊(Knowledge Module)的概念,主要分為RKM、CKM、LKM、IKM 和SKM 五個(gè)大類,最重要的是LKM(load KM)、IKM(Integration KM)和RKM(Reverse KM)。其中,RKM用于從源系統(tǒng)和目標(biāo)系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的反向工程來(lái)形成數(shù)據(jù)模型的功能;CKM用于數(shù)據(jù)質(zhì)量檢查;JKM為日志記錄知識(shí)模塊,捕獲單個(gè)表或視圖等中的新數(shù)據(jù)和更新數(shù)據(jù),從而完成數(shù)據(jù)的實(shí)時(shí)同步;LKM用于將源數(shù)據(jù)庫(kù)數(shù)據(jù)加載到臨時(shí)表;IKM用于將臨時(shí)表的數(shù)據(jù)集成到目標(biāo)表;SKM(Service KM)為Web服務(wù)知識(shí)模塊,可以使用該知識(shí)模塊來(lái)生成Web服務(wù)調(diào)用。
ODI不僅支持異構(gòu)數(shù)據(jù)、實(shí)時(shí)數(shù)據(jù)集成環(huán)境,而且在數(shù)據(jù)抽取集成過(guò)程中可以與SOA 集成,支持CDC,被廣泛地應(yīng)用于業(yè)務(wù)系統(tǒng)集成和數(shù)據(jù)融合領(lǐng)域。
依托現(xiàn)有VMware 集群環(huán)境,新建一臺(tái)虛擬服務(wù)器,開(kāi)機(jī)掛載Windows Server 2008 R2 64 位鏡像文件,安裝ODI和PLSQL工具軟件,使其成為ODI服務(wù)器。配置IPV4地址信息并調(diào)試網(wǎng)絡(luò),實(shí)現(xiàn)與人事、科研等系統(tǒng)數(shù)據(jù)庫(kù)、共享數(shù)據(jù)中心數(shù)據(jù)庫(kù)互通。
教師基礎(chǔ)信息來(lái)源于人事系統(tǒng),是其他所有業(yè)務(wù)系統(tǒng)人事數(shù)據(jù)的源頭?;贠DI 技術(shù)的業(yè)務(wù)系統(tǒng)集成主要包括兩部分:Get 接口和Post 接口集成。Get 接口為上行接口,主要完成數(shù)據(jù)的抽取。Post 接口為下行接口,主要完成數(shù)據(jù)的推送。本文以人事系統(tǒng)和科研系統(tǒng)與共享數(shù)據(jù)中心的集成為例,采用ODI 技術(shù)實(shí)現(xiàn)教師基本信息的抽取,統(tǒng)一存儲(chǔ)到共享數(shù)據(jù)中心,再由共享數(shù)據(jù)中心推送至科研系統(tǒng),進(jìn)而實(shí)現(xiàn)應(yīng)用系統(tǒng)集成,基礎(chǔ)數(shù)據(jù)的共享與統(tǒng)一。
3.2.1 Get接口設(shè)計(jì)
Get接口主要完成人事系統(tǒng)教師基本信息數(shù)據(jù)的抽取,存儲(chǔ)到共享數(shù)據(jù)中心對(duì)應(yīng)數(shù)據(jù)表中,創(chuàng)建過(guò)程如下:
3.2.1.1 物理體系結(jié)構(gòu)創(chuàng)建
根據(jù)數(shù)據(jù)庫(kù)類型創(chuàng)建數(shù)據(jù)服務(wù)器,填寫(xiě)人事系統(tǒng)數(shù)據(jù)庫(kù)用戶名和密碼,用JDBC 工具完成連接測(cè)試。測(cè)試通過(guò)后,創(chuàng)建物理方案,并完成數(shù)據(jù)服務(wù)器關(guān)聯(lián)。
3.2.1.2 邏輯體系結(jié)構(gòu)創(chuàng)建
根據(jù)數(shù)據(jù)庫(kù)類型創(chuàng)建邏輯方案,關(guān)聯(lián)已創(chuàng)建好的物理方案。
3.2.1.3 模型創(chuàng)建
創(chuàng)建模型文件夾,命名為應(yīng)用系統(tǒng)名稱到共享數(shù)據(jù)中心名稱,如MOD_RSDB_TO_GXZXDB,完成表和視圖的逆向工程,這樣可以將業(yè)務(wù)系統(tǒng)中的表和視圖一對(duì)一映射到共享數(shù)據(jù)中心對(duì)應(yīng)數(shù)據(jù)庫(kù)。
3.2.1.4 接口創(chuàng)建
創(chuàng)建Get接口文件夾,命名為應(yīng)用系統(tǒng)名稱。在文件夾目錄下創(chuàng)建接口,選擇模型中對(duì)應(yīng)的表或視圖進(jìn)行拖拽,應(yīng)用系統(tǒng)為源,共享數(shù)據(jù)中心為目標(biāo),完成對(duì)應(yīng)數(shù)據(jù)表字段的一一映射關(guān)系,并設(shè)置“源集屬性”LKM和“目標(biāo)屬性”IKM屬性設(shè)置。源表LKM選擇器可選擇“LKM SQL to Oracle”和“LKM SQL to SQL”(不含有照片等大文本),如果含有大文本,請(qǐng)選擇“LKM SQL to SQL BLOB (JYTHON)”和“LKM SQL to SQL CLOB(JYTHON)”。目標(biāo)表IKM選擇器可選擇“IKM Oracle Incremental Update”和“IKM SQL Incremental Update”(不含有日期字段),如果含有日期字段,請(qǐng)選擇“IKM Oracle Incremental Update_UI”和“IKM SQL Incremental Update_UI”。
3.2.2 Post接口設(shè)計(jì)
Post接口主要完成共享數(shù)據(jù)中心抽取到的人事系統(tǒng)教師基本信息數(shù)據(jù)向其他業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫(kù)的推送。Post 接口創(chuàng)建過(guò)程與Get 接口基本一樣,不同的是,Get 接口為上行接口,源為應(yīng)用系統(tǒng)數(shù)據(jù)庫(kù),目標(biāo)為共享數(shù)據(jù)中心數(shù)據(jù)庫(kù)。而Post接口為下行接口,源為共享數(shù)據(jù)中心數(shù)據(jù)庫(kù),目標(biāo)為應(yīng)用系統(tǒng)數(shù)據(jù)庫(kù)。創(chuàng)建接口時(shí)注意源表與目標(biāo)表的選擇及相應(yīng)接口的命名即可。
3.2.3 Get/Post接口調(diào)度設(shè)計(jì)
調(diào)度是為了讓接口在規(guī)定時(shí)間內(nèi)定時(shí)執(zhí)行。在應(yīng)用系統(tǒng)文件夾目錄下,新建程序包,并將所有Get接口拖拽至“圖表”空白處,完成接口連接,設(shè)置為無(wú)論接口執(zhí)行成功與否均執(zhí)行下一個(gè)接口。對(duì)程序包進(jìn)行場(chǎng)景生成,可根據(jù)應(yīng)用系統(tǒng)之間具體需求設(shè)定調(diào)度執(zhí)行粒度,完畢后對(duì)物理體系結(jié)構(gòu)下get_agent代理進(jìn)行更新調(diào)度操作。
Post 接口調(diào)度設(shè)計(jì)與Get 接口完全一致,只需將物理體系結(jié)構(gòu)下的代理設(shè)置為post_agent即可。
人事系統(tǒng)數(shù)據(jù)庫(kù)類型為Microsoft SQL Server,教師基本信息表為STUSERALL,對(duì)應(yīng)共享數(shù)據(jù)中心庫(kù)中T_JZG 表??蒲邢到y(tǒng)數(shù)據(jù)庫(kù)類型為Microsoft SQL Server,教師基本信息表為RS_HRJC_PERSON,對(duì)應(yīng)共享數(shù)據(jù)中心庫(kù)中T_JZG表,所有字段均一一映射。在ODI中,利用JDBC工具分別連接人事和科研系統(tǒng)數(shù)據(jù)庫(kù),測(cè)試結(jié)果如圖2、圖3所示:
以作者基本信息為例,已經(jīng)事先在人事系統(tǒng)數(shù)據(jù)庫(kù)中錄入,如圖4所示。
圖4 人事系統(tǒng)數(shù)據(jù)庫(kù)數(shù)據(jù)查詢結(jié)果
執(zhí)行Get 接口進(jìn)行數(shù)據(jù)的抽取,執(zhí)行Post 接口進(jìn)行數(shù)據(jù)推送。Get 接口執(zhí)行成功后,在共享數(shù)據(jù)中心數(shù)據(jù)庫(kù)中通過(guò)執(zhí)行SQL 語(yǔ)句select * from USR_ZSJ.T_JZG where xm = ′呂忠亭′來(lái)驗(yàn)證,如圖5所示。
圖5 共享數(shù)據(jù)中心數(shù)據(jù)庫(kù)數(shù)據(jù)查詢結(jié)果
Post接口執(zhí)行成功后,在科研系統(tǒng)數(shù)據(jù)庫(kù)中通過(guò)執(zhí)行SQL語(yǔ)句select * from RDSYSEDUV81108142.dbo.RS_HRJC_PERSON where name = ′呂忠亭′來(lái)驗(yàn)證,如圖6所示。
圖6 科研系統(tǒng)數(shù)據(jù)庫(kù)數(shù)據(jù)查詢結(jié)果
通過(guò)圖5 和圖6 可以看出,數(shù)據(jù)成功地從人事系統(tǒng)抽取到了共享數(shù)據(jù)中心,并由共享數(shù)據(jù)中心推送至了科研系統(tǒng)。因此,實(shí)驗(yàn)證明了應(yīng)用系統(tǒng)對(duì)接是成功的。當(dāng)然,本文只是以教師基礎(chǔ)信息接口為例,采用ODI 技術(shù)實(shí)現(xiàn)了應(yīng)用系統(tǒng)的對(duì)接。該方法還可以推廣至其他數(shù)據(jù)接口、其他業(yè)務(wù)系統(tǒng)間的集成。
應(yīng)用系統(tǒng)間數(shù)據(jù)流通、共享和利用是高職院校智慧校園建設(shè)面臨的難題,較為有效的解決辦法是建立共享數(shù)據(jù)中心。然而,如何高效地實(shí)現(xiàn)應(yīng)用系統(tǒng)間數(shù)據(jù)集成是關(guān)鍵。本文在對(duì)比傳統(tǒng)集成技術(shù)的基礎(chǔ)上,提出基于ODI 技術(shù)的集成方案,以人事系統(tǒng)、科研系統(tǒng)和共享數(shù)據(jù)中心的集成為例,設(shè)計(jì)了Get 接口和Post 接口,并用實(shí)驗(yàn)成功地實(shí)現(xiàn)了教師基礎(chǔ)數(shù)據(jù)的抽取與推送,證明了該方法的有效性。
隨著智慧校園建設(shè)的不斷推進(jìn),必將有更高效、更便捷的集成技術(shù)被提出,用于指導(dǎo)智慧校園建設(shè),而蓬勃發(fā)展的相關(guān)技術(shù)也將為智慧校園的建設(shè)與升級(jí)提供更多的可能性。
延安職業(yè)技術(shù)學(xué)院學(xué)報(bào)2023年3期