溫文雅
(集美大學誠毅學院實驗管理中心,福建廈門361021)
隨著移動互聯網的發展,高等院校師生通過移動設備訪問教務系統進行課表查詢、選課管理、成績查詢、監考查詢、教室查詢、教學測評等需求與日俱增。已有的移動教務系統實現方式主要有基于Native移動應用[1-2](簡稱Native模式)、基于混合模式移動應用[3-5](簡稱Hybrid模式)和基于微信平臺[6-9](簡稱微信模式)。Native模式的用戶體驗比較好,但需要針對Android和iOS各開發一套APP和對應的移動應用功能,任何功能的修改均要重新發布APP,建設和維護成本高[10];APP需要通過互聯網訪問處理教務數據,安全性較低。Hybrid模式只需要一套APP代碼,且APP上的移動應用功能只需要開發一套,單獨部署在服務器上,通過配置URL鏈接的方式使用,建設和維護成本較低,但是發布移動應用的服務器需部署在外網才能讓學校師生通過互聯網訪問,服務器容易被攻擊,安全性較低。基于微信平臺的移動應用,借助微信公眾號配置移動應用頁面鏈接和信息交互兩種方式,不需要獨立開發和維護APP,建設和維護成本低,但配置鏈接的方式要求此移動應用系統部署在互聯網,容易被攻擊,安全性較低;信息交互的方式由用戶發送指令給微信,微信回調教務系統的服務,并將指令推送給教務系統,教務系統將查詢到的數據返回給微信,再由微信推送給用戶,用戶體驗比較差。
為解決上述三種方式的安全性問題,有些高校購買了深信服等第三方企業的VPN應用,并將移動應用的服務器部署在內網,在校老師通過在移動設備上安裝和連接VPN的方式進行訪問。移動VPN的建設成本較高,主要提供給學校老師使用,較難覆蓋到全體學生。鑒于高等院校在移動教務系統的成本投入相對有限,因此如何以低投入建成安全性高、體驗好的系統是一個難題。本文深入研究多個高校已建成的移動教務系統的設計模式和主流移動互聯網應用實現方式,分析它們在成本投入、信息安全和用戶體驗方面的優缺點,提出一種基于混合模式移動應用+微服務的四層架構模型,依托學校PC版教務系統已有的資源,以成本低、安全系數高和體驗好的目標實現了支持Android和iOS兩大主流移動設備的移動智能教務系統。
分析傳統教務系統的特點,在不改變已有系統的基礎上,設計基于混合模式+微服務的智能教務系統方案,如圖1所示。系統包括智能教務APP客戶端、移動應用系統、接口服務器和智能教務后端管理平臺4個部分,其中移動應用系統部署在互聯網,微服務系統、后端管理系統和Mysql數據庫部署在內網。

圖1 系統網絡拓撲圖
APP客戶端基于開源的AppCan Hybrid混合移動開發平臺[11-13],采用Html5語言進行開發。因HTML5的跨平臺特性,故只需要開發一套代碼便可發布在Android和iOS等主流的移動終端APP[14]。APP端主要實現的功能為用戶認證、語音搜索、消息中心管理和個人中心(圖2中的移動教務APP內核)。APP上的各移動教務子應用在移動應用系統中實現(圖2中的移動應用系統),APP端只開發顯示這些應用的界面,用戶訪問這些應用時,APP起的作用類似一個瀏覽器,跳轉到具體的應用地址。此模式確保了移動教務子應用功能新增、更新時不需要重新發布APP,降低了APP的維護成本。
移動應用系統采用Html5語言開發,實現所有移動教務子應用的前端界面展示和后端邏輯處理功能,但不處理數據交互,所有的數據交互均調用部署在內網的微服務系統提供的服務,有效杜絕外網服務器接觸數據,提升數據的安全性。

圖2 混合模式+微服務模式核心技術
在不調整已有PC版教務系統、確保數據安全、具備較強的擴展性等前提下,建設基于微服務架構的微服務系統,供互聯網的移動應用系統查詢和處理內網數據。主要功能如下。
(1)微服務內容:根據微服務特性及當前師生移動化業務處理需求,建設考試信息服務、課程信息服務、教學管理服務、教室信息服務和教務信息服務等,所有服務間無任何耦合關系,且直接與原有PC版教務系統的數據庫進行數據交互,不需要調整已有PC版系統代碼?;谖⒎盏哪J?,可靈活修改服務,以快速適應未來移動端教務業務需求的變化,使移動教務系統具備可維護性、可擴展性和靈活性等特點。
(2)微服務鑒權:為提升服務的安全性,每個服務均啟用訪問授權策略,授權方式為賬戶認證模式。系統采用PBE加密算法,移動應用系統使用KEY和鹽(8位隨機數)對明文密碼進行加密,并將密文密碼作為參數請求微服務系統的服務。服務接收請求后,采用KEY對密文密碼進行解密,確認密碼正確后將數據返回移動應用系統(PBE加解密原理詳見圖3和圖4)。

