張亮亮,楊 威,高立同(山西師范大學網絡信息中心,山西臨汾041000)
?
基于輕應用模式的CET報名系統設計與實現
張亮亮,楊 威,高立同
(山西師范大學網絡信息中心,山西臨汾041000)
高校信息化建設過程中構建了多種業務系統,在移動互聯網時代,采用對智能終端友好的業務處理模式更有利于系統的使用,也可提高高校師生工作學習效率,輕應用(LAPP)模式業務系統的研究與實現,為多數業務系統在智能終端上的使用奠定了理論基礎,增強高校信息化與移動互聯網的融合,使得業務操作不會受限于終端環境,成為PC業務系統的有力補充,甚至成為主流。文章介紹了輕應用的基本理念,并以微信輕應用為例搭建了CET報名系統,為高校業務系統移動化、智能化提供了實踐經驗,同時為高校大學云的構建提供支撐作用。
輕應用;業務系統;移動互聯網
高校是理論與創新的前沿陣地,同時也是實踐技術的優秀舞臺,在如今“移動為先”、“互聯網+”等先進理念的沖擊下,產生了無數新的理念與技術產品。建設信息化高校也已成為高校的普遍共識,幾乎所有高校中的業務部門均有大量的信息系統部署。然則均以PC端為主,很多業務部門的系統仍處于PC為王的時代,在移動互聯網時代顯得步履艱難,究其原因,則是在移動端不能很好的提供服務,導致使用環境受限等諸多不便,本文據此為背景,提出采用輕應用模式來改變這種不足。
輕應用,即Light App,其是一種無需下載、即搜即用的全功能APP,既有媲美甚至超越Native App的用戶體驗,又具備Web App的可被檢索與智能分發的特性,能有效解決優質應用與移動用戶需求對接的問題。輕應用相較Native App,響應與用戶體驗可接近Native App,可移植性強,一次開發多平臺均可使用,輕應用往往基于已經非常成熟的應用分發平臺,如百度、微信、微博等,這些成熟的平臺已經跨平臺實現,因此無需多平臺實現(iOS/Android/WP)、開發成本低,無需安裝,升級簡單,同時兼具云端功能,如LBS、語言輸入輸出、訂閱推送、電話撥打、攝像頭調用、分享評論等功能。
輕應用兼具Web App與Native App的優點,現如今,多數技術主導公司或部門都在研發與設計“輕應用”模式應用系統,且由于網絡帶寬也有顯著提升,網絡數據傳輸已不是瓶頸。國內幾大互聯網公司如百度、微信、微博、支付寶、360、小米等均推出了輕應用平臺,這也為我們使用輕應用平臺對接業務系統提供了強有力的技術支持。
輕應用在多數行業已有成熟應用,如金融、通信、醫療、教育等行業,國內外高校也有很多應用案例,如圖書館等業務環境下,很多高校均接入了輕應用模式,針對國外的應用也有如“首爾大學韓國語”等類似應用,但與市場成熟的業務相比較而言,應用案例還較少。
1.系統體系結構
本系統采用多入口登錄模式,統一后臺數據、統一管理的架構搭建,基本架構模型可參見圖1。

圖1 多登錄模式架構模型
PC端及Web App、Native App設計與實現不是本文的重點,輕應用模式是我們的主要研究方向,因此其它模式本文不做過多描述。
系統后臺統一使用.NET+SQL Server技術搭建,而輕應用設計采用微信輕應用平臺來搭建。微信輕應用平臺開發是采用微信提供的二次接口,基于微信的基礎功能來實現自身獨有功能的開發,輕應用模式下數據處理方式與傳統PC業務系統有明顯區別,需要針對輕應用模式設計相應數據庫,與輕應用相關的數據表主要包括用戶表(T_STUDENT)、報名表(T_REGISTER)、用戶數據表(T_UserData)、用戶信息表(T_UserMsg)、用戶菜單表(T_PersonalMenu),關鍵字表(T_KeyWord)、分組表(T_Group)等。
2.核心技術難點
本文為滿足高校報名時高并發的特點,考慮后期擴展與推廣,采用了諸如多線程、響應式設計、后臺數據處理使用常規語句處理與存儲過程結合的方式,為解決多名學生同時報名可能產生的問題,采用了延時阻塞、多用戶并發延遲等機制,以提高處理效率,前臺采用HTML+ JS的形式,并結合AJAX技術實現用戶極致體驗。
3.輕應用模式數據交互關鍵代碼
數據模型與前臺界面數據交互的關鍵是業務代碼,由于本文所提及系統業務邏輯復雜,因此只列出部分關鍵代碼。輕應用模式要與服務器數據交互,做相應的對接與數據處理,數據處理模型如圖2所示。

