李莎,王勝
微信互動教學系統研究與實現
李莎,王勝
利用微信應用開發技術,結合傳統網絡教學系統的要求,對移動教學系統進行了技術預研,提出了基于微信APP的移動應用客戶端、微信開放平臺技術和傳統互聯網開放技術相結合的移動互動教學解決方案,并進行了相應的系統可行性及實現驗證。
微信;移動教學;移動APP;模板技術
微信[1][2]是一款通過網絡快速發送語音短信、視頻、圖片和文字,支持多人群聊的手機聊天軟件,目前微信注冊用戶已經超過一億,用戶群體主要是年輕人,學生群體更是其中的活躍成員。微信開放平臺是在微信的基礎上新增的功能模塊,實現和特定群體的文字、圖片、語音的全方位溝通、互動,為第三方移動程序提供接口,使用戶可將第三方程序的內容發布給好友或分享至朋友圈,第三方內容借助微信平臺獲得更廣泛的傳播。
隨著移動互聯網技術的廣泛應用,移動教學作為信息技術與教育融合的新教育形式為教育注入了新的活力:便捷的學習機會、多樣的學習環境以及豐富的學習資源,使學習活動更加自主化、個性化,使教育的適應性得到大大加強。
傳統教學方式以教為主,學生多為被動式接受學習,不利于學習積極性的提高。“互動性”教學強調以學為主,按有效的個性化原則來組織教學與學習,充分調動學習積極性,注重培養學生自學能力,教師根據學生的及時反饋對學習內容進行適應性調整,實現因材施教和因人而異的教學方式,提供豐富的現場實習體驗,發展情景教學,全面提高學生素質。學生可根據自己的實際情況,掌握學習進度、學習時間、學習地點、學習內容等。
微信開放平臺的兼容性和開發性,使得跨平臺、免安裝的輕量級APP成為可能,用戶只需要關注移動教學互動服務號,就可以使用。微信互動教學系統的實現可以在傳統互聯網移動教學服務[3-5]網站平臺的基礎上,增加微信服務接入功能,實現和微信開放平臺的平滑對接,借用微信作為APP客戶端的方式,達到移動互動教學的目的。
互動教學應用服務系統平臺是整個系統的中樞如圖1所示:

圖1 微信互動教學系統物理架構圖
不僅要實現傳統互聯網的教學服務展示,還需要對接移動應用,實現互動教學業務響應和即時互動教學調度功能。此外,為了能夠有效服務移動教學,需要對教學資源進行高效管理維護,可以利用開放云存儲平臺存放各類教學資源文件。同時,為了能在微信APP上直接顯示教學資源,在存儲前需要利用各類格式轉換工具軟件把教學資源轉換為移動終端設備通用音視頻或文檔格式,如3gp等。
互動教學系統需要具備互動學習自動服務和人工答疑服務,如圖2所示:

圖2 微信互動教學系統業務交互流程圖
其中,人工答疑服務主要是利用了微信開放平臺最新推出的多客服功能[2]實現。教師通過互動教學客戶端軟件登錄互動教學服務后,自動以客服身份登錄微信開放平臺多客服,當互動教學服務收到微信平臺轉發的答疑請求時,需要根據答疑課程自動匹配相應的在線答疑教師(獲取該教師的客服賬號),在響應消息中要求微信平臺把請求轉發到指定客服,隨后微信平臺收到響應后,自動把當前發起請求的用戶接入到響應消息指定的客服(教師),從而使得雙方可以進行直接交流。
學生需要登錄微信并關注微信互動教學后才能進行學習和提問如圖3所示:

圖3 互動教學微信APP圖
進入服務后,學生可以首先請求業務導航,根據系統返回的操作導航提示進行相應的業務請求。
2.1 通信機制
微信APP的通信原理可以理解為Restful機制的典型應用:當用戶向公眾平臺賬號發送微信后,微信服務器會將一段XML報文以HTTP POST 請求的方式發送到應用服務器,應用服務器經過處理后,通過HTTP 響應將另一段XML報文返回給微信服務器,這時候用戶終端將會收到來自公眾平臺帳號的回復。微信服務器主要實現消息解析/封裝和消息轉發功能,通過提供統一的報文封裝規范,屏蔽了不同應用的協議消息差異性。
2.2 驗證消息合法性
在開啟開發模式時,除了要填寫應用服務的接入URL,還要填寫一個token值,提交后微信服務器會發送一個請求給接入URL ,附帶身份驗證參數,應用服務可以根據 token 與參數校驗合法性,合法時需要根據要求返回一個字符串,這樣微信服務器才會確認應用服務的身份。以后每次微信服務器發送請求時,都會帶上這些參數,可以以同樣的方式來判斷對方的合法性。
2.3 微信消息接口及封裝
在系統實現中,需要對微信消息報文進行解析和封裝,因此,需要進行消息接口的封裝實現,如圖4所示:

