陳智翔 吳黎明
(廣東工業大學信息工程學院)
目前,高校信息化建設不斷發展,大多數高校都開發了用于教學管理的各種應用系統,例如:教務管理信息系統、學生選課系統、圖書館系統等。在這些系統中,師生與教務管理人員可以通過 Web網絡服務進行信息交流與互動,用以輔助日常的教務管理工作。然而,這些正在使用的信息系統存在不足:數據分散在各個異構的應用系統,系統間信息的交互非常困難;數據比較孤立,形成很多信息孤島,導致無法提供準確的個性化信息服務。例如教務管理部門在特殊信息發布或信息交流上比較被動,只能通過網上公告或層層轉達;舊的管理模式嚴重偏離“以人為本”的理念。以學生為例,一些個性化較強的信息,諸如補考通知、考試安排、評優評選、學業預警等,教務管理部門無法為每個相關學生進行電話、短信通知,學生可能沒有及時查看公告或郵件,致使工作延誤或失去時機。
隨著信息技術的迅猛發展,移動互聯網催生的服務型校園移動信息系統將成為高校信息化建設的風向標[1-2]。針對目前信息系統面臨的困境,整合現有業務和數據后,充分與移動終端結合,根據邏輯業務需求,將業務需求、業務流程和數據存儲以服務的形式進行包裝并發布到一個標準化、開放性的平臺,可以達到既保留目前應用系統、又能適應業務變化及發展的目的。面向服務的體系結構(service-oriented architecture,SOA)以服務為核心,憑借其松耦合的特點,成為新一代軟件體系結構的主流模型[3-7]。SOA是一個組件模型,它應用于程序的不同功能單元(稱為服務),通過這些服務之間定義良好的接口和契約聯系起來,接口是采用中立的方式進行定義的。它獨立于實現服務的硬件平臺、操作系統和編程語言。
基于SOA架構的校園移動信息服務系統,整合了目前的各種應用系統,在模塊設計中使用松散耦合,使原有在校園系統中的服務,通過統一的方式進行交互,建立開放性的高校教學管理平臺,并在移動終端開發相應的客戶端應用程序,使師生、行政人員等能夠實時了解相關學習、科研、教務信息,從而大大提高教學管理的效率。
基于SOA架構的校園移動服務信息系統總體設計思想是:結合成熟的移動互聯網相關技術和服務,把原有校園應用系統接口進行整合,作為平臺在服務器上提供給移動終端進行相關數據服務;并且為了滿足師生、行政人員的使用,平臺應根據用戶終端設置,提供主動式信息實時查詢和被動式信息推送提醒服務。
在校園移動服務信息系統中,用戶既可通過電腦,也可以通過手機接入與系統交互,從而使系統具有更高的實時性、交互性,提高系統的智能化和人性化程度。將終端從電腦擴展到智能手機的新型教務管理系統,增加了終端和用戶的數量,擴大了系統的覆蓋和應用范圍。教師與學生可以通過手機,及時將各種信息提交給系統,縮短了信息發布與接收的時間,提高了教學管理的效率。同時教務管理人員通過手機接入系統后臺,可以實時地了解系統運行的情況,掌握系統最新的狀態,確保系統的安全性。
首先整合現有應用系統,通過對已有校園應用系統進行接口開發或整合,并將相應接口統一接入移動信息系統,供移動信息系統在進行復雜信息處理時使用。例如發布補考或獎學金通知時,需要整合的相關系統有:發布通知信息的行政通知系統、查詢教務成績的教務成績系統、學籍電子檔案系統等。
校園移動服務信息系統與移動智能終端結合——整體架構為客戶端/服務器模式。客戶端在主流智能操作系統(IOS,Android,WP)上運行,通過客戶端訪問校園移動服務信息系統,并依靠移動智能終端定位等擴展系統平臺功能,最大限度地滿足用戶隨時隨地進行校園咨詢信息處理的需求。與移動終端通信的信息分為兩種:一種是主動式實時信息,即用戶在客戶端主動發起的信息請求;另一種是被動式推送信息,即用戶在客戶端訂閱相關信息后,可以在不打開情況下收到這類信息的提示通知。用戶通過這兩種信息可以完成與校園服務系統的所有業務交互。
在校園移動服務內部系統穩定可靠后,通過接入第三方平臺來為更多校園服務提供個性化定制服務,例如相關云存儲服務,滿足資料表格等在線存入個人文檔;第三方在線支付服務,直接在線支付校園相關費用。
校園移動服務信息系統的服務對象包括行政用戶、教師用戶和學生終端,其服務類型和功能分別如如表1、表2、表3所示。
校園移動服務信息系統平臺主要由5部分組成:1) Web服務接口與移動終端服務接口,這些接口負責響應終端發出的數據請求;2) 業務處理核心,它根據數據請求類型調用原有校園系統進行數據處理;3) 平臺數據庫,負責存儲信息系統的相關數據;4) 第三方數據接口,根據系統核心需要與第三方平臺進行數據傳輸;5) 原有校園系統相應對接數據接口,以滿足系統平臺的不同類型服務。整體結構和層次結構如圖1所示。