圖2 輕應用模式數據處理模型
報名系統中需要上傳報名學生的照片,所以以圖像消息數據處理為例,來說明相關配置,圖像消息處理所需xml設置如下,諸如文本、語音、視頻等其它類型信息交互方式類似。
上述參數描述如下:ToUserName是開發者微信號,FromUserName是發送方賬號,在系統運行正常后,將關聯學生的微信賬號,與后臺數據比對,用以交互數據,CreateTime是消息創建的時間,此處以整數形式表示,在后臺程序處理時,為了便于存儲與比較,需要轉換成日期類型,MsgType用來確定數據交互的類型,此處示例中是image,表示圖片消息類型,由于圖片消息類型的特殊性,所以需要PicUrl來標示圖片來源即鏈接,Medi‐aId是圖片消息媒體id,在通過下載接口拉取數據時使用,最后是MsgId,是消息id,用來唯一標識消息,在消息處理、CRUD處理時使用。
與后臺數據庫進行數據對接的代碼如下:
代碼中的weixinapi類定義了統一接收信息的入口,是與微信交互的關鍵類,其中ProcessRequest()方法用于http請求。
public class weixinapi:IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
string sPost=“”;
if(Request.HttpMethod.ToUpper()=="POST")
{
using(Stream streamInput=.Request.Input‐Stream)
{
Byte[]bytePost=new Byte[streamInput.Length];
stream.Read(bytePost,0,(Int32)streamInput. Length);
sPost=Encoding.UTF8.GetString(bytePost);
}
if(!string.IsNullOrEmpty(sPost))
{
Execute(sPost);
}
}
else
{
Authorize();//接入驗證
}
}
Authorize()方法包含獲取Token以及驗證配置等。
private void Authorize()
{
string sToken=ConfigurationManager.AppSet‐tings["Weixin"];//從配置文件獲取Token
if(string.IsNullOrEmpty(sToken))
{
Msgshow.Error(string.Format("未進行初始化配置,請配置!"));
}
string sEcho=Request.QueryString["echoStr"];
string signature=Request.QueryString["signa‐ture"];
stringtimestamp=Request.QueryString[" timestamp"];
string nonce=Request.QueryString["nonce"];
if(new BasicApi().CheckSignature(sToken,sig‐nature,timestamp,nonce))
//CheckSignature()方法用于驗證參數簽名,返回bool類型
{
if(!string.IsNullOrEmpty(sEcho))
{
Response.Write(sEcho);
Response.End();
}
}
}
系統應用并得到師生一致好評是對我們研究工作的最大鼓勵,報名系統的實現,解決了以前傳統報名方式中的多項不足,以前報名系統以學院為單位,采用電子表格的形式上報至學院,學院審核整理后,再匯總至教務處,然后再由教務處統一上報至國家考試中心,而報名系統的信息化,省去了中間很多環節,系統直接面向學生,后臺數據自動處理,系統中所包含的在線報名、報名通知、交費通知、照片上傳,以及數據統計、報名匯總、統計分析等功能均極大地提高了師生工作報名效率。
本系統PC版于2013年應用于山西師范大學,通過網站鏈接或直接訪問地址http://202.207.165.113均可訪問,輕應用模式也于2014年底起用,并在2015年得到優化,微信關注其公眾號可進入報名,經后臺監測模塊的數據統計功能分析處理,輕應用模式的使用對CET報名工作的效率有明顯的提升。

