齊小文
(中州大學(xué)信息管理中心,鄭州 450044)
目前高校電子校務(wù)系統(tǒng)普遍存在著“信息孤島”現(xiàn)象,即各部門同構(gòu)或異構(gòu)系統(tǒng)之間信息流通不暢、數(shù)據(jù)交換困難、資源不能共享等問題。迫切需要設(shè)計(jì)一個(gè)平臺來實(shí)現(xiàn)跨部門、跨系統(tǒng)、跨異構(gòu)數(shù)據(jù)庫的數(shù)據(jù)交換,從而實(shí)現(xiàn)校內(nèi)信息暢通和資源共享,進(jìn)而實(shí)現(xiàn)高校之間的信息交流和共享,為校領(lǐng)導(dǎo)管理、決策和師生大眾提供信息支持與服務(wù)。為此,設(shè)計(jì)的數(shù)據(jù)交換平臺要采用統(tǒng)一的數(shù)據(jù)交換標(biāo)準(zhǔn),能規(guī)范溝通相關(guān)業(yè)務(wù)系統(tǒng),充分整合不同系統(tǒng)的數(shù)據(jù)信息資源,發(fā)掘其內(nèi)在聯(lián)系和規(guī)律,拓展數(shù)據(jù)資源的分析應(yīng)用,對價(jià)值的信息加以提煉和發(fā)布,從而最大程度發(fā)揮數(shù)據(jù)資源的作用。
數(shù)據(jù)交換平臺將應(yīng)用于各應(yīng)用系統(tǒng)中,涉及的部門多,接入應(yīng)用復(fù)雜,各部門數(shù)據(jù)異構(gòu),而且將來需要為更多的部門提供交換服務(wù),因此數(shù)據(jù)交換平臺的設(shè)計(jì)應(yīng)遵循以下原則:松散耦合、通用性、可靠性、容錯(cuò)性、可擴(kuò)展性、安全性[1,2]。
數(shù)據(jù)交換平臺通過數(shù)據(jù)交換技術(shù)實(shí)現(xiàn)異構(gòu)數(shù)據(jù)的集成,在應(yīng)用集成中將發(fā)揮重要作用。其需要實(shí)現(xiàn)的目標(biāo)有以下幾個(gè)方面:
一是提供一個(gè)基于消息傳輸和處理的應(yīng)用集成框架,可以實(shí)現(xiàn)從一個(gè)系統(tǒng)采集數(shù)據(jù),對數(shù)據(jù)進(jìn)行加工處理,將需要的數(shù)據(jù)提交給另一個(gè)系統(tǒng)使用;二是提供不同系統(tǒng)間的數(shù)據(jù)安全可靠的傳輸,支持不同地域中的應(yīng)用系統(tǒng)的集成,在繼承框架中應(yīng)用系統(tǒng)可以在一個(gè)系統(tǒng)中,也可以分布在不同的地域;三是支持多種數(shù)據(jù)格式 (如普通文本,XML,關(guān)系數(shù)據(jù)庫等),數(shù)據(jù)交換平臺提供數(shù)據(jù)格式轉(zhuǎn)換功能;四是支持簡單的平臺管理事務(wù)功能,提供故障恢復(fù)能力,當(dāng)數(shù)據(jù)處理失敗時(shí),提供重新處理功能;五是提供方便易用的平臺配置工具,降低實(shí)現(xiàn)數(shù)據(jù)交換的工作量[3,4]。
以 XML為通用數(shù)據(jù)模型,可實(shí)現(xiàn)異構(gòu)關(guān)系數(shù)據(jù)庫之間數(shù)據(jù)交換,也為關(guān)系型數(shù)據(jù)庫與其他數(shù)據(jù)結(jié)構(gòu)模式的集成轉(zhuǎn)換提供了便利[5]。
數(shù)據(jù)交換平臺最基本的功能就是能夠完成異構(gòu)數(shù)據(jù)系統(tǒng)之間的數(shù)據(jù)交換,所以一個(gè)數(shù)據(jù)交換平臺,首先起碼應(yīng)該能夠從任意數(shù)據(jù)源按照一定的抽取規(guī)則抽取數(shù)據(jù),然后再按照對應(yīng)的規(guī)則將數(shù)據(jù)插入到目的數(shù)據(jù)庫中。同時(shí)為了構(gòu)建一個(gè)靈活可擴(kuò)充的平臺系統(tǒng),平臺的管理與配置功能是必不可少的;為了保證數(shù)據(jù)的安全性和平臺的安全性,異構(gòu)數(shù)據(jù)庫數(shù)據(jù)交換平臺還應(yīng)該具有一定的安全保護(hù)措施。
圖 1 電子校務(wù)數(shù)據(jù)交換平臺總體架構(gòu)
依照前述原則設(shè)計(jì)高校電子校務(wù)系統(tǒng)數(shù)據(jù)交換平臺的總體架構(gòu)如圖 1所示,該設(shè)計(jì)基本能夠滿足:基于消息傳輸和處理的應(yīng)用集成;提供不同系統(tǒng)間的數(shù)據(jù)安全可靠的傳輸;支持多種數(shù)據(jù)格式之間的無縫轉(zhuǎn)換;支持簡單的平臺管理和必要的安全保障。
在該數(shù)據(jù)交換平臺中,實(shí)現(xiàn)基于 XML的異構(gòu)數(shù)據(jù)交換,采用基于模型驅(qū)動(dòng)的數(shù)據(jù)映射方法,結(jié)合基于緩存的消息機(jī)制,為異構(gòu)系統(tǒng)之間資源共享提供可靠高效的途徑。同時(shí),采用基于角色的權(quán)限訪問模式,設(shè)計(jì)相應(yīng)的安全保護(hù)模塊,為數(shù)據(jù)交換平臺的安全提供必要的安全保障。以之前對該數(shù)據(jù)交換平臺的總體概述為目標(biāo),設(shè)計(jì)其功能模塊如圖 2所示。從圖中可以清晰地看到基于 XML的異構(gòu)數(shù)據(jù)交換平臺主要由以下幾個(gè)部分組成:
1.數(shù)據(jù)交換。主要負(fù)責(zé)在異構(gòu)數(shù)據(jù)交換過程中,實(shí)現(xiàn)XML文檔與關(guān)系數(shù)據(jù)庫之間的數(shù)據(jù)抽取、數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)映射等功能。
2.平臺管理。在數(shù)據(jù)交換平臺中,負(fù)責(zé)日志的管理和維護(hù),數(shù)據(jù)交換、資源的監(jiān)控,以及系統(tǒng)維護(hù)等功能。
3.平臺配置。提供注冊集成、數(shù)據(jù)匹配、文件校驗(yàn)等功能,為數(shù)據(jù)交換平臺的靈活性、可擴(kuò)展性提供支持。
4.安全保障。利用身份認(rèn)證、授權(quán)以及數(shù)據(jù)信息的安全存儲(chǔ)、數(shù)字簽名、加密和安全傳輸?shù)葯C(jī)制,為數(shù)據(jù)交換平臺提供可靠的安全保障。
通用異構(gòu)數(shù)據(jù)庫系統(tǒng)的信息交換,必須有一個(gè)公共數(shù)據(jù)轉(zhuǎn)換模型,將關(guān)系模型映射到該公共數(shù)據(jù)模型,再將公共數(shù)據(jù)模型映射回關(guān)系模型。其數(shù)據(jù)交換原理如圖 3所示。
圖 3 電子校務(wù)系統(tǒng)數(shù)據(jù)交換示意圖
圖 2 電子校務(wù)數(shù)據(jù)交換平臺功能模塊
由于 XML純文本與平臺的無關(guān)性滿足了解決異構(gòu)關(guān)系數(shù)據(jù)源所需要的跨平臺性;XML強(qiáng)大的結(jié)構(gòu)性和良好的語義性滿足了表達(dá)關(guān)系數(shù)據(jù)庫結(jié)構(gòu)和各種約束的需要;XML優(yōu)良的交互性為數(shù)據(jù)轉(zhuǎn)換提供了方便,使得數(shù)據(jù)易于操縱;XML的易于擴(kuò)展性使得應(yīng)用可以進(jìn)一步擴(kuò)展;XML的可格式化讓轉(zhuǎn)換出的結(jié)果有更多的表現(xiàn)形式。并且由于 XML己成為事實(shí)上的數(shù)據(jù)交換標(biāo)準(zhǔn),因此,將 XML作為異構(gòu)數(shù)據(jù)庫轉(zhuǎn)換的公共數(shù)據(jù)模型。
基于 XML的數(shù)據(jù)交換主要完成以下三個(gè)過程。
1.數(shù)據(jù)抽取。數(shù)據(jù)抽取采用增量的抽取方式,即當(dāng)數(shù)據(jù)庫中某一記錄的內(nèi)容修改時(shí)才會(huì)觸發(fā)數(shù)據(jù)抽取,進(jìn)而進(jìn)行數(shù)據(jù)庫內(nèi)容到 XML文件數(shù)據(jù)的轉(zhuǎn)換。
2.數(shù)據(jù)轉(zhuǎn)換。數(shù)據(jù)抽取完成后,調(diào)用數(shù)據(jù)轉(zhuǎn)換核心模塊,根據(jù)源數(shù)據(jù)分別按數(shù)據(jù)類型和數(shù)據(jù)格式的轉(zhuǎn)換形成XML格式文檔,完成向 XML數(shù)據(jù)格式的轉(zhuǎn)換。
3.數(shù)據(jù)映射。要實(shí)現(xiàn)基于 XML數(shù)據(jù)轉(zhuǎn)換,也就是需要實(shí)現(xiàn)從 XML到關(guān)系型數(shù)據(jù)庫的雙向模式轉(zhuǎn)換。
此外,數(shù)據(jù)交換平臺中的數(shù)據(jù)適配器主要用于連接各種異構(gòu)數(shù)據(jù)源 (包括 XML文件、部門私有格式文件、關(guān)系數(shù)據(jù)庫等),針對每種不同數(shù)據(jù)源的需要開發(fā)不同的數(shù)據(jù)適配器(數(shù)據(jù)庫適配器、文件適配器),通過這些適配器可以獲取數(shù)據(jù)源中用于交換的數(shù)據(jù)信息并將其轉(zhuǎn)化成 XML格式文檔,把 XML文檔轉(zhuǎn)換到目標(biāo)數(shù)據(jù)源中。
數(shù)據(jù)庫適配器允許直接對數(shù)據(jù)庫進(jìn)行訪問。通過數(shù)據(jù)庫適配器,可以直接從數(shù)據(jù)庫中獲取需要的數(shù)據(jù),并把數(shù)據(jù)轉(zhuǎn)換為一條消息放到消息隊(duì)列中去,或者從消息隊(duì)列中獲取消息之后,通過數(shù)據(jù)庫適配器直接把消息解析成數(shù)據(jù)轉(zhuǎn)換到數(shù)據(jù)庫相應(yīng)的表中。
根據(jù)用戶需求的不同,系統(tǒng)配置也要進(jìn)行相應(yīng)改變。通過靈活地修改系統(tǒng)方案配置,可以滿足不同用戶的應(yīng)用需求。平臺配置模塊結(jié)構(gòu)如圖 4所示。
圖 4 平臺配置模塊結(jié)構(gòu)
1.注冊集成。配置各個(gè)需要集成的應(yīng)用系統(tǒng),將配置信息按照統(tǒng)一格式寫入 XML文檔中。
2.數(shù)據(jù)匹配。當(dāng)傳輸?shù)臄?shù)據(jù)中包含其它表的數(shù)據(jù)信息時(shí),配置數(shù)據(jù)匹配規(guī)則,完成數(shù)據(jù)的轉(zhuǎn)換。
3.輔助信息配置。針對特定的外部系統(tǒng)、特定的單據(jù)或特定的接收系統(tǒng),通過輔助信息配置模塊在數(shù)據(jù)交換平臺中進(jìn)行統(tǒng)一配置。
4.校驗(yàn)文件配置。定義數(shù)據(jù)校驗(yàn)規(guī)則,修正因?yàn)閿?shù)據(jù)規(guī)則變更而引起的數(shù)據(jù)導(dǎo)入錯(cuò)誤,成功導(dǎo)入數(shù)據(jù),實(shí)現(xiàn)各個(gè)版本的良好兼容。
平臺管理是指對在數(shù)據(jù)交換平臺的日常運(yùn)行進(jìn)行相應(yīng)的維護(hù)和管理,包括日志管理、交換監(jiān)控、資源監(jiān)控、系統(tǒng)維護(hù)等模塊。模塊結(jié)構(gòu)如圖 5所示。
圖 5 平臺管理模塊結(jié)構(gòu)
1.日志管理。管理數(shù)據(jù)報(bào)送和接收的歷史記錄、用戶操作的記錄以及系統(tǒng)故障檔案等。
2.交換監(jiān)控。交換監(jiān)控包括訂閱數(shù)據(jù)監(jiān)控、比對異常監(jiān)控、換入數(shù)據(jù)監(jiān)控和換出數(shù)據(jù)交換四類。
3.資源監(jiān)控。監(jiān)控的資源包括 CPU、內(nèi)存、硬盤三類。
4.系統(tǒng)維護(hù)。系統(tǒng)維護(hù)是指數(shù)據(jù)交換平臺根據(jù)需要對數(shù)據(jù)接收庫進(jìn)行日常維護(hù)和管理。包括數(shù)據(jù)庫清理、數(shù)據(jù)的引入與引出、密鑰管理、索引優(yōu)化等。
[1]彭其華.網(wǎng)絡(luò)環(huán)境下基于 XML的異構(gòu)數(shù)據(jù)交換的研究[J].云南民族大學(xué)學(xué)報(bào),2003,29(6):756-758.
[2]宋譽(yù)德,何棟,梅雪蓮.在 J2EE體系結(jié)構(gòu)上構(gòu)建基于XML的數(shù)據(jù)交換系統(tǒng)[J].小型微型計(jì)算機(jī)系統(tǒng),2004,24(4):778-780.
[3]鄧芳.XML文檔到數(shù)據(jù)庫數(shù)據(jù)轉(zhuǎn)換研究[J].北京郵電大學(xué)學(xué)報(bào),2004,27(1):84-88.
[4]金世雙,程景云.基于 XML的數(shù)據(jù)交換系統(tǒng)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)輔助工程,2003(4):66-69.
[5]Elisa Bertino,Elena Ferrari,Vijay Atluri.The Specification and Enforcementof Authorization Constraints in Workflow Management Systems[J].ACM Transactions on Information and System Securit,1999(2):65-104.