表1 行政人員終端服務類型及功能

表2 教師終端服務類型及功能

表3 學生終端服務類型及功能
在基于SOA架構的服務系統的核心服務中,可以很方便地調用外部信息系統協同工作,完成用戶的個性化信息服務。例如定制通知服務,當需要發布一條受眾人群明確的通知時(以獎學金申請為例),行政人員在發出公告時,通過移動信息服務系統接口可以選擇受眾人群(如成績系統中無掛科的學生);在原有系統發出公告的同時,向校園移動信息核心發出申請,核心先調用教務服務接口查詢,然后再確定需要通知的人群,返回查詢結果后在平臺服務器端的通信服務模塊加入標識,如用戶上線或在線則通過被動推送方式推送到用戶終端,并將相應文檔轉發入該用戶的存儲中心(如第三方云存儲平臺)。

圖1 移動信息服務系統整體架構圖
基于SOA的校園移動服務系統中,通過校園智能支付可以在終端用第三方支付平臺(如支付寶)快捷完成校園內各類繳費服務,而不用到固定地點排隊充值。用戶在終端 APP上根據業務選擇相應充值服務,APP自動調用第三方支付平臺進行在線支付,支付完成后,支付平臺將跳轉到預先指定的信息平臺URL鏈接,通過POST方式將支付信息作為參數回調信息平臺,平臺根據預先指定密鑰解密參數,最終將支付信息錄入相應校園系統完成充值服務。
平臺整合前,原有系統各自獨立,校園用戶使用相關業務時需要單獨進入系統進行處理,并不能很好地滿足各類用戶的需求。平臺系統搭建后,在平臺上實現個業務關聯處理模塊,校園原有系統都可以按照接口規范等接入平臺,不僅能通過平臺推送機制滿足實時性信息需求,還能發揮出原有系統之間的業務關聯性,且用戶可隨時隨地使用智能終端就可完成原來耗時的業務服務。
在基于SOA架構的校園移動服務系統中,各模塊功能可采用多種開發技術和框架完成。下面著重闡述該系統終端(以Android系統終端為例)與服務器端通信的實現。
所有的業務功能都是建立在移動終端與服務器通信之上的,與服務器交互的信息分為主動式實時信息和被動式推送信息。這兩種信息的實現機制側重點在于主動式信息強調用戶在終端主動去獲取,而被動式信息強調服務器在用戶有信息時自動推送到用戶終端,因此需要使用不同的實現技術完成該通信功能,通信整體結構圖如圖2所示。

圖2 移動終端與服務平臺通信圖
主動式實時信息機制是當用戶手動查詢相關業務時后臺自動調用。該方式采用HTTP的通信機制,交換的數據格式為 Json。客戶端將請求信息打包成HTTP并傳送給服務器端,服務器將請求信息發送至Servlet。Servlet根據客戶端的具體請求進行后臺數據庫查詢或原有系統模塊處理,動態生成響應內容并將其傳送給 Server,最后服務器端將該響應內容轉換成Json格式返回到客戶端。其主要流程如圖3所示。