圖3 輕應用模式與傳統模式用戶使用占比
圖3為2015年9月各平臺報名人數占比圖,本次報名總人數12114人,從圖中數據可以看出輕應用模式的使用極大地提高了報名效率,同時在PC報名前臺的問卷調查中可以看出,不愿意使用輕應用模式報名的學生主要是擔心手機網絡不穩定,難以保證報名成功等,經分析在4G網絡模式下,報名成功率99%,且不成功的因素可能是用戶手機系統問題等,說明輕應用模式基本達到預期效果。
同時,接入輕應用平臺的學生用戶,能及時通過輕應用平臺獲得報名、考試、資費等與CET相關的重要通知,使得學生能第一時間了解相關動態,提前做好報名、應試等準備工作。
我們對輕應用模式報名系統有益的嘗試,體現出了無窮的魅力,但也存在不足與缺陷,下一步將結合輕應用平臺提供的支付接口,探索實現隨時隨地交費等功能,使得遠程報名、異地報名成為現實,同時,對于后期數據的二次處理也做了相應考慮,通過實現成績分析,了解學生的報名詳情,如第幾次報名,前幾次成績變化曲線,未過學生各題型分數,得分低題目與標準分的差距,使得學生能有針對性地彌補學習中的不足。
輕應用模式業務系統的開發與實踐為高校其它業務系統采用輕應用模式實現奠定了實踐基礎,提供了實用的借鑒模式,經研究分析,下一步在普通話測試報名、工資查詢等環境下可率先借鑒應用。
同時,業務系統的云架構實現有助于整個大學云的建設,同時也是大學云的基礎,通過獨立點業務系統的研發,隨之將多個點互聯,最終形成以數據云為支撐的大學云,是我們走向智慧校園的有效途徑。
[1]Jeffrey Richter.CLR via C#[M].北京:清華大學出版社,2014.
[2]陳小龍.微信公眾平臺開發實戰與應用案例[M].北京:清華大學出版社,2015.
[3]楊威,楊陟卓.大學云架構與大數據處理建模研究[J].中國教育信息化,2015(1):16-18.
[4]閆培哲,王永紅.基于Web的CET網報平臺設計[J].軟件導刊,2015(5):105-106.
[5]劉征.基于社交網絡的圖書館資源整合與服務研究[J].圖書與情報,2014(6):117-119.
[6]杜炤,劉婷,劉奇峰.基于社交網絡服務的個人知識管理系統研究[J].華東師范大學學報(自然科學版),2015(3):79-86.
[7]倪志宏.基于微信公眾平臺的掌上高校網絡信息服務系統研究[J].合作經濟與科技,2013(7):127-128.
[8]舒子芩.開拓高校就業信息服務新社交媒體渠道[J].云南社會主義學院學報,2014(2):214-215.
[9]唐文捷,劉士成,張伍菲,朱鵬輝.輕應用(Lapp)——App未來發展趨勢[J].三峽大學學報(人文社會科學版),2014(12):27-29.
[10]白浩,郝晶晶.微信公眾平臺在高校教育領域中的應用研究[J].中國教育信息化,2013(3):78-81.
[11]白明鳳,匡惠華.高校圖書館移動信息服務中輕應用模式的應用及其借鑒[J].情報資料工作,2014(4):78-81.
[12]羅濤,朱瑩.基于WAP的移動圖書館的研究與實現[J].新技術應用,2014(8):66-71.
[13]孟勇.基于WAP的移動圖書館系統的設計與實現[J].現代情報,2010(9):92-95.
[14]微信公眾平臺開發者文檔[EB/OL].http://mp. weixin.qq.com/wiki/.
[15]何小鵬.輕應用,不只是Web APP[EB/OL]. http://www.geekpark.net/topics/188049.
(編輯:魯利瑞)
TP311.56
B
1673-8454(2016)06-0088-04