翟娜,張敏
(西安翻譯學院 陜西 西安 710105)
隨著高校信息化建設步伐的加快,很多的高校開始開發和構建了屬于自己的各種信息管理系統,從而為廣大的學生提供綜合性的網絡服務平臺,促進工作效率、學習效率的提高。但是在這些系統構建之后,大多數教師、學生卻都很少通過這些系統查看相關的新聞、公告等,同時由于受到各種條件的限制,高校的選課系統、評價系統等都需要分成不同的批次進行處理,從而給高校教學帶來很大的不便。智能手機的普及與微信平臺的應用,使得現代校園學生越來越喜歡通過微信進行交流,獲取相關的學習資源。本文以此作為背景,尤其針對外語學習這一難題,提出構建基于微信公眾平臺的外語學習資源系統,以此給外語教學和校園信息化技術運用提供一種新的創新。
對該系統的設計主要分為兩個步驟:第一步為對外語學習資源管理系統的設計;第二步為在該系統的基礎上實現對微信公眾服務號接口的開發。在完成上述步驟的情況下,實現對系統整體的調試和開發。針對外語學習資源的應用分析,其主要的使用角色分為教師、學生和管理員。因此,本文將該外語學習資源管理系統功能設計為如圖1所示。
圖1 外語學習資源管理系統功能設計Fig.1 Functional design of foreign learning resource management system
1)系統管理:該模塊主要包括用戶管理、權限分配、功能管理3個模塊。其中用戶管理包括用戶注冊、用戶登錄、用戶注銷和用戶基本信息管理。權限分配主要對系統使用角色進行分配,從而保證不同的角色有著不同的使用功能,以此保障系統的運行。功能管理主要定義系統具備哪些功能,包括添加、修改、刪除及查看。
2)外語學習資源管理:外語資源管理主要包括外語資源分類和外語資源管理。其中外語資源的分類有語種、等級、各種專業外語等。該模塊主要實現按照不同的語種、等級等對整個外語學習資源進行分類管理,從而使得不同的學生根據需要對外語學習資源進行查找和檢索。該模塊主要包括添加、刪除和修改等功能。資源管理主要包括對資源的上傳、下載、掛接和修改等。其中上傳之前應根據不同的語種和等級對資料進行分類,最后再對資源進行上傳。
3)特色專題管理:該模塊主要針對比較具有特色的外語學習資源而建立的專題。其功能主要包括添加、刪除、更新、查看和掛接等功能。
系統架構作為系統運行的基礎,其布局的好壞將直接決定該系統的運行,對此本文通過對訪問模式的比較后,選擇B/S模式作為該系統的訪問模式。該模式與傳統的C/S模式相比,B/S訪問模式是在其基礎上發展起來的新型訪問模式。將傳統的Client/Server模式中的兩層結構分為3層,從而形成了新的Browser/Server模式。該模式只需要在客戶端安裝Web瀏覽器,即可實現對系統的訪問,從而省去了在PC端安裝客戶端應用程序所帶來的維護難題,以及每次對數據庫更新所帶來的對客戶端的更新。在技術架構方面,采用MVC設計架構,實現對業務邏輯訪問的控制,其具體的架構如圖2所示。
圖2 外語學習資源管理系統整體架構Fig.2 Overall architecture of foreign learning resource management system
該系統的實現是以MVC作為技術架構,該設計架構是以 Hibernate、Spring、Struct2和 JavaScript作為核心的開發技術。其中Hibernate相當于系統的Modle層。Hibernate作為在MVC架構開發中一個開放源代碼的對象映射框架,其可在任何的場合采用JDBC接口。其既可以被應用在Java的客戶端程序之上,同時也可應用在Servlet/Jsp的Web應用程序中。Hibernate還可應用在EJB的J2EE體系架構當中,從而取代其中的CMP,以此完成對數據的持久化的工作。在圖2中的Controller則相當于MVC架構當中的Spring層,其同時管理著Hibernate和Struct2,從而使得3個框架中能夠成為一體。通過Spring層,使得其不同之間的耦合性也大大的提高,保障了系統不同層的運行和響應。而其中Struct2的則Webwork以作為整體的核心,采用攔截器機制實現對用戶請求的處理。通過Struct2實現后臺邏輯業務和View層的數據的交換。采用這種方式,可以讓業務邏輯控制器和ServerletAPI完全脫離。最后再通過JSP的腳本語言實現對展示層結果的反應。而頁面的設計通過CSS實現對界面設計。
除上述的J2EE技術架構外,還需要對系統的數據庫等各個方面進行設計。在數據庫方面,考慮到系統用戶的不斷增多和對學習資源要求的增加,本文采用MYSQL數據庫,實現對數據的存儲。同時在數據存儲方面,利用其中的觸發器、函數等實現對復雜數據的處理,以此提高系統的響應速度。在這一類中,其主要是通過一類特定的SQL語句集來實現。在經過編譯之后將數據存儲在數據庫之中,用戶則通過制定存儲過程的名字對其進行實現。通過這樣等方式在于其具有較高的執行速度,并可提高整體系統的速度,以此提高學生對外語學習資源查詢、下載的速度。
在前端技術方面,采用Ajax提高用戶對網站的體驗。該技術為一種支持異步請求的技術,可以不需要刷新對界面上的數據進行自動更新。同時為減少該系統的編程工作,本文采用抽象編程的方式,通過反射機制和泛型來抽象其中的增、改、刪等功能,以此只需添加這些類即可實現功能。
在開發好外語學習資源管理系統之后,需要將該網站平臺接入到微信公眾平臺之中。而微信公眾平臺接口為用戶開發者和用戶提供了消息交互方面的能力。當用戶將消息發送給公眾號的時候,微信公眾服務器平臺則自動發出http請求,從而對接入的網站進行消息方面的推送,第三方服務器則通過響應包回復特定的結構,以此達到信息回復的目的。
1)網址接入
啟動微信開發模式時需要提供關于Token和URL的參數,其中的Token通常為開發者自己填寫,而URL則主要是以http://開頭,提供本系統的網址參數。在提交上述的參數之后,微信服務器將自動發送GET請求到填寫的URL上。如其通過驗證,則網站接入成功。
2)消息推送實現
在進行消息推送服務的時候,微信服務器將通過POST的方式填寫到URL當中,如在文本的推送中,在對文本信息進行推動的過程中,以XML結構為主,其參數的代碼編程為:
</xml>
3)微信平臺程序流程
通過圖3可實現對不同學習資源的查詢,從而了解最新的學習資源的情況。
圖3 微信服務號程序流程Fig.3 Programming flows of WeChat service account
通過上述開發技術的應用,實現了通過微信公眾平臺對外語學習資源查詢和利用,以此更好的通過微信滿足現代學生對外語學習資源的需求。但該系統的設計還需要更多的完善和調試,從而使其不斷完善。
[1]邢麗刃,徐博.基于云計算的網絡教學資源平臺建設研究[J].武漢大學學報:理學版,2012,51(S1):159-161.XING Li-ren,XU Bo.Research on the construction of network teaching resourcesplatformbased on cloud computing[J].Wuhan University:Natural Science,2012,51(S1):159-161.
[2]佘明洪,楊紅兵.教學資源管理系統的研究與設計[J].農業網絡信息,2011(7):130-132.SHE Ming-hong,YANG Hong-bing.Research and design of teaching resources management system[J].Agriculture Network Information,2011(7):130-132.
[3]司飆.基于MVC模式下的考試系統建模研究[J].計算機科學,2013,40(6A):403-406.SI Biao.Construction of examination system based on MVC mode[J].Computer Science, 2013,40(6A):403-406.
[4]胡啟敏,薛錦云,鐘林輝.基于Spring框架的輕量級J2EE架構與應用[J].計算機工程與應用,2008(5):115-118,133.HU Qi-min, XUE Jin-yun,ZHONG Lin-hui.Architecture and application of lightweight J2EEbased on spring framework[J].Computer Engineeringand Application,2008(5):115-118,133.
[5]李洋,孫永維,許冰,等.基于Ajax,Struts,Hibernate和Spring的J2EE架構[J].吉林大學學報:信息科學版,2011(6):576-584.LIYang,SUN Yong-wei,XU Bing,et al.Architecture of J2EE based on Ajax, Struts, Hibernate and Spring[J].Journal of Jilin University:Information Science,2011(6):576-584.
[6]陶以政,吳志杰,唐定勇,等.基于J2EE的應用框架技術研究[J].計算機工程與設計,2007(4):826-828.TAO Yi-zheng,WU Zhi-jie,TANG Ding-yong,et al.Research on the application architecture of J2EE[J].Computer Engineering and Design,2007(4):826-828.
[7]百度百科一微信公眾平臺[EB/OL].http://baike.baidu.com/view/9212662.htm.