圖3 主動式信息服務流程圖
當需要從服務器上主動獲取信息服務時,調用流程:
1) 從相應業務邏輯界面(如查詢成績界面), 調用主動獲取模塊中的發起請求方法;
2) 請求方法開始連接服務器,傳遞相應請求參數,以Android開發為例,代碼如下:
HttpParams parms = new BasicHttpParams();
parms.setParameter("charset", HTTP.UTF_8);
HttpClient httpclient = new DefaultHttpClient(parms);
HttpPost httpPost = new HttpPost(uploadUrl);
httpPost.addHeader("charset", HTTP.UTF_8);
List
params.add(new BasicNameValuePair("title",title));
httpPost.setEntity(new
UrlEncodedFormEntity(params, HTTP.UTF_8));
//向服務器發出請求
HttpResponse httpResponse = httpclient.execute(httpPost);
3) 服務器端判斷請求,調用相應服務模塊,完成后返回結果;
4) 客戶端接收結果,調用UI模塊進行相關數據顯示。
被動式推送信息采用的即時通信協議是 XMPP(可擴展消息處理現場協議)。XMPP是一種基于XML(可編程擴展語言),實現任意兩個網絡終端實時信息交換的通信協議。XMPP的基本網絡結構包括Client、Server、Gateway,通信能夠在這三者的任意兩個之間雙向發生。服務器同時承擔了客戶端信息記錄、連接管理和信息的路由功能。基本的網絡形式是單客戶端通過 TCP/IP連接到單服務器,然后傳輸XML。
當終端注冊以獲取被動式推送消息時,終端與服務器的主要流程如圖4所示。

圖4 推送信息流程圖
XMPP服務器之間、客戶與服務器之間采用的是TCP連接。它提供一種面向連接可靠的字節流服務。TCP將用戶數據打包構成報文段,當發送數據后啟動一個定時器,等待對端數據確認,另一端對收到的數據進行確認。對失序的數據重新排序,并丟棄重復數據。但是GPRS網絡對TCP鏈路存在一個限制,當鏈路在長時間無數據流量時,會自動降低此鏈路的優先級直至強制斷開此鏈路,所以在應用中采用發送心跳的方式來維持此鏈路。
傳統的簡單事務處理類型的信息系統無法適應不斷發展的業務要求,科技發展促進教育信息化變革與進步,基于SOA架構的校園移動信息服務系統,是移動互聯網與數字校園的緊密結合。本文分別從架構和實現上對該系統進行了闡述和分析,在評估我校現有校園系統資源后逐步搭建實現該服務系統。隨著移動互聯網時代的到來,高校信息化已從傳統的管理方式向主動服務的模式轉變,是學校與學生互動的一種新途徑,是數字校園擴大外延服務的新嘗試。
[1] 楊麗萍,王薇.基于手機平臺的教學信息系統的研發[J].長春大學學報,2009,19(8):15-17.
[2] 蘇長明.基于J2ME—J2EE的校園移動信息查詢系統設計與實現[J].成都大學學報:自然科學版,2012,31(3):254-257.
[3] 林懷恭,聶瑞華,羅輝瓊,等.基于 SOA 架構的服務集成技術的研究[J].計算機技術與發展,2009, 19(7): 141-144.
[4] 裘慧奇,陳世平,朱宇紅,等.基于 SOA 的區域內高校校際間網上資源共享和協作服務模式研究[J].計算機應用研究,2011,28(1):192-194.
[5] 武裝,李洪奇.一種分布式SOA體系結構的設計與實現[J].微計算機信息,2008,24(36):253-255.
[6] 魏東,陳曉江,房鼎益.基于SOA體系結構的軟件開發方法研究[J].微電子學與計算機,2005,22(6):73-76.
[7] 曹曉葉,王知衍,許曉偉,等.基于 SOA 的企業應用集成研究與應用[J].微計算機信息,2007,23(36): 16-19.