圖3 PBE加密原理

圖4 PBE解密原理
(3)網絡隔離:在網絡層面限制微服務系統對外開放的端口。微服務系統服務器僅開放8080應用端口給移動應用系統訪問,其他端口不可訪問,并禁止其他外網IP訪問服務器的任何端口,從物理層面進行隔離。
后端管理系統包括應用管理、權限管理、智能信息管理和終端信息管理等,實現移動應用的發布管理、應用訪問權限管理和用戶手機終端手機類型管理,并實時將消息推送到用戶APP上,Android手機終端直接推送到APP,iOS手機終端推送到蘋果APNS服務器(Apple Push Notification service)。
移動智能教務系統重點實現學校師生常用的功能,并根據教師和學生兩種身份呈現不同的功能界面。用戶登錄時,系統自動根據用戶身份進入對應界面。
(1)教師端功能。教師端APP主要滿足教師處理教學工作、查看教務信息和監考信息,包括教學任務、教學評測、課表查詢、監考查詢、班級查詢、智能提醒等。智能提醒分別設置上課和監考的提醒,提醒方式為推送APP消息。提醒時間分為兩種:上午的課程或監考默認提醒時間為前一天晚上8點,下午的課程或監考默認提醒時間為當天中午12點。通過智能提醒,可規避忘記上課或監考的教學事故。
(2)學生端功能。學生端APP主要滿足學生查詢課程信息、查看考試成績和選課,具體包括個人課表查詢、考試安排、成績查詢、課程查詢、培養計劃、教學評測、教務通知和辦事指南等,方便學生使用手機通過互聯網處理教務事務。
(3)語音搜索功能?;贏PPCAN開源平臺提供的語音插件,結合建立的詞表,實現快速搜索和處理業務。系統將接收的語音進行拆詞和意圖識別,繼而執行具體的任務,快速返回用戶需要的數據,提升用戶使用體驗[15]。
APP打包:基于APPCAN平臺提供的打包工具,將實現的客戶端代碼打包生成Android和iOS兩類APP。iOS APP打包前,使用學校申請的蘋果開發者賬戶生成對應的證書及描述文件,打包時導入證書和描述文件后生成iOS ipa安裝包和plist文件,用編輯器打開plist文件,將參數中的最后一個<string>標簽值修改為iOS ipa安裝包發布的地址。
APP發布:Android APP的apk安裝包直接發布到學校網站讓師生下載安裝。iOS APP的發布除了將ipa安裝包發布到學校網站外,還必須將plist文件發布在學校https網站里,學校師生通過訪問地址“itms-services://?action=download-manifest&url=plist文件地址”進行下載安裝,可將此地址轉換成二維碼供師生掃碼下載安裝。
從成本投入、數據安全和用戶體驗三方面對混合模式+微服務模式和Native模式、Hybrid模式、微信模式進行對比分析。
成本投入。在開發成本方面:實現所有相同的功能,Native模式需要開發Android和iOS兩套代碼,開發成本約為其他三種的兩倍。在維護成本方面:Native模式對任何功能進行改動都需要重新發布APP,代價最大;混合模式+微服務模式和Hybrid模式只有當APP不兼容新的Android和iOS操作系統時才需要更新APP,代價較低;微信模式雖無APP更新維護投入,但需要針對微信的版本更新,對移動應用功能進行測試驗證和進行對應代碼調整。因此,在成本投入方面,Native模式投入最高,其他三種模式沒有較大的差距,大體相同。
數據安全。混合模式+微服務模式的四層架構、微服務鑒權和網絡隔離,有效提升了互聯網移動應用系統與內網應用進行數據交互的安全性,降低了數據泄漏的風險;Native模式和Hybrid模式允許互聯網的終端設備或部署在互聯網的服務器直接訪問內網教務數據,存在數據泄漏的風險,安全性較低;微信模式使用配置鏈接的方式允許部署在互聯網的服務器可直接訪問內網,安全性較低。因此,數據安全性從高到低依次為混合模式+微服務模式、微信模式、Native模式和Hybrid模式。
用戶體驗。微信模式只能基于微信提供的功能和開放的部分組件而建,受到的限制較多,無法根據高等院校的特點進行個性化的建設,用戶體驗較低;混合模式+微服務模式、Native模式和Hybrid模式均可基于開源的移動平臺建設,各類組件豐富,可滿足高等院校各種個性化的需求,用戶體驗較高。因此,混合模式+微服務模式、Native模式和Hybrid模式的用戶體驗大體相同,且均好于微信模式。