文 /李若淼 楊旭 樊春
(作者單位為北京大學計算中心)
移動終端的普及極大地加速了信息的傳播,無論在何時何地,人們都可以享受到高速的網(wǎng)絡服務。通過近些年的網(wǎng)絡建設,無線熱點已經(jīng)覆蓋了北京大學校內的大部分區(qū)域,這在為廣大師生員工提供了更便利的網(wǎng)絡環(huán)境的同時,也對學校的信息化服務提出了新的要求。科技的快速發(fā)展帶來了種類繁多的移動設備,從最早的功能手機到現(xiàn)在已席卷全球的智能手機,從Android平臺到iOS平臺,從3寸屏到9寸屏,眾多的移動設備給開發(fā)人員帶來的最大的難題就是如何讓每臺設備都有良好的用戶體驗,可以考慮以下三種方式解決這個問題:
第一種途徑是維持現(xiàn)狀。用戶直接通過移動設備上的瀏覽器訪問學校網(wǎng)頁。顯然用戶在訪問那些為高分辨率瀏覽器設計的網(wǎng)頁在移動設備相對較小的屏幕時無法得到良好的用戶體驗,這也將直接導致用戶不愿意再次使用移動設備獲取信息。
第二種途徑是為學校各網(wǎng)站設計低分辨率的網(wǎng)頁。用戶通過移動設備的瀏覽器訪問的是優(yōu)化后的網(wǎng)頁,能夠獲得較好的用戶體驗。但由于移動設備種類繁多,屏幕尺寸不一,很難保證所有移動終端都能夠展示出優(yōu)質的界面。
第三種途徑是通過響應式設計展示網(wǎng)頁。移動客戶端在訪問網(wǎng)站時,會向服務器發(fā)送自己的設備信息,服務器通過對設備信息的判斷和分類,根據(jù)不同的系統(tǒng)平臺、屏幕尺寸等信息,通過流式系統(tǒng)布局、可縮放的圖片等方法,向客戶端展示優(yōu)化后的網(wǎng)頁。
在這三種途徑中,響應式設計無疑是移動網(wǎng)頁技術發(fā)展的趨勢,這種方式讓開發(fā)人員在面對分辨率不同、尺寸各異、平臺不一的移動設備時依然能夠為用戶提供較好的使用體驗。作為高校移動門戶,面對廣大師生數(shù)量龐大的移動設備,更有必要采用響應式設計,為老師同學提供更舒適信息服務。件和演出活動。
5.學生和教職工服務
針對不同用戶,提供不同的服務,滿足不同的需求是移動門戶的特色之一。移動門戶將所有用戶分為三類:未登錄用戶、登錄的學生用戶和登錄的教職工用戶。用戶通過統(tǒng)一身份認證系統(tǒng)登錄后可以根據(jù)自己的角色查詢不同的信息。學生用戶登錄之后可以查詢自己的考試成績、本學期的課程內容以及獎學金等財務收入情況;教職工用戶登錄后可以查詢自己的工資和科研經(jīng)費等項目。
6.畢業(yè)離校和新生入學
根據(jù)學校的特點,移動門戶在7月初和8月底分別針對畢業(yè)生離校和新生入學提供了相應的服務。7月,畢業(yè)的同學可以通過移動門戶查詢自己的畢業(yè)離校手續(xù)辦理情況,不需要辦理或者已經(jīng)辦理完成的手續(xù)就不再需要去柜臺辦理,有效減少了同學們辦理離校手續(xù)的時間。在8月底新生入學之際,移動門戶針對新同學推出了新生地圖、入學須知和報到進程三個模塊。其中新生地圖詳細標注了新生在開學初期需要辦理事務的地方,入學須知介紹了新生入學的流程和開學報到須知,報到進程記錄了新生報到手續(xù)的辦理情況。幫助初來乍到的新同學更快地融入新的校園生活。
7.概況和常用電話
移動門戶在北大概況模塊中介紹了北京大學的一些基本信息,為用戶了解北大提供一個便捷的窗口。同時,移動門戶提供了校內的一些緊急電話,用戶可以直接通過移動門戶撥打電話尋求幫助。
8.空閑教室查詢
選擇自習教室長期以來是困擾學生們的一個問題,為此,移動門戶為用戶提供了校本部教學樓的使用情況。用戶可以通過空閑教室模塊查詢教學樓的教室占用情況,合理選擇自習教室。
通過大量調研,我們決定采用Kurogo框架作為底層開發(fā)面向移動設備的北京大學校內信息門戶。Kurogo框架是一個開源項目,源于2008年的MIT校園移動門戶項目。經(jīng)過多年的開發(fā),Kurogo框架已經(jīng)幫助哈佛等多所大學建立了移動門戶。
Kurogo框架提供了設備偵測功能,使用Platform和pagetype兩個屬性對所有設備分類。Platform包括ANDROID、BBPLUS、BLACKBERRY、 COMPUTER、FEATUREPHONE、IPHONE、 IPAD、P A L M O S、S P I D E R、S Y M B I A N、WEBOS、WINMO 和 WINPHONE7、,pagetype包括了basic, compliant和tablet三個值。服務器在收到請求后,會根據(jù)user agent字段內容來判斷當前請求來源于哪種設備。如果用戶需要,還可以自定義判斷規(guī)則,實現(xiàn)更有針對性的分類。例如一個運行Android系統(tǒng)的平板電腦,它的兩個屬性值就可能是platform=ANDROID,pagetype=tablet。在此基礎上,Kurogo實現(xiàn)了響應式的頁面設計。根據(jù)用戶終端的不同,服務器可以按照一定規(guī)則選擇返回給客戶端顯示的內容,開發(fā)人員可以針對不同的設備開發(fā)更加友好界面內容。北京大學校內信息門戶在此基礎上設計了針對不同設備的頁面,使用戶在平板電腦、智能手機甚至功能機上都能方便地獲取信息。
Kurogo框架提供了較成熟的數(shù)據(jù)獲取和數(shù)據(jù)解析功能,所有的數(shù)據(jù)獲取對象都繼承自DataRetrieve類,所有的數(shù)據(jù)解析對象都繼承自DataParser類。Kurogo提供了從URL獲取數(shù)據(jù)、從Web Service獲取數(shù)據(jù)和從數(shù)據(jù)庫獲取數(shù)據(jù)三種方法,同時用戶可以根據(jù)自己的需求通過繼承DataRetriver類來定義自己獲取數(shù)據(jù)的方法。Kurogo同時提供了針對各種格式的數(shù)據(jù)解析對象,有解析ini格式數(shù)據(jù)的INIFileParser;有將RSS數(shù)據(jù)轉換為對象的RSSDataParser;有解析json數(shù)據(jù)的JSONDataParser,開發(fā)人員可以通過繼承JSONDataParser將數(shù)據(jù)轉換為系統(tǒng)需要的對象;同樣,解析xml數(shù)據(jù)的XMLDataParser同樣需要開發(fā)人員通過繼承來實現(xiàn)對具體內容的操作。借助完整的數(shù)據(jù)獲取和解析功能,北京大學校內信息門戶的數(shù)據(jù)均來源于其他業(yè)務系統(tǒng),有效地利用了資源,避免了相似功能的二次開發(fā),同時減少了系統(tǒng)的維護成本,為系統(tǒng)的長期穩(wěn)定運行打下了基礎。
Kurogo框架提供了用戶認證系統(tǒng)和多種訪問控制方式。認證系統(tǒng)的用戶有組和用戶名兩個屬性,系統(tǒng)可以根據(jù)用戶是否登錄、用戶所在的組以及每個特定的用戶來實現(xiàn)功能模塊的訪問控制。在開啟了認證功能之后,Kurogo框架為開發(fā)人員提供了多種可選的身份認證方式。有最簡單的密碼認證——將用戶名、組名和密碼等數(shù)據(jù)存儲在系統(tǒng)某個文件中,通過核對文件中的用戶名和密碼完成認證;有數(shù)據(jù)庫認證——通過查詢數(shù)據(jù)庫中的用戶名、組名等數(shù)據(jù)驗證用戶身份;也支持LDAP、CAS等方式的身份驗證。此外Kurogo框架還提供了google賬戶和google app賬戶的認證接口。北京大學校內信息門戶以此為基礎,開發(fā)了基于北京大學統(tǒng)一認證服務的身份認證系統(tǒng),并根據(jù)用戶角色提供不同的服務。開發(fā)了僅對于學生用戶可見的成績查詢、課表查詢功能,僅對教師用戶可見的科研經(jīng)費查詢功能,以及對登錄用戶可見的個人收入查詢功能等。
在Kurogo框架中,各項功能由各個模塊完成。每個功能模塊的構成遵循統(tǒng)一標準,有一個控制邏輯的對象,一套獨立的配置文件,一系列采用smarty模板的html頁面以及其他的圖片、文件等資源。服務器接收到的每個請求都根據(jù)一定原則交給不同的模塊處理,或返回指定位置的資源。
Kurogo框架為開發(fā)者提供了強大的擴展功能。Kurogo框架提供了新聞、人員查詢、視頻、日歷、地圖、照片、體育活動、社交網(wǎng)絡、聯(lián)系電話、登錄等基本功能模塊,如果有新的功能需求,用戶可以按照模塊的標準編寫新的模塊。標準的控制邏輯對象提供了配置文件讀取、界面內容傳遞、身份驗證、訪問控制等功能,開發(fā)人員只需要按照業(yè)務邏輯處理數(shù)據(jù),傳遞給頁面顯示即可。Kurogo框架提供了一系列標準的頁面組件,開發(fā)人員可以根據(jù)新的業(yè)務需求設計自己的頁面組件,也可以選擇滿足要求的組件放置在頁面中。北京大學校內信息門戶對新聞、日歷、地圖、人員查詢等模塊進行了修改,并增加了成績查詢、北大概況、空閑教室等模塊,建成了有十多項主要功能的移動信息門戶。
北京大學校內信息門戶的推出為廣大師生員工提供了更便捷的信息獲取渠道,獲得了一致好評,為北京大學移動信息服務建立了良好的基礎,也為未來推出Android平臺和iOS平臺的原生應用建立了良好的信息接口。在未來,北京大學校內信息門戶還需要根據(jù)師生的需求,調整和開發(fā)新的功能,為用戶提供更好的信息服務。