楊斌


摘要:本文運用SOA面向服務(wù)的架構(gòu)理念,采用WebService技術(shù)實現(xiàn)了高校信息系統(tǒng)數(shù)據(jù)交互。將各個系統(tǒng)數(shù)據(jù)抽象為服務(wù)對象,每個系統(tǒng)只需建設(shè)一次WebService服務(wù)即可滿足后續(xù)數(shù)據(jù)對接。對接系統(tǒng)也無需了解所需數(shù)據(jù)來源與結(jié)構(gòu),只需閱讀WebService菜單調(diào)用相關(guān)服務(wù)即可。通過此架構(gòu)可完成高校多信息系統(tǒng)數(shù)據(jù)交互統(tǒng)一規(guī)劃管理要求,無需建立大型數(shù)據(jù)中心庫,無形中減省了高校資源。
關(guān)鍵詞:數(shù)據(jù)交互;SOA;WebService
中圖分類號:G434 文獻標(biāo)識碼:A 論文編號:1674-2117(2015)12-0106-03
引言
隨著教育信息化建設(shè)的逐步推進,各高校擁有的信息系統(tǒng)數(shù)量日漸增多,并且各個系統(tǒng)建設(shè)時間不一、使用技術(shù)不一、管理部門不一,系統(tǒng)與系統(tǒng)之間相對獨立,需要數(shù)據(jù)交互時往往以底層數(shù)據(jù)庫的數(shù)據(jù)推送來完成,沒有頂層設(shè)計架構(gòu),導(dǎo)致系統(tǒng)與系統(tǒng)之間關(guān)系越來越錯綜復(fù)雜,無法高效地協(xié)同運行,也為高校后續(xù)的信息化發(fā)展增加了難度。
現(xiàn)狀與解決方法
1.現(xiàn)狀
現(xiàn)階段多數(shù)高校在信息化系統(tǒng)建設(shè)方面缺乏研發(fā)能力,基本通過建設(shè)項目,或直接購買相對成熟的信息系統(tǒng),或以社會公司的技術(shù)力量開發(fā)個性化信息系統(tǒng)。這直接導(dǎo)致高校的信息化系統(tǒng)與社會公司捆綁,一個系統(tǒng)或多個系統(tǒng)背后代表一家公司的利益,建設(shè)后期的升級、維護往往被公司牽制。而其中系統(tǒng)數(shù)據(jù)對接要求是大數(shù)據(jù)時代下不可避免的,也往往會與兩家甚至多家公司進行牽扯,是大數(shù)據(jù)時代下高校教育信息化建設(shè)中的難點。
2.解決方法
現(xiàn)今多信息系統(tǒng)間的數(shù)據(jù)交互主要有4種設(shè)計架構(gòu),分別為面向數(shù)據(jù)的交互模式、面向接口的交互模式、面向業(yè)務(wù)流程的交換模式與面向Web服務(wù)的交換模式。[1]其技術(shù)實現(xiàn)方法主要有:設(shè)計中間件、建立數(shù)據(jù)中心庫、建立數(shù)據(jù)接口[2]等。其中中間件最為人熟知的是阿里巴巴的Cobar,將阿里的前端與后端分離,但是中間件開發(fā)成本較高,不利于高校后期維護。
部分大型高校擁有一定的研發(fā)能力,會分別成立數(shù)據(jù)中心部門,建立大型的數(shù)據(jù)中心庫[3],即用面向數(shù)據(jù)的交互模式解決高校信息系統(tǒng)交互。具體來講就是為將本校所有信息系統(tǒng)數(shù)據(jù)抽取到數(shù)據(jù)中心庫中,進行數(shù)據(jù)解構(gòu)重組,建立對象、關(guān)系、索引,再由數(shù)據(jù)中心庫傳遞給需要數(shù)據(jù)的各個信息系統(tǒng)。這樣每個系統(tǒng)只需建立一次數(shù)據(jù)推送、接受的操作,可以做到交互統(tǒng)一規(guī)劃,數(shù)據(jù)統(tǒng)一維護,同時利于大數(shù)據(jù)時代下的大數(shù)據(jù)挖掘分析。研發(fā)維護能力更強的高校已經(jīng)將全校信息系統(tǒng)虛擬化后,統(tǒng)一置于數(shù)據(jù)中心部門管理。[4]但是這樣的數(shù)據(jù)中心部門建設(shè)成本較高,維護任務(wù)較重,部分高校不具備這樣的人力物力,若全部利用社會公司力量建立數(shù)據(jù)中心庫,一旦公司發(fā)生意外,出現(xiàn)問題可能導(dǎo)致全校所有相關(guān)信息系統(tǒng)癱瘓,責(zé)任重大。同時數(shù)據(jù)中心與各個系統(tǒng)使用部門脫離,只能對數(shù)據(jù)形式進行維護,無法對數(shù)據(jù)內(nèi)容的正確性進行有效辨認,如果數(shù)據(jù)內(nèi)容有錯誤,則需要部門間逐層檢查,較為麻煩。而基于SOA的多信息系統(tǒng)數(shù)據(jù)交互架構(gòu),其本質(zhì)為面向Web服務(wù)信息系統(tǒng)的交互模式,為沒有能力或還未籌劃建立數(shù)據(jù)中心的高校提供了另一種多信息系統(tǒng)數(shù)據(jù)交互解決方式,同時也為大數(shù)據(jù)分析建立了基礎(chǔ)。
基于SOA的高校信息系統(tǒng)數(shù)據(jù)交互架構(gòu)
1.交互架構(gòu)概述
此架構(gòu)將數(shù)據(jù)中心部門從原有的數(shù)據(jù)管采用SOA框架整合為現(xiàn)有教學(xué)的各個系統(tǒng),主要依據(jù)面向服務(wù)的架構(gòu)思想,在系統(tǒng)間搭建了一層統(tǒng)一的WebService數(shù)據(jù)接口[5],將每個系統(tǒng)自身所產(chǎn)生的數(shù)據(jù)抽象為一個個服務(wù),負責(zé)何種功能提供何種服務(wù),如教務(wù)系統(tǒng)主要負責(zé)學(xué)生成績、學(xué)生選課、教師排課等功能就提供成績查詢、選課查詢、課表查詢服務(wù)。而數(shù)據(jù)需求系統(tǒng)會進入WebService菜單調(diào)用菜單中對應(yīng)的服務(wù),進行數(shù)據(jù)獲取。整體架構(gòu)如圖1所示,各個信息系統(tǒng)及其服務(wù)由相應(yīng)部門建設(shè)并維護,數(shù)據(jù)中心部門不管理其具體內(nèi)容,只架設(shè)一臺WebService服務(wù)器,其上主要實現(xiàn)兩項功能:一是錄入全校所有信息系統(tǒng)所提供的服務(wù),并分類收藏,建立WebService菜單;二是記錄全校各個信息系統(tǒng)獲取的服務(wù)權(quán)限,并進行身份認證管理。WebService菜單中的服務(wù)內(nèi)容主要包括:服務(wù)簡介、服務(wù)ID、服務(wù)調(diào)用參數(shù)、服務(wù)返回XML格式、服務(wù)調(diào)用權(quán)限等信息。WebService服務(wù)器在完成信息系統(tǒng)身份認證后也只是將其請求依據(jù)菜單所錄發(fā)送到對應(yīng)服務(wù)的服務(wù)器中,而非本地運算,大大分擔(dān)了數(shù)據(jù)中心部門的服務(wù)器壓力,節(jié)省了高校建設(shè)資源。
實現(xiàn)服務(wù)管理及信息系統(tǒng)身份管理,只需將WebService菜單作為全校信息系統(tǒng)數(shù)據(jù)獲取的統(tǒng)一出口,對所有系統(tǒng)開放,適當(dāng)對已有或預(yù)建信息系統(tǒng)服務(wù)進行協(xié)調(diào),即可達到全校信息系統(tǒng)數(shù)據(jù)交互的統(tǒng)一管理。在大大減輕了數(shù)據(jù)中心部門工作量的同時可以將更多的人力物力投入到數(shù)據(jù)分析系統(tǒng)中,為高校在大數(shù)據(jù)時代下的信息化建設(shè)提供基礎(chǔ)。
2.WebService服務(wù)
為方便介紹,下面以本校課堂教學(xué)反饋系統(tǒng)等相關(guān)系統(tǒng)交互為例。
服務(wù)的提供方提供按照統(tǒng)一標(biāo)準(zhǔn)盡量將自身系統(tǒng)所產(chǎn)生的所有數(shù)據(jù)抽象為服務(wù),非自身數(shù)據(jù)則忽略,以免造成服務(wù)重疊,如課堂教學(xué)反饋系統(tǒng)中的班級、學(xué)生、教師數(shù)據(jù)。在設(shè)計服務(wù)時建立詳盡的子服務(wù),但無須考慮具體使用系統(tǒng)的數(shù)據(jù)內(nèi)容要求,只需在每一項子服務(wù)中將相關(guān)所有數(shù)據(jù)打包,由使用系統(tǒng)獲取數(shù)據(jù)后自行篩選。WebService服務(wù)數(shù)據(jù)以XML的形式存在,可以跨越任何平臺,也無須考慮使用系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)要求。建立WebService服務(wù)后將相應(yīng)的IP地址、權(quán)限、服務(wù)詳細說明提交至WebService服務(wù)器,形成WebService菜單,即可使后續(xù)系統(tǒng)自行調(diào)用服務(wù)。
3.WebService服務(wù)調(diào)用
現(xiàn)有的信息系統(tǒng)一般需要獲取多個其他系統(tǒng)數(shù)據(jù)才能良好運行,如我校課堂教學(xué)反饋系統(tǒng)需要的選課信息、班級信息、學(xué)生與教師信息,分別來自教務(wù)系統(tǒng)、學(xué)工系統(tǒng)、人事系統(tǒng)。當(dāng)然,教務(wù)系統(tǒng)也可以從課堂教學(xué)反饋系統(tǒng)中獲取學(xué)生的課間成績以完善學(xué)生成績綜合評定。按傳統(tǒng)的底層數(shù)據(jù)庫推送則所有相關(guān)系統(tǒng)至少需要建立五個中間庫進行數(shù)據(jù)對接,如所有系統(tǒng)如前文所述建立統(tǒng)一的WebService服務(wù),并將服務(wù)錄入到WebService菜單中,這些系統(tǒng)間的數(shù)據(jù)交互將變得簡單、便捷。無須分別找教務(wù)處、學(xué)工部、人事處及其系統(tǒng)所屬公司商談數(shù)據(jù)對接事宜,只需將課堂教學(xué)反饋系統(tǒng)向數(shù)據(jù)中心部門報備并授予系統(tǒng)ID及相應(yīng)調(diào)取服務(wù)權(quán)限,然后查閱WebService菜單,找到相應(yīng)服務(wù),即排課信息查詢、選課信息查詢、班級信息查詢、學(xué)生信息查詢和教師信息查詢,甚至無須關(guān)心這些服務(wù)是由何系統(tǒng)提供的。調(diào)用最接近自己需要的子服務(wù)得到系統(tǒng)運行所需數(shù)據(jù),然后進行數(shù)據(jù)過濾,檢選需要屬性,至于本地是否存儲一份獲取數(shù)據(jù)及同步機制,則由系統(tǒng)建設(shè)方自行決定。出于對各個系統(tǒng)的完整性、安全性考慮,目前本校服務(wù)以信息查詢?yōu)橹?,承?dān)數(shù)據(jù)交互的工作,如特殊情況可以進一步考慮系統(tǒng)間整合,加入系統(tǒng)數(shù)據(jù)同步機制。
具體調(diào)用流程如下頁圖2所示,服務(wù)調(diào)用系統(tǒng)向WebService服務(wù)器發(fā)送系統(tǒng)ID、密碼,查閱相關(guān)服務(wù),再依據(jù)具體子服務(wù)要求傳送參數(shù)調(diào)用子服務(wù),WebService服務(wù)在檢查權(quán)限無誤后將調(diào)用子服務(wù)請求傳遞到提供服務(wù)的服務(wù)器中,該服務(wù)器依據(jù)參數(shù)查詢數(shù)據(jù)并以XML形式返回服務(wù)調(diào)用系統(tǒng),服務(wù)調(diào)用系統(tǒng)在收到XML后,解析并篩選自己所需的數(shù)據(jù),進行利用。以課堂教學(xué)反饋系統(tǒng)查詢班級信息為例,首先教學(xué)反饋系統(tǒng)向WebService服務(wù)器發(fā)送查詢請求,查閱WebService菜單后選擇以班級號查詢班級信息服務(wù)及以班級號查詢學(xué)生信息服務(wù)兩項,將班級號及服務(wù)調(diào)用請求發(fā)送至WebService服務(wù)器,服務(wù)器檢查課堂教學(xué)反饋系統(tǒng)權(quán)限后,依據(jù)菜單所記錄的服務(wù)對應(yīng)IP地址,將服務(wù)調(diào)用請求轉(zhuǎn)發(fā)至教務(wù)系統(tǒng)及學(xué)工系統(tǒng)。教務(wù)系統(tǒng)依據(jù)班級號將班級名、專業(yè)、入學(xué)時間、畢業(yè)時間、類型、所屬二級學(xué)院ID、班主任教工號等信息回傳,學(xué)工系統(tǒng)依據(jù)班級號將該班所有學(xué)生的學(xué)號、姓名、班級、專業(yè)、年齡、性別、籍貫、名族、入學(xué)時間、類型等信息返回。課堂教學(xué)反饋系統(tǒng)將數(shù)據(jù)的屬性依據(jù)需要保存在系統(tǒng)數(shù)據(jù)庫中,方便后期程序直接調(diào)用,增強系統(tǒng)運行效率。
全過程課堂教學(xué)反饋系統(tǒng)無須了解班級信息查詢服務(wù),學(xué)生信息查詢服務(wù)是由何系統(tǒng)提供,學(xué)工系統(tǒng)與教務(wù)系統(tǒng)也無須了解何系統(tǒng)調(diào)用了服務(wù),這大大節(jié)省了系統(tǒng)間建立數(shù)據(jù)交互的步驟與過程。建立WebService菜單及系統(tǒng)身份管理達到類似建立大型數(shù)據(jù)中心庫的功能,統(tǒng)一規(guī)劃及管理全校所有信息系統(tǒng)數(shù)據(jù)交互。
總結(jié)
基于SOA的高校信息系統(tǒng)數(shù)據(jù)交互架構(gòu)以各個系統(tǒng)提供服務(wù)、使用服務(wù)代替?zhèn)鹘y(tǒng)的系統(tǒng)間數(shù)據(jù)對接,從原有點對點定向連接到單點定權(quán)限開放式對接,使每一個信息系統(tǒng)只需要建立一套自身所能提供的服務(wù),就無須再為以后的系統(tǒng)對接事宜不斷修正,而受系統(tǒng)背后的社會公司牽制。同時WebService的跨平臺性不僅適用于原有老系統(tǒng)改建,也不限制后續(xù)新系統(tǒng)的選擇,而XML數(shù)據(jù)形式可以被大部分開發(fā)技術(shù)解析。
相比建立大數(shù)據(jù)庫統(tǒng)一存儲推送的解決方法,其具有減輕數(shù)據(jù)中心本身工作量的優(yōu)勢,只需統(tǒng)籌所有服務(wù)及管理各個系統(tǒng)的權(quán)限,為人力物力較緊張的高校提供了另外一種管理全校信息系統(tǒng)交互的方式。并且因為WebService服務(wù)器上并無數(shù)據(jù)存儲,數(shù)據(jù)源只在服務(wù)提供部門的掌握中,保證了數(shù)據(jù)源的唯一性。相比建立大型數(shù)據(jù)中心庫推送所獲取的數(shù)據(jù)是經(jīng)過數(shù)據(jù)中心加工過的,通過服務(wù)調(diào)用獲取數(shù)據(jù)具有更高的安全性與可靠性,即使一部分服務(wù)出現(xiàn)問題,也只是影響這部分服務(wù)相關(guān)的系統(tǒng),各個系統(tǒng)所屬部門責(zé)任亦更加明晰。
參考文獻:
[1]吳淑瑋,閆訓(xùn)超.信息系統(tǒng)數(shù)據(jù)交換技術(shù)分析[J].計算機系統(tǒng)應(yīng)用,2012,21(4):18-40.
[2]郭靜.基于數(shù)據(jù)交互平臺進行“信息孤島”消除法研究[J].現(xiàn)代電子技術(shù),2013,36(22):53-56.
[3]蘇林忠.基于Oracle的高校數(shù)據(jù)中心建設(shè)方案的研究[J].河南師范大學(xué)學(xué)報(自然科學(xué)版),2011,39(4):138-141.
[4]連淑娟.基于VMware的高校數(shù)據(jù)中心應(yīng)用研究[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2014(10):141-142.
[5]胡君.基于SOA的高校教務(wù)管理系統(tǒng)與在線考試系統(tǒng)接口模型設(shè)計[J].電腦與信息技術(shù),2012,20(1):47-49.