蔡利軍 周益飛
[摘 要] 以Web Service替代數(shù)據(jù)集成的數(shù)字離校系統(tǒng),是高校畢業(yè)生離校工作的迫切需求。本文以本科畢業(yè)生的數(shù)字化離校工作為背景,介紹了武漢大學基于Web Service的數(shù)字離校系統(tǒng)設計理念及系統(tǒng)實現(xiàn),并重點描述了系統(tǒng)建設過程中的特色解決方案。
[關鍵詞] 數(shù)字離校;數(shù)據(jù)集成;Web Service
doi : 10 . 3969 / j . issn . 1673 - 0194 . 2018. 05. 062
[中圖分類號] G647;TP311.52 [文獻標識碼] A [文章編號] 1673 - 0194(2018)05- 0146- 04
0 引 言
作為全國最大的高校之一,武漢大學每年有近8 000本科生畢業(yè)離校,雖然畢業(yè)生離校工作已經采用在線系統(tǒng)辦理,離校系統(tǒng)通過數(shù)據(jù)集成平臺的支持,從不同業(yè)務系統(tǒng)中抽取業(yè)務數(shù)據(jù),實時將各個業(yè)務系統(tǒng)、業(yè)務信息集成到離校系統(tǒng)中。但系統(tǒng)同步各業(yè)務部門的數(shù)據(jù)十分頻繁,離校峰值期間也不堪重負,經常導致數(shù)據(jù)更新不及時。因此,如何提升畢業(yè)生數(shù)字離校的效率和體驗是一個亟待解決的問題。隨著武漢大學數(shù)字化校園建設的推進,信息化水平持續(xù)提高,各個業(yè)務部門的應用系統(tǒng)上線運行,建設數(shù)字離校系統(tǒng)的新思路就是基于Web Service來替代數(shù)據(jù)集成,并采用更適合高并發(fā)業(yè)務的平臺,下面就為大家介紹武漢大學數(shù)字離校系統(tǒng)的設計與實現(xiàn)。
武漢大學畢業(yè)生離校工作涉及財務部、圖書館、水電中心及各學院等多個部門,以往使用Oracle的 ODI集成工具完成各業(yè)務系統(tǒng)數(shù)據(jù)的集成。ODI(Oracle Data Integrator),是Oracle公司推出的異構數(shù)據(jù)遷移工具,通過一致性對不同數(shù)據(jù)源的變化數(shù)據(jù)捕獲,從而完成近乎實時的數(shù)據(jù)集成工作。由于使用了中間共享庫與業(yè)務雙向聯(lián)系的方式,因此從數(shù)據(jù)源創(chuàng)建到流向最終的數(shù)據(jù)使用信息系統(tǒng),整個數(shù)據(jù)信息的流轉過程一般需要2個小時才能夠完成,在目前武漢大學的數(shù)據(jù)集成系統(tǒng)中,總共有幾百個同步Agent在進行數(shù)據(jù)的同步工作,一般的數(shù)據(jù)同步間隔為每小時一次,對于部分實時性要求高的數(shù)據(jù)則根據(jù)實際業(yè)務需要達到分鐘級同步。采用數(shù)據(jù)集成的方式有很多問題和缺陷,根據(jù)往年畢業(yè)生的相關數(shù)據(jù)統(tǒng)計,我們發(fā)現(xiàn)僅有不到5%的畢業(yè)生在畢業(yè)前存在欠費的現(xiàn)象,而超過95%的畢業(yè)生沒有欠費,這種同步所有數(shù)據(jù)方式不僅浪費時間,而且成倍地增加了ODI的工作量,類似的現(xiàn)象在其他離校辦理環(huán)節(jié)也很普遍,最終的結果是造成中心數(shù)據(jù)庫負荷超載,因此我們迫切需要改變這種現(xiàn)狀。基于Web Service的數(shù)字離校系統(tǒng)以調用各業(yè)務系統(tǒng)提供的接口來替代數(shù)據(jù)集成,能夠更有效融合各部門業(yè)務系統(tǒng)的數(shù)據(jù),讓畢業(yè)生能夠在線實時完成離校手續(xù)的辦理,提高畢業(yè)離校手續(xù)的辦理效率,同時提升畢業(yè)生離校體驗。
1 數(shù)字離校系統(tǒng)建設
1.1 數(shù)字離校系統(tǒng)的設計
傳統(tǒng)的數(shù)字離校系統(tǒng)通過共享數(shù)據(jù)庫平臺,利用ODI實現(xiàn)與教務數(shù)據(jù)庫、圖書館數(shù)據(jù)庫、財務數(shù)據(jù)庫及水電中心數(shù)據(jù)庫的數(shù)據(jù)集成。數(shù)字離校系統(tǒng)所需的畢業(yè)生名單抽取自教務數(shù)據(jù)庫,圖書借閱信息抽取自圖書館數(shù)據(jù)庫,學費數(shù)據(jù)抽取自財務數(shù)據(jù)庫,住宿數(shù)據(jù)抽取自宿舍管理系統(tǒng)數(shù)據(jù)庫。
基于Web Service的數(shù)字離校系統(tǒng)架構如圖1所示,系統(tǒng)采用B/S模式,用戶權限分為畢業(yè)生、院系審核員及各級領導。畢業(yè)生通過系統(tǒng)查看各項離校手續(xù)的在線辦理;院系審核員負責最后在線審批畢業(yè)生的離校手續(xù);院系領導可以實時查詢離校手續(xù)辦理的統(tǒng)計數(shù)據(jù),便于相關工作的調整和部署。同時,數(shù)字離校系統(tǒng)通過Web Service接口調用財務、圖書館、住宿、空調卡數(shù)據(jù),最終對涉及畢業(yè)生離校工作的現(xiàn)有業(yè)務系統(tǒng)進行有機整合。
1.2 數(shù)字離校系統(tǒng)的實現(xiàn)
為了使畢業(yè)生能夠自主選擇離校手續(xù)辦理的先后順序,系統(tǒng)將除學院領證外的所有環(huán)節(jié)設計為可并行辦理,系統(tǒng)的流程如下:
(1)繳清費用環(huán)節(jié)主要是確認畢業(yè)生是否欠費,系統(tǒng)中可查看欠費明細:學費、住宿費、學分學費等,如有欠費請到財務部繳清,無欠費系統(tǒng)將自動把本環(huán)節(jié)置為“已辦理”。
(2)如果畢業(yè)生無欠書欠費(研究生還需在圖書館提交論文),該環(huán)節(jié)顯示為“未辦理”。畢業(yè)生在離校系統(tǒng)中自注銷圖書證后,系統(tǒng)將自動把本環(huán)節(jié)置為“已辦理”,如果有欠書欠費情況,需到圖書館或所在院系資料室辦理歸還圖書、繳清欠費等手續(xù)。
(3)空調卡環(huán)節(jié)對于沒有借空調卡的畢業(yè)生,系統(tǒng)將提示無需辦理;而對有的學生則在其歸還空調卡后,由業(yè)務操作人員在空調卡系統(tǒng)中確認其“已通過”,完成空調卡環(huán)節(jié)的手續(xù)辦理。
(4)畢業(yè)生到樓棟管理員處歸還鑰匙(或支付押金)和繳清電費后,可辦理退宿手續(xù)。公寓管理辦的業(yè)務操作人員將離校系統(tǒng)中的該環(huán)節(jié)狀態(tài)置為“已通過”,完成公寓退宿手續(xù)的辦理,未住宿的畢業(yè)生不需辦理此項。
(5)畢業(yè)生在完成前面的所有手續(xù)辦理后,便可到學院領取畢業(yè)相關證書,最終完成畢業(yè)離校手續(xù)的辦理。
上述辦理環(huán)節(jié)在具體實現(xiàn)過程中,全部基于Web Service接口獲取離校數(shù)據(jù)的解決方案,是我校數(shù)字離校系統(tǒng)中最具特色的部分,下面就分別介紹各環(huán)節(jié)調用Web Service接口方式。
2 Web Service接口調用方式
2.1 財務數(shù)據(jù)的“實時”同步
由于高校財務系統(tǒng)屬于相對獨立的系統(tǒng),出于安全的考慮,一般不允許連接外網,也不允許與其他系統(tǒng)集成,因此,離校系統(tǒng)無法直接讀取財務系統(tǒng)數(shù)據(jù)。要確保畢業(yè)生辦理離校手續(xù)的連貫性,就必須保證財務數(shù)據(jù)的實時同步。為了解決因財務系統(tǒng)封閉性而造成的數(shù)據(jù)同步問題,傳統(tǒng)的方案是設置一臺財務前置機作為中轉,以此實現(xiàn)財務數(shù)據(jù)的實時同步。財務前置機數(shù)據(jù)庫與財務數(shù)據(jù)庫采用專用的同步程序,以數(shù)據(jù)庫增量的方式,每60秒進行一次數(shù)據(jù)同步。每次同步完成后,前置機數(shù)據(jù)庫立即將增量數(shù)據(jù)寫入共享數(shù)據(jù)庫。最后共享數(shù)據(jù)庫通過ODI工具,以60秒一次的頻率將更新的財務數(shù)據(jù)同步至離校數(shù)據(jù)庫。為了盡可能達到實時同步的要求,通過Web Service接口直接讀取共享數(shù)據(jù)庫中畢業(yè)生的欠費狀態(tài),在確認無欠費后便可立即辦理后續(xù)離校手續(xù),無需等待,極大地方便了畢業(yè)生。
2.2 圖書館環(huán)節(jié)的在線自主辦理
在傳統(tǒng)離校辦理方式中,圖書館環(huán)節(jié)的通常做法是:由學校劃定統(tǒng)一的截止日期,開啟圖書借閱狀態(tài)查詢,如果沒有欠書欠費則注銷畢業(yè)生的圖書借閱功能,若此截止日期過早,部分仍有借閱需求的畢業(yè)生將失去借閱機會;而若截止日期過晚,部分需要提前離校的學生又無法辦理圖書館離校手續(xù)。為了解決這個問題,我們在離校系統(tǒng)的圖書館環(huán)節(jié)設計了一個人性化的解決方案。圖書館系統(tǒng)可提供Web Service系統(tǒng)接口,允許授權的系統(tǒng)利用該接口來查詢和改變圖書館系統(tǒng)中的用戶狀態(tài),因此,離校系統(tǒng)就通過該接口與圖書館系統(tǒng)實現(xiàn)系統(tǒng)集成。該接口的調用參數(shù)為畢業(yè)生學號,接口返回的數(shù)據(jù)包括借閱狀態(tài)code(正常或已注銷)和message(欠書欠費信息)。
調用接口地址為:http://apps.lib.whu.edu.cn/aleph/bor_check.asp?bor_id=XXXXXXXX
參數(shù)id為學號,返回值為JSON對象,示例{"code":"0","message":"303_2:狀態(tài)正常,已辦理圖書館離校手續(xù)。"}
其中code為返回值,message為說明信息,code值有如下類別:
0: 狀態(tài)正常,已辦理圖書館離校手續(xù)。
1: 狀態(tài)正常,但還未辦理圖書館離校手續(xù)(可以到圖書館或網上自助辦理圖書館離校手續(xù))。
2:存在欠費/欠書以及其他限制情況,不能辦理圖書館離校手續(xù)。
3: 論文未提交, 不能辦理圖書館離校手續(xù)。
-1:證號錯誤。
-2:IP地址不在調用范圍內。
-3:其他系統(tǒng)錯誤。
畢業(yè)生可直接在離校系統(tǒng)中關閉圖書借閱功能,完成圖書館手續(xù)的辦理,且可在一個較長的時間段內自由選擇辦理時間。當畢業(yè)生在離校系統(tǒng)中進行圖書館手續(xù)的辦理時,離校系統(tǒng)通過Web Service接口查詢圖書館系統(tǒng)中該畢業(yè)生的狀態(tài),若查詢到存在欠費或欠書,會在離校系統(tǒng)中提示該畢業(yè)生歸還欠書、結清欠費;若沒有欠書和欠費,離校系統(tǒng)會詢問是否立即關閉圖書借閱功能,此時,該生可根據(jù)自己的需求來自主選擇暫不注銷或立即注銷。最終,當該畢業(yè)生自主關閉圖書借閱功能后,圖書館的離校手續(xù)便辦理完結。
圖書館離校手續(xù)的在線自主辦理,使畢業(yè)生可在允許的時間段內自由決定關閉圖書借閱功能的時間,有效解決因學校統(tǒng)一關閉而造成的“過早”和“過晚”問題,顯得非常人性化。
2.3 退宿環(huán)節(jié)的在線辦理
調用學生是否住宿Web Service接口地址為:
http://mydorm.whu.edu.cn//appdm/rest/api/accommodation/resident_stay_info/2007xxxx
其中2007xxxx為學號,返回JSON格式數(shù)據(jù)示例如下:
{"publicUserSn":"2007xxxx","publicUserName":"孫XX","isStayIn":true,"bunkInfo":"醫(yī)學部-宿舍321-4號床"}
參數(shù)publicUserSn為學號,publicUserName為姓名,isStayIn為是否住宿狀態(tài)(true為住宿中,false為未住宿),bunkInfo為床位信息。
2.4 空調卡系統(tǒng)接口調用
空調卡系統(tǒng)由我們幫助水電中心開發(fā),為了實現(xiàn)Web Service接口功能,我們增加了一個Server文件提供Web Service服務,同時用client文件調用該服務,空調卡系統(tǒng)Web Service接口地址為:http://it.whu.edu.cn/ktk/server.php
程序用PHP編寫,通過ktkws(¥xh)獲取空調卡狀態(tài)后,實現(xiàn)Web Service功能的語句如下:
¥server = new SoapServer(null,array('uri' => 'http://soap/','location'=>'http://it.whu.edu.cn/ktk/server.php'));
¥server->setClass('ktk');
¥server->handle();
提供學號,調用服務獲取狀態(tài)的語句如下:
¥soap = new SoapClient(null, array('location'=>'http://it.whu.edu.cn/ktk/server.php','uri' =>'http://soap/'));
¥xh='2007xxxx';
echo ¥soap->ktkws(¥xh);
ktkws(¥xh)返回1表示“空調卡未歸還”,0表示“空調卡已歸還”,如果需要提供JSON格式的數(shù)據(jù)給其他 類型程序調用,可以用json_encode函數(shù)格式化變量,然后通過html的header功能輸出返回變量。
3 應用效果
基于Web Service的特色解決方案,使我校的數(shù)字離校系統(tǒng)從更深的層次理解了用戶需求,利用先進的信息化技術對原有業(yè)務流程進行了重構,全面實現(xiàn)了畢業(yè)生離校工作的信息化,徹底改變了畢業(yè)生離校工作的落后局面。與傳統(tǒng)數(shù)據(jù)集成的離校辦理方式相比,用戶體驗度得到了質的提高。以退宿環(huán)節(jié)為例,在采用傳統(tǒng)離校辦理方式時,所有畢業(yè)生在宿舍現(xiàn)場辦理退宿后,需等待半個小時,狀態(tài)變化才能在離校系統(tǒng)中反映,而改用Web Service接口調用住宿系統(tǒng)數(shù)據(jù)后,退宿狀態(tài)可以實時反映在離校系統(tǒng)中,極大地方便了畢業(yè)生離校手續(xù)的辦理。由于采用Web Service接口方式導致離校系統(tǒng)程序設計極為簡潔,我們只花了半個月的時間獨立設計程序,節(jié)省了大量資金投入。離校期間兩個工作人員輕松應對離校高峰,使用戶深刻感受到了良好的信息化服務,取得了圓滿的應用效果,達到了系統(tǒng)預期的建設目標。
武漢大學基于Web Service的數(shù)字離校系統(tǒng)于2016年6月正式投入使用,至今已順利完成兩屆畢業(yè)生的數(shù)字化離校工作。在系統(tǒng)開發(fā)過程中,我們同時利用“大數(shù)據(jù)”的建設思想進行數(shù)據(jù)挖掘,增加了對畢業(yè)生離校辦理情況進行按專業(yè)的實時統(tǒng)計功能。從實際的應用效果來看,該系統(tǒng)基本滿足了我校畢業(yè)生離校工作的需求,從根本上提高了畢業(yè)生離校工作的效率,有效減輕了畢業(yè)生和業(yè)務部門的負擔?;赪eb Service的數(shù)字離校系統(tǒng)建設,很好地體現(xiàn)了教育信息化所承載的服務屬性。
主要參考文獻
[1]朱浩,左志宏,顏 凱,等.電子科技大學數(shù)字離校系統(tǒng)建設實踐[J].中國教育信息化,2015(5):86-89.
[2]閆曉弟,李娟,李一鳴,等.讀者更新WebService與校園自助離校系統(tǒng)——以西安交通大學為例[J].中國現(xiàn)代教育裝備,2012(21):69-71.
[3]田鵬,吳慶杰,陳翼.基于數(shù)據(jù)集成的畢業(yè)工作服務管理系統(tǒng)的設計與實現(xiàn)[J].實驗技術與管理,2011(5):316-319.
[4]楊帆,楊潔,李一鳴.基于SOA架構的自助離校系統(tǒng)設計與實現(xiàn)[J].中山大學學報:自然科學版,2009(s1):210-212.