劉永亮,張衛(wèi)紅
(1.海軍工程大學(xué)教育技術(shù)中心,武漢,430033; 2.海軍工程大學(xué)管理工程系,武漢,430033)
數(shù)字校園中的數(shù)據(jù)交換平臺(tái)設(shè)計(jì)
劉永亮1,張衛(wèi)紅2
(1.海軍工程大學(xué)教育技術(shù)中心,武漢,430033; 2.海軍工程大學(xué)管理工程系,武漢,430033)
數(shù)字化校園建設(shè)是一個(gè)復(fù)雜的系統(tǒng)工程,面對(duì)的一個(gè)現(xiàn)實(shí)問(wèn)題就是需要在不同業(yè)務(wù)系統(tǒng)之間實(shí)現(xiàn)數(shù)據(jù)集成與交換。本文基于海軍工程大學(xué)網(wǎng)絡(luò)綜合應(yīng)用平臺(tái)項(xiàng)目的建設(shè)經(jīng)驗(yàn),提出了數(shù)字校園數(shù)據(jù)交換平臺(tái)的體系結(jié)構(gòu),并對(duì)應(yīng)用適配器、數(shù)據(jù)交換引擎、Web服務(wù)器等關(guān)鍵技術(shù)進(jìn)行了設(shè)計(jì)和實(shí)現(xiàn)。
數(shù)據(jù)交換;數(shù)字校園;SOA架構(gòu)
Abstract:Digital Campus Construction is a complex systems engineering. One of the practical problems to be faced is that it needs to implement Data Integration and Switching among different businesses. Based on the construction experience from the Integrated Application Platform Project of the Naval University, this paper proposed the Architecture of the Digital Campus Data Switching Platform, and then designed and implemented the key technologies including Application Adaptor, Data Switching Engine and Web Server etc.
Key words:Data Switching; Digital Campus; SOA Architecture
在數(shù)字校園建設(shè)過(guò)程中,必然會(huì)面臨的一類(lèi)問(wèn)題是:學(xué)校不同部門(mén)間已經(jīng)存在異構(gòu)的業(yè)務(wù)系統(tǒng),其數(shù)據(jù)組織和存儲(chǔ)結(jié)構(gòu)各不相同,且彼此獨(dú)立,不能直接共享數(shù)據(jù),形成“信息孤島”。因此,必須采用一種新的技術(shù),來(lái)解決不同數(shù)據(jù)源、不同格式的數(shù)據(jù)交換問(wèn)題,即建立數(shù)字校園軟件體系的基礎(chǔ)平臺(tái)——數(shù)據(jù)交換平臺(tái)。通過(guò)數(shù)據(jù)交換平臺(tái),各業(yè)務(wù)系統(tǒng)可以直接提供并獲取共享數(shù)據(jù),從而解決“信息孤島”問(wèn)題。
數(shù)據(jù)交換平臺(tái)是數(shù)字校園的核心技術(shù)支撐平臺(tái),是整個(gè)系統(tǒng)的信息傳輸、信息交換總線。通過(guò)數(shù)據(jù)交換平臺(tái)將各業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫(kù)中需要集成的數(shù)據(jù)自動(dòng)上傳到數(shù)據(jù)中心的基礎(chǔ)數(shù)據(jù)庫(kù)中,并按各業(yè)務(wù)系統(tǒng)的訂閱需求將共享數(shù)據(jù)分發(fā)到各業(yè)務(wù)系統(tǒng),從而實(shí)現(xiàn)數(shù)據(jù)的統(tǒng)一集成和標(biāo)準(zhǔn)化,為提供數(shù)據(jù)的綜合查詢(xún)、統(tǒng)計(jì)分析奠定數(shù)據(jù)基礎(chǔ)。同時(shí),保留各業(yè)務(wù)系統(tǒng)的原有數(shù)據(jù)庫(kù),又確保了各業(yè)務(wù)系統(tǒng)的完整性。
數(shù)據(jù)交換平臺(tái)的設(shè)計(jì)目標(biāo)是在基礎(chǔ)共享數(shù)據(jù)庫(kù)和各業(yè)務(wù)系統(tǒng)之間進(jìn)行交換數(shù)據(jù),提供一致的可擴(kuò)展的數(shù)據(jù)交換模式,從而實(shí)現(xiàn)全校異構(gòu)數(shù)據(jù)的集成。
數(shù)據(jù)交換平臺(tái)的設(shè)計(jì)還應(yīng)依據(jù)以下幾條具體原則:
1.遵循統(tǒng)一的數(shù)據(jù)交換標(biāo)準(zhǔn)
數(shù)據(jù)交換平臺(tái)的目的是在數(shù)據(jù)中心和各業(yè)務(wù)部門(mén)等原有業(yè)務(wù)系統(tǒng)之間交換數(shù)據(jù)。由于各原有系統(tǒng)的技術(shù)構(gòu)架不同,信息的表示也各不相同。要在這些不同的系統(tǒng)之間交換數(shù)據(jù),首要的問(wèn)題就是定義一種標(biāo)準(zhǔn)的數(shù)據(jù)格式及數(shù)據(jù)交換的規(guī)范,以方便實(shí)現(xiàn)不同硬件平臺(tái)、不同操作系統(tǒng)平臺(tái)、不同語(yǔ)言平臺(tái)應(yīng)用之間的平滑通信。
2.支持異構(gòu)系統(tǒng)、異構(gòu)數(shù)據(jù)庫(kù)的交互及數(shù)據(jù)存取
數(shù)據(jù)交換首先涉及到如何與各級(jí)部門(mén)、各異構(gòu)系統(tǒng)及其異構(gòu)數(shù)據(jù)庫(kù)進(jìn)行交互,實(shí)現(xiàn)數(shù)據(jù)的存取,能夠?qū)Ω骷?jí)部門(mén)、各業(yè)務(wù)系統(tǒng)的數(shù)據(jù)庫(kù)定義數(shù)據(jù)抽取規(guī)則,從而實(shí)現(xiàn)自動(dòng)地從各級(jí)部門(mén)的數(shù)據(jù)庫(kù)或相應(yīng)業(yè)務(wù)系統(tǒng)中抽取共享數(shù)據(jù)庫(kù)所需的數(shù)據(jù)。
數(shù)據(jù)存取的需求具體可歸納為:
(1)支持多種異構(gòu)數(shù)據(jù)庫(kù),如勝流的關(guān)系型數(shù)據(jù)庫(kù)包括: Oracle、SQLServer、DB2、Sybase等;
(2)支持多種虛擬文件系統(tǒng),并可定制開(kāi)發(fā)擴(kuò)展;
(3) 能夠集成各種異構(gòu)的業(yè)務(wù)系統(tǒng),通過(guò)接口實(shí)現(xiàn)與應(yīng)用的交互,完成數(shù)據(jù)的存取,如Webservice接口、文本型數(shù)據(jù)庫(kù)接口等。
3.支持靈活的數(shù)據(jù)交換方式,支持跨平臺(tái)、跨多種網(wǎng)絡(luò)模式的分布式數(shù)據(jù)交換
根據(jù)不同部門(mén)的情況,對(duì)于不同類(lèi)型的數(shù)據(jù)有不同的更新要求,可分別靈活采取多種數(shù)據(jù)上傳的方式,比如,對(duì)于信息變更頻繁的數(shù)據(jù),能夠?qū)崿F(xiàn)實(shí)時(shí)更新;而對(duì)校園中變動(dòng)不是很頻繁的數(shù)據(jù),如人事數(shù)據(jù)、設(shè)備數(shù)據(jù),則實(shí)現(xiàn)定時(shí)更新,如可定義每日上傳一次,或每周一次。對(duì)于數(shù)據(jù)上傳的時(shí)間,也可靈活定義,如為了避開(kāi)網(wǎng)絡(luò)高峰,減少對(duì)系統(tǒng)的影響,可定義在晚間及凌晨等系統(tǒng)和網(wǎng)絡(luò)均比較“空閑”的時(shí)候來(lái)進(jìn)行數(shù)據(jù)的同步。
4. 能夠?qū)粨Q數(shù)據(jù)進(jìn)行驗(yàn)證和質(zhì)量控制
平臺(tái)需要能夠適應(yīng)各系統(tǒng)數(shù)據(jù)內(nèi)容和格式的變化,提供可視化的轉(zhuǎn)換配置界面,并實(shí)現(xiàn)各系統(tǒng)數(shù)據(jù)與中心標(biāo)準(zhǔn)數(shù)據(jù)之間靈活的轉(zhuǎn)換,能夠根據(jù)一定的規(guī)則,進(jìn)行數(shù)據(jù)驗(yàn)證,驗(yàn)證數(shù)據(jù)是否符合入庫(kù)要求,提供完善的日志,支持對(duì)敏感數(shù)據(jù)進(jìn)行加密傳輸?shù)取?/p>
數(shù)據(jù)交換平臺(tái)在數(shù)字校園體系之中處于支撐核心地位,需要交換應(yīng)用系統(tǒng)中的數(shù)據(jù)。數(shù)據(jù)交換平臺(tái)總體上包括4個(gè)部分:應(yīng)用適配器、數(shù)據(jù)交換引擎、Web服務(wù)器和安全管理體系。體系結(jié)構(gòu)如圖1。
圖2 適配器模型
數(shù)據(jù)交換引擎是集成不同應(yīng)用系統(tǒng)的基礎(chǔ)。通過(guò)數(shù)據(jù)交換引擎,不同應(yīng)用系統(tǒng)之間形成松耦合連接,實(shí)現(xiàn)信息轉(zhuǎn)換和信息訂閱/發(fā)布等功能。應(yīng)用適配器系統(tǒng)是指可以與具體應(yīng)用系統(tǒng)便捷連接的模塊化軟件,主要解決應(yīng)用系統(tǒng)與數(shù)據(jù)交換引擎之間的連接與信息交換等問(wèn)題,實(shí)現(xiàn)數(shù)據(jù)的提取、加密等功能。Web服務(wù)器存儲(chǔ)數(shù)據(jù)交換過(guò)程中的各種數(shù)據(jù)模式,并管理數(shù)據(jù)交換平臺(tái)向綜合應(yīng)用層所能提供的Web服務(wù)。安全管理體系是指將安全貫穿于數(shù)據(jù)交換平臺(tái)的研究和設(shè)計(jì)當(dāng)中,并管理數(shù)據(jù)交換平臺(tái)的日志、異常檢測(cè)等功能,建立安全可靠的數(shù)據(jù)交換,保證安全的數(shù)據(jù)傳輸,輔助數(shù)據(jù)交換的正常運(yùn)行。
4.1 應(yīng)用適配器設(shè)計(jì)
應(yīng)用適配器的設(shè)計(jì)是基于客戶(hù)端/服務(wù)器(C/S)模式的,業(yè)務(wù)端相當(dāng)于客戶(hù)端,服務(wù)器端是在適配器中實(shí)現(xiàn)的,數(shù)據(jù)庫(kù)的訪問(wèn)過(guò)程是通過(guò)客戶(hù)端和服務(wù)器間交互操作來(lái)實(shí)現(xiàn)的,客戶(hù)端向服務(wù)器端發(fā)送數(shù)據(jù)訪問(wèn)請(qǐng)求,服務(wù)器接受請(qǐng)求并通過(guò)調(diào)用數(shù)據(jù)庫(kù)訪問(wèn)接口完成請(qǐng)求處理,并將處理結(jié)果返回客戶(hù)端。適配器的實(shí)現(xiàn)原理如圖2所示。
我們?cè)O(shè)計(jì)了3層的適配器模型,分別為數(shù)據(jù)層、功能層、表示層。
數(shù)據(jù)層主要實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)管理,一般由后臺(tái)數(shù)據(jù)庫(kù)系統(tǒng)實(shí)現(xiàn),存儲(chǔ)的數(shù)據(jù)可以由各種數(shù)據(jù)源構(gòu)成。目前海軍工程大學(xué)主要為Oracle和SQL 2005兩類(lèi)數(shù)據(jù)庫(kù),包括人員基礎(chǔ)信息數(shù)據(jù)庫(kù)、一卡通基礎(chǔ)數(shù)據(jù)庫(kù)、以及各類(lèi)業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫(kù)。
功能層通過(guò).NET平臺(tái)ADO.NET與數(shù)據(jù)庫(kù)建立連接,實(shí)現(xiàn)數(shù)據(jù)的訪問(wèn)和操作,并將數(shù)據(jù)通過(guò)XML生成器轉(zhuǎn)換為XML文檔,利用XML開(kāi)放的、基于文本的格式,可以將它通過(guò)HTTP像HTML一樣傳送并實(shí)現(xiàn)系統(tǒng)的業(yè)務(wù)規(guī)則,同時(shí)完成對(duì)XML格式數(shù)據(jù)的處理。
表示層接收XML描述的數(shù)據(jù),能夠用多種方式進(jìn)行顯示。XML定義的數(shù)據(jù)其顯示與內(nèi)容是分開(kāi)的,因此允許對(duì)同一數(shù)據(jù)指定不同的顯示方式,使數(shù)據(jù)更合理地表現(xiàn)出來(lái)。
4.2 數(shù)據(jù)交換引擎設(shè)計(jì)
數(shù)據(jù)交換引擎相當(dāng)于一個(gè)信息總線,各種應(yīng)用系統(tǒng)通過(guò)適配器接入數(shù)據(jù)交換引擎,在此完成數(shù)據(jù)的轉(zhuǎn)換和傳輸?shù)裙δ堋?/p>
作為數(shù)據(jù)交換引擎的工作基礎(chǔ),首先必須制定數(shù)據(jù)交換平臺(tái)的信息存儲(chǔ)標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)包括基礎(chǔ)編碼標(biāo)準(zhǔn)及各類(lèi)應(yīng)用信息的數(shù)據(jù)格式標(biāo)準(zhǔn)兩大類(lèi)。建立數(shù)據(jù)交換平臺(tái)數(shù)據(jù)存儲(chǔ)標(biāo)準(zhǔn)的目的是建立異構(gòu)系統(tǒng)數(shù)據(jù)交換的中間標(biāo)準(zhǔn),數(shù)據(jù)交換平臺(tái)以標(biāo)準(zhǔn)定義的基礎(chǔ)編碼及數(shù)據(jù)格式存儲(chǔ)數(shù)據(jù)。在進(jìn)行數(shù)據(jù)交換時(shí),需要在平臺(tái)存儲(chǔ)的標(biāo)準(zhǔn)數(shù)據(jù)與數(shù)字校園應(yīng)用系統(tǒng)的數(shù)據(jù)之間進(jìn)行數(shù)據(jù)轉(zhuǎn)換。
圖3 數(shù)據(jù)交換引擎工作原理
為實(shí)現(xiàn)上述數(shù)據(jù)轉(zhuǎn)換,在每個(gè)數(shù)字校園應(yīng)用系統(tǒng)接入數(shù)據(jù)交換平臺(tái)時(shí),首先需要進(jìn)行數(shù)據(jù)映射配置,即針對(duì)每一種基礎(chǔ)編碼及應(yīng)用信息,進(jìn)行應(yīng)用系統(tǒng)現(xiàn)有基礎(chǔ)編碼及數(shù)據(jù)格式與平臺(tái)標(biāo)準(zhǔn)的基礎(chǔ)編碼與數(shù)據(jù)格式之間的映射關(guān)系設(shè)置。數(shù)據(jù)交換引擎工作原理如圖3。
由數(shù)據(jù)交換引擎工作原理圖可以看到,引擎的數(shù)據(jù)處理流程如下:
1.接收作為信息發(fā)送方的應(yīng)用系統(tǒng)信息經(jīng)應(yīng)用適配器上傳到數(shù)據(jù)交換平臺(tái)的數(shù)據(jù);
2.根據(jù)針對(duì)信息發(fā)送方應(yīng)用系統(tǒng)的相關(guān)數(shù)據(jù)映射配置信息,將接收到的數(shù)據(jù)轉(zhuǎn)換為基于平臺(tái)數(shù)據(jù)存儲(chǔ)標(biāo)準(zhǔn)的數(shù)據(jù);
3.將轉(zhuǎn)換后的數(shù)據(jù)存儲(chǔ)到平臺(tái)的標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)中;
4.根據(jù)平臺(tái)已設(shè)置的數(shù)據(jù)推送方式,啟動(dòng)數(shù)據(jù)推送;
5.從平臺(tái)的標(biāo)準(zhǔn)數(shù)據(jù)庫(kù)中讀取需要推送的數(shù)據(jù),根據(jù)針對(duì)信息接收方業(yè)務(wù)信息系統(tǒng)的相關(guān)數(shù)據(jù)映射配置信息,對(duì)基于平臺(tái)存儲(chǔ)標(biāo)準(zhǔn)的數(shù)據(jù)進(jìn)行數(shù)據(jù)格式及基礎(chǔ)編碼轉(zhuǎn)換;
6.將轉(zhuǎn)換后的數(shù)據(jù)經(jīng)Web服務(wù)器推送到信息接收方業(yè)務(wù)信息系統(tǒng)中。
數(shù)據(jù)上傳和推送接口均采用WebService技術(shù)實(shí)現(xiàn)。WebService是目前被廣泛使用的一項(xiàng)功能強(qiáng)大、技術(shù)成熟的分布式應(yīng)用技術(shù),具有良好的技術(shù)開(kāi)放性及互操作性,支持跨操作系統(tǒng)、跨開(kāi)發(fā)平臺(tái)、跨編程語(yǔ)言的分布式應(yīng)用開(kāi)發(fā)。
4.3 Web服務(wù)器的設(shè)計(jì)
Web服務(wù)器用來(lái)管理數(shù)據(jù)交換平臺(tái)所能提供給各個(gè)業(yè)務(wù)端的所有服務(wù)。數(shù)據(jù)交換平臺(tái)和業(yè)務(wù)端通過(guò)SOAP協(xié)議交互。適配器與業(yè)務(wù)端數(shù)據(jù)源之間的連接需要數(shù)據(jù)庫(kù)連接服務(wù)、關(guān)系數(shù)據(jù)庫(kù)與XML文檔轉(zhuǎn)換服務(wù)等,應(yīng)用適配器所含的若干個(gè)組件以及數(shù)據(jù)交換引擎對(duì)外提供的信息也都屬于Web服務(wù),需要Web服務(wù)器來(lái)協(xié)調(diào)和管理。
Web服務(wù)器對(duì)服務(wù)的管理包括發(fā)布服務(wù)、服務(wù)請(qǐng)求、服務(wù)查找等。服務(wù)發(fā)布者將數(shù)據(jù)交換平臺(tái)某個(gè)組件所能提供的服務(wù)發(fā)布到注冊(cè)中心。服務(wù)請(qǐng)求者需要某個(gè)服務(wù)時(shí),通過(guò)服務(wù)代理系統(tǒng)的搜索引擎在注冊(cè)中心查找服務(wù),發(fā)現(xiàn)該服務(wù)后響應(yīng)服務(wù)請(qǐng)求者。
Web服務(wù)器采用SOA (Service-oriented architecture,面向服務(wù)的架構(gòu))技術(shù),通過(guò)將系統(tǒng)的各組件單元進(jìn)行服務(wù)封裝,并定義服務(wù)間的接口和契約構(gòu)建整個(gè)系統(tǒng)。通過(guò)應(yīng)用SOA架構(gòu),可實(shí)現(xiàn)平臺(tái)系統(tǒng)各組件間的松耦合,提高系統(tǒng)的可復(fù)用性及可擴(kuò)展性。
本文所述的數(shù)字校園數(shù)據(jù)交換平臺(tái)是海軍工程大學(xué)近兩年來(lái)數(shù)字化校園建設(shè)實(shí)踐的總結(jié)。數(shù)據(jù)交換平臺(tái)作為數(shù)字化校園基礎(chǔ)支撐平臺(tái),有效地消除了校園“信息孤島”,保留了學(xué)校之前應(yīng)用系統(tǒng)建設(shè)的投資。目前海軍工程大學(xué)的“網(wǎng)絡(luò)綜合應(yīng)用平臺(tái)”正成為數(shù)字化校園軟件體系的核心,為今后的建設(shè)打下了很好的基礎(chǔ)。
[1] 茅維華等. 校園信息化關(guān)鍵技術(shù)平臺(tái)之研究與實(shí)踐 [J],中山大學(xué)學(xué)報(bào)(自然科學(xué)版)2009(Vol 48):326-328.
[2] 汪清清,王茜,李小平.網(wǎng)絡(luò)環(huán)境下數(shù)據(jù)交換方案的設(shè)計(jì)與實(shí)現(xiàn).東南大學(xué)學(xué)報(bào)(自然科學(xué)版),2007,37(4):599-604.
[3] Sanjeev Kumar,Vijay Dakshinamoorthy,Krishnan M S. Does SOA improve the supply chain? An empirical analysis of the impact of SOA adoption on electronic supply chain performance [C]. USA:Proceedings of the 40th Hawaii International Conference on System Sciences,2007.
[4] 曹曉葉,王知衍,許曉偉,等.基于SOA的企業(yè)應(yīng)用集成研究與應(yīng)用[J].微計(jì)算機(jī)信息,2007,12:16-18.