張華
摘? ?要:信息門戶是智慧校園建設(shè)體系中非常重要的基礎(chǔ)平臺,有Web、APP和云服務(wù)等不同的技術(shù)路線,都面臨著建設(shè)技術(shù)要求高、系統(tǒng)穩(wěn)定性低、用戶體驗(yàn)較差等問題??梢愿鶕?jù)微服務(wù)松耦合、組件化的思想,基于微服務(wù)的構(gòu)架,設(shè)計多端一體化的信息門戶。微服務(wù)架構(gòu)的信息門戶把主要功能拆解成幾個主要的微服務(wù),微服務(wù)之間、前后端之間采用標(biāo)準(zhǔn)接口進(jìn)行協(xié)作,可以實(shí)現(xiàn)Web端、移動端、云端等多端調(diào)用同一個微服務(wù)而實(shí)現(xiàn)多端一體化,減少了功能迭代中的重復(fù)建設(shè),提升了一致性的用戶體驗(yàn)。經(jīng)過多年實(shí)踐,基于微服務(wù)架構(gòu)的多端一體化信息門戶也是成功和有效的。
關(guān)鍵詞:信息門戶;微服務(wù);智慧校園
中圖分類號:G434 文獻(xiàn)標(biāo)志碼:B 文章編號:1673-8454(2020)17-0081-05
一、引言
教育信息化是國家信息化發(fā)展整體戰(zhàn)略之一。高等學(xué)校紛紛通過建設(shè)智慧校園來推動教育信息化的發(fā)展。從智慧校園的發(fā)展歷程來看,在完成網(wǎng)絡(luò)等硬件條件建設(shè)之后,各高校側(cè)重打造管理信息系統(tǒng),以滿足師生的日常學(xué)習(xí)、工作和生活需要。隨著管理信息系統(tǒng)的日益增多,信息孤島、數(shù)據(jù)分割等問題成為新矛盾,一般通過建設(shè)統(tǒng)一身份認(rèn)證、信息門戶、共享數(shù)據(jù)庫“三大平臺”來部分解決信息孤島等問題。“三大平臺”的建設(shè),促使數(shù)據(jù)流動共享、信息匯集聚合、身份一致互通,極大改善了用戶體驗(yàn),也使“三大平臺”特別是“信息門戶平臺”逐漸成為智慧校園中業(yè)務(wù)技術(shù)最核心、使用頻次最高的基礎(chǔ)性平臺。一個好的信息化門戶對智慧校園而言,顯得尤為重要。
二、信息門戶及特點(diǎn)
1.信息門戶的定義
信息門戶是將各種信息資源進(jìn)行整合,通過單一的入口,為用戶提供訪問各種應(yīng)用和信息的服務(wù)[1]。是一個具有集成性特點(diǎn)的應(yīng)用系統(tǒng),通常會將學(xué)校的多項(xiàng)服務(wù)功能和數(shù)據(jù)集成到一個信息管理平臺,統(tǒng)一展示給全體用戶,因而具有唯一性、集成性、個性化和整體性等特征[2]。
2.Web信息門戶
信息門戶經(jīng)過多年的發(fā)展,也經(jīng)歷了多種形態(tài)和技術(shù)。發(fā)展初期支持PC桌面端瀏覽器的Web應(yīng)用。Web門戶多采用Portal技術(shù)將來自多個來源的內(nèi)容集成在一個頁面中。Portal是一個基于Web的應(yīng)用程序,提供個性化、單點(diǎn)登錄和不同資源的內(nèi)容聚合[3]。Portal頁面中有多個Portlet組件,每一個Portlet組件負(fù)責(zé)顯示一個來源的動態(tài)信息內(nèi)容。Portal門戶還能提供強(qiáng)大的自定義功能,方便用戶對界面進(jìn)行個性化設(shè)置。門戶的功能設(shè)計從而轉(zhuǎn)化為Portlet功能實(shí)現(xiàn),用戶在定制個性化頁面時,從注冊的Portlet中選擇可用且有權(quán)限訪問的Portlet[4]。
常見的聚合內(nèi)容有校園新聞、辦公系統(tǒng)通知公告等資訊類信息,校園卡余額等數(shù)字類信息,人事系統(tǒng)、教務(wù)系統(tǒng)等系統(tǒng)的單點(diǎn)登錄鏈接類信息。Web應(yīng)用由于PC性能較強(qiáng)、顯示面積較大,可以針對實(shí)際需求做重應(yīng)用,提供較為豐富的用戶側(cè)自定義功能,特別適合信息填報、復(fù)雜流程等,但也存在使用不便、操作繁瑣、穩(wěn)定性和可靠性差等缺點(diǎn)。
3.移動信息門戶
隨著移動互聯(lián)網(wǎng)的興起,手機(jī)等智能設(shè)備替代PC成為用戶的主要計算工具,各高校順勢提供基于手機(jī)、平板的移動門戶。初始的移動版門戶主要是對桌面版頁面做界面調(diào)整以適配手機(jī)版瀏覽器,或者針對手機(jī)版瀏覽器開發(fā)簡單查詢等小功能。因手機(jī)版瀏覽器性能較弱且不能完全替代桌面版應(yīng)用,移動版門戶提供的功能和信息都很有限,往往與桌面版應(yīng)用成兩套體系共存。受蘋果應(yīng)用市場中海量應(yīng)用的啟發(fā),學(xué)校開發(fā)了專用的移動門戶APP。移動門戶APP支持Android和IOS系統(tǒng),采用Native原生開發(fā)將所有信息和服務(wù)打包成一個原生應(yīng)用,可以充分利用定位、攝像頭等手機(jī)自帶功能,在便捷性和功能性上有較大優(yōu)勢,但存在開發(fā)技術(shù)門檻高、不同智能設(shè)備兼容性差、用戶推廣難度大的問題。
微信等商業(yè)互聯(lián)網(wǎng)超級平臺流行后,不少高校基于微信平臺開發(fā)移動信息門戶?;谖⑿殴娞柕囊苿娱T戶,對不同手機(jī)及手機(jī)操作系統(tǒng)兼容性強(qiáng),用戶只需關(guān)注微信公眾號即可,無需安裝APP。在開發(fā)上可以直接使用身份認(rèn)證、微信支付、微信推送等企業(yè)級功能,技術(shù)難度下降。但基于微信的移動門戶也受制于微信的生態(tài),使用自主性較低,且商業(yè)化平臺較多互不兼容,在選擇上較為困難,有時還需重復(fù)建設(shè)。
4.云信息門戶
也有部分高校利用成熟的商業(yè)化APP,通過購買服務(wù)的方式實(shí)現(xiàn)本校移動門戶,即移動門戶采用云服務(wù)架構(gòu),不自行開發(fā)和本地化部署,學(xué)校在云門戶平臺上開設(shè)本校帳戶,將師生用戶信息和組織架構(gòu)導(dǎo)入平臺中。門戶中的應(yīng)用為自行開發(fā)但按照平臺標(biāo)準(zhǔn)做好對接,或者直接使用平臺提供的通用性小應(yīng)用。云門戶進(jìn)一步降低了學(xué)校開發(fā)難度和經(jīng)費(fèi)投入,但是與商業(yè)化公司高度捆綁,且學(xué)校師生信息和應(yīng)用都在云端,信息安全有較大隱患,商業(yè)合作的可持續(xù)也有較大風(fēng)險。
5.信息門戶發(fā)展
用戶需求進(jìn)一步發(fā)展后,隨著H5技術(shù)的逐漸成熟,又有了同時支持Web瀏覽器、移動APP和微信等多種媒介的“全媒體”信息門戶[2]。從用戶現(xiàn)實(shí)需求和智慧校園生態(tài)來講,全媒體及多端一體化應(yīng)該是未來發(fā)展的趨勢。
隨著大數(shù)據(jù)技術(shù)的進(jìn)一步發(fā)展,智慧校園收集的用戶數(shù)據(jù)越來越多,在人工智能算法的基礎(chǔ)上,信息門戶還將實(shí)現(xiàn)對用戶的精準(zhǔn)化服務(wù),即不通過用戶的主動設(shè)置而是通過行為分析自動為用戶提供個性化信息服務(wù)。
從現(xiàn)狀看,各高校實(shí)現(xiàn)門戶的方法差異較大但建設(shè)比例較高,門戶已經(jīng)成為學(xué)校信息化體系中一個非常重要的基礎(chǔ)性平臺和用戶入口。縱觀門戶的建設(shè)歷史,對門戶平臺的選擇往往緊跟社會熱潮,從Web應(yīng)用、微博、微信、APP、云服務(wù)等平臺不斷遷移,或借鑒商業(yè)化平臺的理念自行研發(fā),或直接納入商業(yè)化平臺的生態(tài)。平臺的多變,導(dǎo)致用戶體驗(yàn)的割裂,用戶學(xué)習(xí)成本較高;門戶產(chǎn)品的多次推翻重新建設(shè),其技術(shù)和功能的延續(xù)性不足;不夠穩(wěn)定統(tǒng)一的門戶平臺不能逐步建立起校園信息化生態(tài)。所以,現(xiàn)有門戶平臺在性能可靠性、技術(shù)先進(jìn)性、用戶認(rèn)可度等方面還有很大的不足。表1為信息門戶的比較。
三、基于微服務(wù)思想的信息門戶
1.信息門戶的定位
因產(chǎn)品的定位及技術(shù)選擇,信息門戶往往與統(tǒng)一身份認(rèn)證、小應(yīng)用、信息閱讀等做了緊耦合處理,開發(fā)難度大、穩(wěn)定性差,難以實(shí)現(xiàn)快速平滑迭代,也無法與第三方應(yīng)用進(jìn)行合作和協(xié)作。
一個較為理想的信息門戶平臺除了能提供信息內(nèi)容的聚合展示,還要能滿足在電腦桌面端、移動端等多端的統(tǒng)一用戶體驗(yàn),并要建立一套與第三方應(yīng)用、系統(tǒng)對接的標(biāo)準(zhǔn),緊跟社會化平臺的發(fā)展趨勢和形態(tài),能圍繞門戶構(gòu)建良好的生態(tài)體系。在傳統(tǒng)的單體應(yīng)用開發(fā)模式下,整個項(xiàng)目代碼都在同一個應(yīng)用工程中,無法適應(yīng)松耦合、高靈活性、高可靠性和快速迭代、協(xié)作性強(qiáng)的要求,可基于微服務(wù)的思想和架構(gòu)構(gòu)建多端一體化的信息門戶平臺。
2.微服務(wù)架構(gòu)
微服務(wù)架構(gòu)是面向服務(wù)(Service Oriented Architecture,SOA)架構(gòu)的一種實(shí)現(xiàn),是將傳統(tǒng)的單一應(yīng)用程序拆分為若干個小的服務(wù)即微服務(wù)。微服務(wù)可以獨(dú)立開發(fā)、部署、運(yùn)行、迭代,相互之間一般通過基于HTTP的RESTful API進(jìn)行通信協(xié)作以實(shí)現(xiàn)較為復(fù)雜的業(yè)務(wù)功能。理論上微服務(wù)可具備從運(yùn)行環(huán)境到數(shù)據(jù)庫到業(yè)務(wù)功能等自下而上完整的體系,甚至可以使用不同的程序語言來編寫。
微服務(wù)架構(gòu)的主要特點(diǎn)是組件化、松耦合、去中心化。微服務(wù)思想就是將復(fù)雜大系統(tǒng)拆解成相對簡單的小系統(tǒng),再通過小系統(tǒng)協(xié)作實(shí)現(xiàn)復(fù)雜功能。同時也將系統(tǒng)風(fēng)險分散到每一個微服務(wù),避免單個微服務(wù)的缺陷、出錯或者升級、擴(kuò)展而導(dǎo)致大系統(tǒng)的崩潰或不可控。
3.微服務(wù)門戶及功能
微服務(wù)思想和架構(gòu)的信息門戶,核心就是將信息門戶解耦,對門戶涉及的主要功能做垂直分工,分別單獨(dú)開發(fā),再按照規(guī)范和標(biāo)準(zhǔn)進(jìn)行對接和組裝以實(shí)現(xiàn)完整功能。根據(jù)門戶功能劃分,可拆分為如下幾個主要“微服務(wù)”。
(1)主服務(wù)(portal_service_main)
主服務(wù)主要是作為門戶的基本框架,可以像容器一樣允許其他功能性微服務(wù)運(yùn)行其中,如圖1所示。主服務(wù)可以獨(dú)立運(yùn)行,當(dāng)沒有任何其他功能性微服務(wù)時就是空白界面,功能增加只需對新增的微服務(wù)做配置,而無需重新開發(fā)和發(fā)布。
(2)認(rèn)證微服務(wù)(portal_service_auth)
認(rèn)證服務(wù)提供門戶的注冊、登錄和單點(diǎn)登錄(Single Sign On,SSO)等功能。由于在智慧校園整體規(guī)劃中,統(tǒng)一身份認(rèn)證是獨(dú)立于門戶單獨(dú)存在的系統(tǒng),門戶是統(tǒng)一身份認(rèn)證提供認(rèn)證服務(wù)的第三方應(yīng)用,門戶認(rèn)證微服務(wù)通過Oauth2.0協(xié)議和標(biāo)準(zhǔn)專門負(fù)責(zé)與統(tǒng)一身份認(rèn)證系統(tǒng)的對接。
門戶是內(nèi)部系統(tǒng),一般不對非特定對象開放注冊功能,在用戶首次登錄門戶且通過統(tǒng)一身份認(rèn)證合法認(rèn)證后自動在系統(tǒng)中添加用戶信息,實(shí)現(xiàn)自動注冊。門戶認(rèn)證注冊登錄流程如圖2所示。
(3)應(yīng)用微服務(wù)(portal_service_app)
為每個應(yīng)用提供唯一的標(biāo)識和統(tǒng)一的管理,對納入門戶的應(yīng)用進(jìn)行全生命周期管控,從注冊、偵測、核驗(yàn)、部署、監(jiān)控、迭代一直到消亡。為應(yīng)用發(fā)布者提供應(yīng)用的對接、上架、發(fā)布、下架等。為應(yīng)用開發(fā)者提供對接的標(biāo)準(zhǔn)PAI接口、數(shù)據(jù)標(biāo)準(zhǔn)、用戶交互規(guī)范等。
public class portal_service_app {
// 分別定義應(yīng)用ID、應(yīng)用號、圖標(biāo)地址、名稱、地址、備注等
private String app_ID;
private String app_Code;
private String app_IconUrl;
private String app_Name;
private String app_Url;
private String app_Note;
}
在用戶側(cè)為用戶提供各有訪問權(quán)限的應(yīng)用鏈接,作為跳轉(zhuǎn)訪問其他應(yīng)用的入口,實(shí)現(xiàn)單點(diǎn)登錄訪問。門戶小應(yīng)用單點(diǎn)登錄流程如圖3所示。
應(yīng)用微服務(wù)可通過API接口的方式獲取第三方應(yīng)用的結(jié)果性信息并在門戶中展示給用戶。門戶調(diào)用小應(yīng)用結(jié)果信息規(guī)范如表2所示。
(4)訂閱微服務(wù)(portal_service_infor)
為用戶提供多來源信息資訊內(nèi)容的聚合展示,如通知、新聞、公告等,用戶可訂閱自己有興趣的內(nèi)容,訂閱的信息內(nèi)容按照瀑布流的方式展示。為信息發(fā)布者提供資訊內(nèi)容的分類、上架、發(fā)布、下架等。對不同來源的信息做規(guī)范化定義,提供數(shù)據(jù)的規(guī)范和標(biāo)準(zhǔn)等,采用自動抓取或接受推送的方式獲取信息內(nèi)容并做本地化保存。
public class portal_service_infor {
// 分別定義訂閱ID、編號、標(biāo)題、副標(biāo)題、圖片地址、作者、時間、來源ID號、原文地址等
private String info_ID;
private String info_Code;
private String info_Title;
private String info_Description;
private String info_PhotoUrl;
private String info_Author;
private String info_Time;
private String info_SrcID;
private String info_SrcUrl;
}
(5)日程微服務(wù)(portal_service_calendar)
提供日程基本功能,公共日程、日歷的管理。以日歷的方式展示公共日程、個人日程、課表、會議安排等相關(guān)信息。提供日程標(biāo)準(zhǔn)API接口。