圖4 消息封裝的實現
微信消息接口基類BaseMessage包括所有消息的公有字段:ToUserName(微信接收方賬號)、FromUserName(發送方帳號)、CreateTime(消息的創建時間)、MsgType(消息類型)。
請求消息都包含了MsgId(消息ID),繼承BaseMessage后形成請求消息基類RequestMsg。文本請求消息類TextReqMsg、圖片消息類ImageReqMsg、地理位置消息類LocationReqMsg、鏈接消息類LinkReqMsg、語音消息類VoiceReqMsg、視頻消息類VideoReqMsg都繼承了RequestMsg類,實現相應的請求消息實體類。
事件推送主要用于用戶關注/取消關注、掃描二維碼、上報地理位置信息和自定義菜單的應用場景。基類EventMsg直接繼承自BaseMessage類,用于關注/取消關注事件,其派生類LocationEvent實現了地理位置信息上報接口,派生類KeyEventMsg實現了自定義菜單相關接口,其派生類TicketEventMsg實現了二維碼相關操作接口。
響應消息都繼承自BaseMessage,派生類TextRespMsg實現文本響應接口,MediaRespMsg實現了圖片、語音和視頻響應接口,NewsRespMsg為圖文響應消息接口,MusicRespMsg為音樂響應消息接口。
3.1 管理后臺的實現
互動教學應用服務由移動應用服務和后臺管理服務組成,前者負責接收微信用戶發送的微信請求,按照相應的功能指令組織回復報文并應答,后者主要實現教學資源管理,提供模板生成移動教學的微網站頁面。后臺管理服務采用Servlet+FreeMarker[6]技術實現,Servlet實現了后臺管理的事務處理控制邏輯,包括資源管理、生成教學頁面等功能。
FreeMarker是基于模板生成文本輸出的通用技術,可以生成HTML Web頁面。把微網站需要在微信APP中展現的教學頁面中所需要的樣式放入FreeMarker文件中,然后將實現Html5頁面所需要的數據動態綁定,并放入Map中,通過調用模板文件解析類的process方法完成靜態頁面的生成。
3.2 數據庫設計及實現
用戶表:記錄系統教師用戶的基本信息,包括微信號Token、登錄密碼和授課信息,用于后臺管理系統登錄驗證,只有教師才可以登錄管理后臺。
客服表:記錄在微信開放平臺中注冊的客服賬號信息,在教師登錄互動教學客戶端時,系統將自動為該教師綁定預先在微信平臺上注冊的客服賬號。
教學資源表:記錄各類教學資源URL、對應課程等詳細信息等信息,在自動服務中組織圖文響應消息時,可以直接使用根據業務條件自動搜索到相應的資源URL。
課程表:記錄系統支持的課程名稱和簡介,以及學生對課程資源評分基本信息。
課程頁面表:存放每門課程的由FreeMarker生成的Html5文件的路徑和章節對應關系,類型及前后章節的索引值。微信APP上的課程學習圖文響應中章節的學習圖文連接數據來源于此表。
答疑表:記錄學生的提問和教師的答復,包括提問人信息、課程信息、教師答疑內容、答疑狀態等信息。學習過程中的提問和教師答疑功能實現所用到的數據主要來源該表。
課程題庫表:存放課程測試Html5文件的路徑和對應解答信息,在實現學生對課程的掌握測試中使用。
3.3 移動應用實現
移動應用服務必須在WXServlet類中實現doGet和doPost這兩個方法,如圖5所示:

圖5 移動應用服務事務處理機實現
doGet用于確認請求是否來自微信服務器,doPost中的WXService.processRequest方法是具體的業務處理邏輯,首先對消息類型進行分類判斷,根據不同的消息類型獲取請求消息的內容,然后針對內容進行相應的請求業務處理,獲取響應需要的數據并封裝調用相應的響應消息實體,最后利用response回送響應報文給微信服務器。
利用微信公眾平臺實現移動交互教學,方便學生隨時隨地進行學習,有利于提升學生的學習興趣和積極性,是教育領域的一項大膽嘗試。經過初步測試,學生比較樂意接受這種新穎的學習互動模式,可以隨時隨地進行自主學習,有效提升學習效率,獲得較為滿意的教學效果。同時,微信在IOS、Android、WP等移動操作系統中具有良好的兼容性,支持HTML5技術,而且微信開放平臺有便于開發性和能改進更新等特性,使得基于微信的APP開發的難度和周期得到大幅度的降低,可以實現功能更加強大,交互性越發友好的移動應用。
[1]企業號開發者中心.微信公眾平臺[EB/OL].http://qydev.weixin.qq.com/wiki/index.php?title =%E9%A6%96%E9%A1%B5.2014-12-22.
[2]微信公眾平臺開發者文檔. 微信公眾平臺[EB/OL].http://mp.weixin.qq.com/wiki/home/index.html. 2014-12-22.
[3]逄珊.移動教學管理系統的設計與實現[J].計算機與信息技術.2007,7.
[4]楊吉偉.基于3G網絡的WAP教學輔助管理系統的開發與實現[J].中國醫科教育技術.2012. 26(2).
[5]黃家榮.基于移動學習的遠程教學系統設計[J].通信技術.2009,2.
[6]FreeMarker2.3.10 Programmer'sGuide.
Research and Implementation of Mobile Teaching System Based on Wechat
Li Sha, Wang Sheng
(ShaanXi Radio &TV University, Xi’an 710119, China)
In this paper, combining with the requirements of traditional network teaching system, it uses Wechat Open Platform and Wechat mobile app development technology to conduct a technical pre-study on mobile network teaching system. The teaching solution is proposed based on Wechat technology and verifies the corresponding system feasibility and implementation.
Wechat; Mobile teaching; Mobile App; Template Technology.
TP311
A
2015.01.19)
1007-757X(2015)04-0032-03
陜西廣播電視大學2013-2014年度教學改革課題(13DJ-A20)
李 莎(1979-),女,陜西廣播電視大學,講師,工學碩士,研究方向:移動技術應用,圖像信號處理,西安,710119
王 勝(1974-),男,陜西廣播電視大學,副教授,工學博士,研究方向:移動通信技術,西安,710119