羅輝瓊,梁卓明,何明發(fā)
(華南師范大學 網絡中心,廣東 廣州510631)
隨著移動智能終端的普及,移動互聯(lián)網時代的大步邁進,高校用戶對移動應用的需求越來越旺盛,校園移動平臺的建設已經成為高校信息化建設的一大趨勢。目前,越來越多的高校已推出了自己的官方移動應用。[1]華南師范大學為迎接“智慧校園”時代的到來,適時邁出了校園移動應用建設的步伐,于2013年著手建設華南師范大學校園移動開放服務平臺(Internetmobile university,IMU)。
目前,業(yè)界開放平臺(Open Platform)[2],如騰訊開放平臺、百度框計算搜索開放平臺等,其均是將各種不同的網絡服務封裝到一系列計算機易于識別的數(shù)據(jù)接口當中,并開放這些接口,由此第三方開發(fā)者可以基于開放平臺的開放API(應用程序編程接口)開發(fā)各種應用、構造出一個宏大的生態(tài)圈,吸引更多的第三方開發(fā)者和獨立軟件提供商到該平臺下發(fā)展,最終實現(xiàn)雙贏目的。
華南師范大學IMU面向全社會開放其開發(fā)環(huán)境、數(shù)據(jù)接口、數(shù)據(jù)標準,全校師生、校友、企業(yè)和社會力量均可以基于該平臺開發(fā)校園應用。一直以來,學校都有很多創(chuàng)業(yè)、創(chuàng)新的科研項目,學生團體也很活躍,成果豐富,但遺憾的是暫時還沒有很好的把這些成果真正用到校園信息化這個層面上來?,F(xiàn)在,華南師范大學IMU恰好為此提供了一個很好的平臺,IMU正是希望能夠通過全校性的開放共建,打造一個新型的智慧校園生態(tài)圈。
華南師范大學校園移動平臺(IMU)的建設目標是建設一個統(tǒng)一、開放、可擴展的校園應用開放服務平臺和開發(fā)部署環(huán)境,支撐學校目前乃至未來的各類移動應用。該平臺具有跟數(shù)字校園應用系統(tǒng)進行數(shù)據(jù)對接的能力,系統(tǒng)對接采用松耦合的方式,具有靈活的擴展接口。
IMU從2003年初開始籌建,目前已完成一期建設,推出了校園門戶、微華師、校園應用、學友圈等服務。一期建設推出的熱門應用深受師生的歡迎,但跟建設目標的功能豐富、內容飽滿還有一定的距離,迫切需要校內各部門、團體積極參與建設。IMU是一個開放性的平臺,各部門各單位均可以申請成為開發(fā)者,直接在平臺上創(chuàng)建應用,對接本單位的業(yè)務數(shù)據(jù),對外提供數(shù)據(jù)查詢。因此,IMU平臺的定位是基于平等、開放、創(chuàng)新的互聯(lián)網理念,幫助校內單位更有針對性地滿足目標用戶需求,為用戶提供更多個性化、智能化的創(chuàng)新應用,提升端到端體驗。
IMU的最終目標是開放共建智慧校園[3]生態(tài),即希望能夠通過全校性的開放共建,形成一個新型的智慧校園生態(tài)圈。業(yè)界開放平臺之所以能夠成功并吸引成千上萬的開發(fā)者加入,是因為開放平臺能夠創(chuàng)建一個生態(tài)圈,生態(tài)圈里的每一個角色,都能在生態(tài)圈里面獲取自己需要的資源。學校的開放平臺同樣希望通過開放的心態(tài)吸引眾多的開發(fā)者一起共建華師的智慧校園生態(tài)圈。在這個生態(tài)圈里,用戶是中心,通過數(shù)據(jù)整合、數(shù)據(jù)的橫向流動及開發(fā)者的創(chuàng)新應用,提升用戶的使用體驗,而用戶體驗的提升又會進一步促進數(shù)據(jù)的流動,最終形成一種良性的循環(huán)。
IMU的建設是華南師范大學智慧校園的新起點,經過多年數(shù)字校園的建設,已為智慧校園大數(shù)據(jù)時代的到來作好了數(shù)據(jù)和服務的準備,同進也為IMU平臺的開放奠定了基礎。
首先,經過多年的信息化建設,校內各業(yè)務系統(tǒng)積累了穩(wěn)定的業(yè)務運行數(shù)據(jù);其次,伴隨我校數(shù)字校園的深化建設,各基礎應用數(shù)據(jù)都在不斷增加;另外,隨著信息化建設的深入發(fā)展,校內用戶的信息化素養(yǎng)也在不斷增高;再者,近年來智能終端的普及,使得數(shù)據(jù)采集工具進一步豐富。這些都為IMU的開放奠定了殷實的基礎。IMU的基礎就是以數(shù)據(jù)為核心,用戶為基石,通過用戶不斷積累數(shù)據(jù)。
IMU為吸引眾多開發(fā)者參與共建,其開發(fā)環(huán)境、接口及數(shù)據(jù)標準均對外開放。IMU含有豐富的接口,對外開放的資源有四種類型,最基本的服務是統(tǒng)一身份認證接口。
1)計算資源:云主機資源(通過華南師范大學信息化公共云平臺提供支持)、高性能數(shù)據(jù)庫(ORACLE、MYSQL、SQL SERVER)。
2)業(yè)務數(shù)據(jù):通過分析業(yè)務運行數(shù)據(jù),獲取更多對學校管理有用的信息。例如一卡通數(shù)據(jù)、圖書數(shù)據(jù)、網絡運行數(shù)據(jù)。
3)個人數(shù)據(jù):通過個人數(shù)據(jù)的接口開放,可以更好的展現(xiàn)個人風采。例如:科研數(shù)據(jù)、學業(yè)數(shù)據(jù)、自媒體數(shù)據(jù)(微博、空間等)。
4)消息接口:通過該接口可以向最終用戶發(fā)送信息,比如失物尋找,如果有一卡通的話,可以直接通過一卡通號向用戶發(fā)送信息。
統(tǒng)一身份認證接口是IMU對外開放資源中的核心服務。統(tǒng)一身份認證是為減少用戶在使用校內各應用系統(tǒng)時輸入多個帳號密碼的不便而設計,統(tǒng)一身份認證服務使得用戶只需記住一個帳號密碼,在多個應用中登錄一次就可訪問所有資源。
IMU統(tǒng)一身份認證接口提供了兩種驗證方式:一種是采用Oauth 2.0協(xié)議標準[1,4],另外一種是采用Hessian調用遠程登錄接口。可根據(jù)實際情況采用其中一種來驗證。在分析具體的認證流程前,首先定義角色:
1)統(tǒng)一身份認證服務器:用戶帳戶信息存放點。
2)用戶:存放在服務提供方的受保護的資源擁有者。
3)應用服務器:要訪問服務提供方資源的第三方應用,通常是網站(如教務系統(tǒng)、門戶網站等)。
4)客戶端:只指安裝在手機或其他移動平臺上的應用客戶端軟件。
(1)Oauth2.0認證方式
Oauth2.0認證方式適用于注冊在統(tǒng)一身份認證服務器上的應用提供方。在安全性方面[5]通過兩種方式進行安全保障:通過密鑰限制應用提供方訪問統(tǒng)一身份認證服務器;用戶認證過程中無需對應用提供方暴露帳號和密碼。Oauth2.0授權機制又按接入方式的不同有所區(qū)別。
1)網站接入認證
①用戶向應用服務器請求登錄。
②應用服務器返回參數(shù)(client_id(應用服務器唯一身份識別碼),response_type(固定為code),redirect_url(接收結果地址))并跳轉至統(tǒng)一身份認證服務器認證界面,如果用戶已經在統(tǒng)一身份認證服務器登錄,則進入第5步,否則進入第3步。
③統(tǒng)一身份認證服務器返回用戶登錄界面。
④用戶憑帳號密碼(account,password)登錄。
⑤統(tǒng)一身份認證服務器返回結果至redirect_url(成功則返回code(訪問授權碼),失敗則返回錯誤信息)。
⑥應用服務器憑client_id,client_secret(應用服務器密鑰),grant_type(固定值為authorization_code),redirect_url,code(第5步所得)向統(tǒng)一身份認證服務器申請access_token(訪問授權碼)。
⑦統(tǒng)一身份認證服務器返回access_token至第8步提供的redirect_url。
⑧應用服務器憑access_token訪問用戶資源。
⑨統(tǒng)一身份認證服務器返回申請資源結果至應用服務器。
⑩應用服務器將登錄結果返回至用戶瀏覽器。
2)移動應用接入認證
①客戶端調用統(tǒng)一身份認證服務器提供的SDK(軟件開發(fā)工具包)請求授權。
②統(tǒng)一身份認證服務器返回結果。
③客戶端向應用服務器傳遞code。
④應用服務器使用code向統(tǒng)一身份認證服務器申請access_token。
⑤統(tǒng)一身份認證服務器向應用服務器返回請求結果。
⑥應用服務器使用access_token向統(tǒng)一身份認證服務器請求用戶信息。
⑦統(tǒng)一身份認證服務器返回用戶信息。
⑧應用服務器向客戶端返回驗證結果。
(2)基于Hessian調用遠程接口認證方式
基于hessian調用遠程接口驗證方式適用于校內可信任的應用服務提供方(如JAVA平臺)。該認證方式在安全性方面通過兩種方式進行安全保障:封裝接口訪問資源,以避免暴露遠程接口的地址;服務器限定訪問來源。
①用戶向應用服務器請求登錄。
②應用服務器調用遠程接口,將用戶帳號密碼(account,password)提交至統(tǒng)一身份認證服務器進行認證。
③統(tǒng)一身份認證服務器將認證結果返回至應用服務器。
④應用服務器將結果返回至用戶界面(客戶端)。
IMU是一個開放的平臺,所有有能力的個人與組織(如各部門單位、在校師生、校友或企業(yè)等)均可以申請成為開發(fā)者,在這個平臺上開放建設移動應用,或者把已開發(fā)好的APP通過改造接入IMU大平臺。IMU接入地址為:http://app.scnu.edu.cn。接入方式如圖6所示。
其中,原生程序為通過插件方式加載(類似微信游戲中心)。WEBAPP方式為通過校園APP內嵌瀏覽器調用。IMU提供符合互聯(lián)網業(yè)界標準的開放API、SDK,降低學習、使用的門檻,滿足其在多種應用場合下的需要。其中開放化API接口定義為:接口文檔公開化、接口實現(xiàn)多樣化、接口實現(xiàn)標準化。開放化API接口共性特征:遵循互聯(lián)網界流行的開放標準;簡潔交互流程、輕量級調用方式;松耦合/獨立/內聚的接口功能;普及度高的通用編程語言實現(xiàn)。例如WEPAPP開發(fā)有:HTML5、CSS3、JAVASCRIPT;原生方式開發(fā)有:Android、IOS、Windows Phone[6,7]。
用戶接入平臺項目須滿足一定的要求,首先必須符合國家的相關法律法規(guī);并可服務于我們華南師范大學的用戶(包括師生校友等);具有一定的創(chuàng)新性;達到上線要求,無明顯的BUG等。目前已有的定向項目如:校內點評、一卡通消費行為分析、日常維修申報、移動客戶端上的視頻會議功能等。用戶接入項目首先登錄app.scnu.edu.cn,下載申報書;收到確認后(獲取AppKey),根據(jù)平臺選擇開發(fā)接口,進行接口調測;進而根據(jù)相關協(xié)定開發(fā)創(chuàng)建應用,接入校園移動平臺。
華南師范大學移動應用平臺IMU基于開放、共建、創(chuàng)新的理念,對外開放其開發(fā)環(huán)境和數(shù)據(jù)標準,并提供了豐富的接口和各種資源,吸引了眾多校內開發(fā)者、部門單位積極參與移動應用開發(fā)。IMU幫助校內單位更有針對性地滿足目標用戶需求,為用戶提供更多個性化、智能化的創(chuàng)新應用,提升了端到端的用戶體驗,最終打造了一個開放、合作、共贏的智慧校園生態(tài)圈。這在高校信息化建設中的移動應用開發(fā)之路具有一定的參考價值。
[1]王左利.校園移動平臺:未來的主角[J].中國教育網絡,2012(11):14-17.
[2]劉鏑,張智江,張尼.基于國內開放平臺的Oauth認證框架研究[J].信息通信技術,2011(6):43-46.
[3]呂倩.基于云計算及物聯(lián)網構建智慧校園[J].計算機科學,2011(10).
[4]Hammer E.Beginner's Guide to OAuth[EB/OL].(2011-07-15).http://hueniverse.com/2007/10/beginnersguide-to-oauth-part-i-overview.
[5]朱蔚恒,周偉,龍舜等.開放平臺解決方案及其安全策略研究[J].計算機工程,2012(6).
[6](美)凱瑞恩著,林星譯.HTML5移動應用開發(fā)入門經典[M].人民郵電出版社,2013.3,22-86.
[7](美)康德爾,達西著,張魏,李卉譯.Android移動應用開發(fā)從入門到精通[M].人民郵電出版社.2010-7-1,43-95.