文/洪丹丹 張晉安 徐墨 鎖志海
移動微校園建設及關鍵技術探討
文/洪丹丹 張晉安 徐墨 鎖志海
隨著教育信息化的推進,高校越來越多地關注移動微校園如何建設的話題。本文以西安交通大學移動微校園建設為研究背景,分析了當前校園移動信息化面臨的挑戰(zhàn),提出以“輕應用、碎服務、快響應、多兼容”的理念構建高等學校移動微校園服務平臺,并利用kettle實現(xiàn)相關數(shù)據交換任務,以輕量級json為數(shù)據接口標準,打造集微教務、微生活、微財務、微就業(yè)于一體的移動服務平臺,并對系統(tǒng)架構、功能設計及數(shù)據交換等關鍵技術進行了描述。
隨著各類移動信息化技術的普及,利用原生App、跨平臺移動App及HTML5等手段將校園傳統(tǒng)信息系統(tǒng)進行移動化,為師生提供便捷、快速、不受設備型號及地理位置限制的信息化服務,成為越來越多高校的關注重點。以西安交通大學為例,由于校園用戶的移動服務需求種類龐大,服務項目較多,給傳統(tǒng)校園信息平臺帶來諸多挑戰(zhàn):
1.傳統(tǒng)信息系統(tǒng)服務重,技術路線陳舊難改造。此類系統(tǒng)多以具有龐大數(shù)據對象的學生系統(tǒng),研究生系統(tǒng),教務選課系統(tǒng),一卡通系統(tǒng),財務系統(tǒng),科研項目管理系統(tǒng)等校園傳統(tǒng)核心業(yè)務系統(tǒng)為主。
2.移動設備類型多,差別大,針對性開發(fā)壓力大。如針對安卓系統(tǒng)、iOS系統(tǒng)或其他移動操作系統(tǒng)都獨立開發(fā)移動App,對應用建設單位和應用管理單位均帶來巨大建設壓力和維護管理壓力。尤其由于安卓系統(tǒng)各版本差異性較多,需要更多的針對性開發(fā)。
3.數(shù)據多,標準少,接口難統(tǒng)一,數(shù)據共享利用率低。由于學校核心業(yè)務系統(tǒng)的建設單位不一、開發(fā)平臺及實施路線不同,導致同類型數(shù)據共享服務接口格式差異較大,數(shù)據標準依據各個系統(tǒng)的開發(fā)單位習慣各自獨立,未按照統(tǒng)一標準進行標注,在重新規(guī)劃校園移動服務平臺時,需要對同類型業(yè)務重建并重組大量數(shù)據接口,往往工作效率低下,開發(fā)進度緩慢,維護工作增大。
因此,在構建校園移動服務平臺時,屏蔽個性化、以較少的開發(fā)成本提供共享利用程度高的移動信息服務成為當前校園信息化移動轉型的重點與機遇。
圖1 移動微校園邏輯架構
移動微校園立足于高校信息化的歷史建設成果,將傳統(tǒng)數(shù)字化校園里的各類信息系統(tǒng)作為數(shù)據及服務母體,從各服務系統(tǒng)中篩選出師生訪問頻度高且貼近用戶細粒度交互需求的服務對象,將此類對象通過移動手段(微信、微博、移動APP等)進行移動端集成,形成響應速度快,用戶體驗細致入微的移動一站式服務(系統(tǒng)架構如圖1所示)。
為實現(xiàn)主動適應各類移動智能設備、移動應用輕便,使用戶在各類碎片化時間段內均可獲得校園信息系統(tǒng)提供的便捷、及時的響應服務,移動微校園的建設目標如下:
1.客戶端層構建面向各類校園微服務的碎片化服務產品,發(fā)布緊貼用戶個性化需求的校園微服務,如微教務(課表查詢、成績查詢)、微財務(學費、黨費、工資、公積金)、微科研(項目查詢、資金明細跟蹤)、微評教等動態(tài)化多元化碎片服務。
2.整合微信、移動客戶端、Wap及傳統(tǒng)PC信息系統(tǒng)等服務渠道,建立健全信息系統(tǒng)多渠道協(xié)同服務,保持數(shù)據一致性及服務體驗多元性。
3.以大數(shù)據分析技術為基礎,為用戶提供多維度、智能化、專業(yè)化的碎片服務智能管理平臺。
4.以SOA為技術基礎,建立服務注冊與數(shù)據開放管理平臺,形成多部門協(xié)同開發(fā)的移動數(shù)據服務模式。
系統(tǒng)架構
以“輕應用、碎服務、快響應、多兼容”的原則,移動微校園邏輯架構如圖1所示。
1.數(shù)據層:由數(shù)字化校園多年建設累計的各類核心信息庫組成,如教師庫、教學資源庫、學生信息庫、一卡通數(shù)據庫、教務數(shù)據庫、財務數(shù)據等組成。各數(shù)據通過數(shù)據總線方式或數(shù)據交換方式為上層提供共享數(shù)據服務。
2.數(shù)據交換與共享層:提供各子系統(tǒng)接入的接口,實現(xiàn)數(shù)據交換平臺和各信息系統(tǒng)的有機結合,以統(tǒng)一的接口規(guī)范實現(xiàn)數(shù)據自動提取、數(shù)據轉換、數(shù)據發(fā)送、數(shù)據校驗、數(shù)據審核等;同時支持數(shù)據同步、歷史數(shù)據遷移等。實現(xiàn)“統(tǒng)一標準,統(tǒng)一交換的”構想,為不同的數(shù)據庫、不同數(shù)據格式之間進行數(shù)據交換。
3.業(yè)務層:由校園各類核心業(yè)務系統(tǒng)組成,全面負責移動校園的各類核心業(yè)務的處理,在上層校園用戶提供基礎業(yè)務信息處理、業(yè)務集成與分享等、并重點將繁重的業(yè)務處理及計算集中此處處理,保證上層應用的便捷性,輕便性。
4.安全控制層:以統(tǒng)一身份認證、基于角色的細粒度功能控制、授權控制及細粒度數(shù)據控制等,保證移動校園的數(shù)據安全和用戶大數(shù)據隱私保護。
5.移動服務層:該層的建設對象與研究對象均是移動校園的重要組成內容—碎服務。其主要工作就是立足校園移動用戶需求研發(fā)各類細粒度碎服務,并適當對碎服務進行集成重組,便于上層客戶端的輕展現(xiàn),達到服務快速響應。
6.客戶端層:以微信、移動APP,WAP及瀏覽器等將移動服務層提供的各類微服務進行集成與展現(xiàn),并且可以依據用戶的偏好,自動加載或卸載相關微服務。
圖2 移動微校園中的一卡通服務的數(shù)據交換示意
功能設計
1.微教務
學生成績:基于大數(shù)據分析技術,為教師提供多維度學生成績查詢,如以時間維度為向導,提供教師各學年各門課程學生成績統(tǒng)計分析;以課程為維度向導,分析該教師某門課程歷年教學水平變化趨勢;以教師為維度,分析該教師各門課程在全校同行中的績效變化等。
教學督導:為學校教務督導成員提供多維度教師業(yè)務水平的統(tǒng)計分析;同時依據校園一卡通的考勤記錄,經大數(shù)據篩查,分析學生上課質量與上課行為的關系等。
2.微生活
一卡通分析:為師生提供一卡通微服務,幫助其查詢每日一卡通消費明細及地點,同時基于大數(shù)據分析技術,可橫向、縱向分析其消費能力在全校范圍內的排名及消費習慣,幫助用戶合理規(guī)劃健康的飲食生活。
圖書借閱:為師生提供移動服務解決服務,如借閱查詢,歸還超期提醒等。
教室查詢:提供學校3大校區(qū)所有教室的空閑時間情況,方便學生合理規(guī)劃自習時間與地點。
3.微財務
工資查詢:為教職工提供當月及歷史工資明細查詢。
公積金查詢:為教職工提供公積金查詢服務。
4.微就業(yè)
為學生提供就業(yè)互動服務,如就業(yè)問答、活動與講座,招聘信息及在線咨詢預約服務等微服務。
Kettle數(shù)據交換
由于移動微校園的建設依賴多項校園移動碎服務,尤其每個碎服務的接口規(guī)范,數(shù)據庫類型、數(shù)據標準等差異較大,因此需要應用數(shù)據交換手段,把來自不同數(shù)據源與數(shù)據標準的數(shù)據進行優(yōu)化表達,提高數(shù)據質量,對數(shù)據進行按需增量抽取、轉換、加載。
Kettle作為純Java編寫的開源ETL,可以為開發(fā)者提供圖形化差異數(shù)據處理頁面;基于transformation和job兩種腳本,實現(xiàn)數(shù)據基礎轉換和工作流控制。
以移動微校園中的一卡通服務為例,其job工作流示意圖如圖2所示。
Json數(shù)據/文件抽取
為提高移動微校園的數(shù)據交換速度,引入Json格式作為數(shù)據交換的標準傳輸格式是當前比較流行的移動輕量級數(shù)據交換方式,其不僅提高數(shù)據交換效率,又具有較高通用性,適合各類數(shù)據庫系統(tǒng)間的數(shù)據交換,且擴展性強。以用戶一卡通消費分析為例,其歷史消費記錄的json數(shù)據流片段如圖3所示,移動客戶端僅僅需要展示消費時間、地點、交易額及卡內余額信息,但原始數(shù)據流卻提供了非常龐大的冗余字段,導致數(shù)據傳輸緩慢,且與用戶身份信息相關的字段缺失。因此數(shù)據清洗與封裝的處理過程如下:
1.Java讀取原始數(shù)據流,提取消費記錄字段sysname1、tranname、poscode、nowAmt、ftranAmt;
2.從校內統(tǒng)一身份認證系統(tǒng)中依據用戶登錄時使用的統(tǒng)一身份認證用戶名,提取用戶身份信息,如職工號、年級、用戶類型、專業(yè)、性別等與前面清洗過的數(shù)據進行重組與封裝處理;
圖4 西安交通大學官方微信號之微校園應用效果展示
3.經kettle數(shù)據交換,將清洗重組后的數(shù)據導入移動微校園的數(shù)據庫,供上層應用共享。
其中數(shù)據封裝的Java代碼片段如下:
ja.getJSONObject(i).put("userno", userno);
ja.getJSONObject(i).put("grade", s.getGrade());
ja.getJSONObject(i).put("classid", s.getClasssid());
ja.getJSONObject(i).put("usertype", s.getUsertype());
ja.getJSONObject(i).put("zydm", s.getSpecialityid());
ja.getJSONObject(i).put("sex", s.getSex());
ja.getJSONObject(i).put("netid",s.getNetid());
ja.getJSONObject(i).getString("sysname1");
ja.getJSONObject(i).getString("tranname");
ja.getJSONObject(i).getString("poscode");
ja.getJSONObject(i).getString("nowAmt");
ja.getJSONObject(i).getString("ftranAmt");
圖3 一卡通原始數(shù)據流片段
根據校園移動服務面臨的新挑戰(zhàn),本文以“輕應用,碎服務”理念,將傳統(tǒng)校園信息化的重服務進行碎片化處理與精煉提純,將用戶日常關心的核心業(yè)務進行碎化與再重組,快速搭建適應數(shù)據多元,服務動態(tài)的移動微校園服務平臺。該平臺基于kettle和json有效屏蔽了數(shù)據庫與數(shù)據接口的差異性,構建的微生活、微財務、微教務等應用,可便捷集成入校園官方微信公眾號進行發(fā)布,也可同時嵌入校園官方移動App,真正實現(xiàn)校園移動服務跨平臺共享,極大減少客戶端應用的開發(fā)量和維護量。
截至目前,該研究成果已經集成入西安交通大學官方微信號中(如圖4所示),學生端集成的微服務共計9項,教師端集成微服務共計7項,數(shù)據量達10余萬條。
未來的工作將集中放在移動客戶端的用戶交互體驗升級,將智能移動設備的各類傳感器優(yōu)勢發(fā)揮最大,研發(fā)適應時代潮流和用戶細粒度需求的碎服務,隨時集成入移動微校園供用戶使用。
(作者單位為西安交通大學數(shù)據與信息中心)