摘要:伴隨4G網(wǎng)絡(luò)和智能移動(dòng)終端的發(fā)展,移動(dòng)數(shù)字化圖書(shū)館的建設(shè)成為高校信息化建設(shè)的重要發(fā)展方向。該文以Android系統(tǒng)為基礎(chǔ)平臺(tái),以數(shù)字圖書(shū)資源為研究對(duì)象,設(shè)計(jì)并實(shí)現(xiàn)高校數(shù)字化圖書(shū)館。首先分析系統(tǒng)需求,明確數(shù)字化圖書(shū)管理系統(tǒng)應(yīng)用環(huán)境和設(shè)計(jì)思想。然后,設(shè)計(jì)和實(shí)現(xiàn)移動(dòng)圖書(shū)館管理系統(tǒng),深入闡述系統(tǒng)架構(gòu)、設(shè)計(jì)理念和優(yōu)化方法。最后闡述課題意義,提升高校圖書(shū)資源利用水平,為圖書(shū)信息化建設(shè)提供了重要的參考。
關(guān)鍵詞: Android系統(tǒng);數(shù)字化圖書(shū)館;系統(tǒng)架構(gòu);Android移動(dòng)端模塊設(shè)計(jì)
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)11-0058-02
Abstract: With the development of 4G network and smart mobile phone, Digital Library construction has become an important part of informationization in Colleges. This paper describes the design and implementation of Digital Library of Tianjin Vocational Institute, taking the Android system as the foundation platform and the book resource the research object. First of All, this paper analyzes the requirements and design ideas of the digital library. Second, it decrypted the key technology of Digital Library system development, raised a way to optimize the application system structure. Finally, it expounds the significance of the topic that it provides an important reference and basis for the study of the comprehensive construction of mobile library services.
Key words: Android; digital library; system structure; Android modules design
伴隨著智能手機(jī)的不斷普及,人們獲取數(shù)字資源的方式越來(lái)越便捷。教育部提出教學(xué)資源的數(shù)字化建設(shè),高校建設(shè)移動(dòng)數(shù)字化圖書(shū)館迫在眉睫。Android手機(jī)操作系統(tǒng)因其開(kāi)放、靈活和通用的特性,成為移動(dòng)終端領(lǐng)域的新研究方向。系統(tǒng)以移動(dòng)業(yè)務(wù)為設(shè)計(jì)中心,使用眾多開(kāi)源的組件,解決了移動(dòng)終端封閉的劣勢(shì)[1]?;贏ndroid系統(tǒng)平臺(tái)進(jìn)行數(shù)字圖書(shū)管理系統(tǒng)的設(shè)計(jì)和研究,既節(jié)約了開(kāi)發(fā)成本,又推動(dòng)了技術(shù)創(chuàng)新,帶來(lái)師生讀書(shū)閱讀模式的變革。
1 系統(tǒng)需求分析
數(shù)字化圖書(shū)館系統(tǒng)移動(dòng)終端用戶分為普通用戶和管理員用戶,根據(jù)不同角色分配用戶功能和權(quán)限。普通用戶主要是教師和學(xué)生,通過(guò)手機(jī)應(yīng)用獲取圖書(shū)信息和下載電子資源,包括用戶管理模塊、圖書(shū)管理和電子書(shū)管理模塊。管理員用戶主要是圖書(shū)館工作人員,應(yīng)用功能實(shí)現(xiàn)對(duì)系統(tǒng)用戶的管理、圖書(shū)信息的更新和電子書(shū)資源的上傳和管理。
2 系統(tǒng)架構(gòu)設(shè)計(jì)
數(shù)字化圖書(shū)館系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)高校圖書(shū)資源查詢、預(yù)約和管理,電子書(shū)的下載和閱讀等功能,提升圖書(shū)管理水平和服務(wù)能力。系統(tǒng)設(shè)計(jì)基于Android平臺(tái),在傳統(tǒng)B/S架構(gòu)模式的基礎(chǔ)上,擴(kuò)展移動(dòng)終端與服務(wù)器交互(C/S)的設(shè)計(jì)模式,使其共享數(shù)據(jù)、協(xié)作并行,如圖1所示。本論文針對(duì)移動(dòng)終端與服務(wù)器交互通信,進(jìn)行分析和研究。
系統(tǒng)分為移動(dòng)終端和服務(wù)器端,服務(wù)器端采用SSH框架,分為接入層、業(yè)務(wù)層和數(shù)據(jù)層。
1) 移動(dòng)終端,設(shè)計(jì)可視化用戶界面,調(diào)用觸屏組件實(shí)現(xiàn)單擊、雙擊、右鍵等功能。通過(guò)無(wú)線網(wǎng)絡(luò)通信,發(fā)送用戶請(qǐng)求,出于安全性考慮,對(duì)數(shù)據(jù)進(jìn)行封裝和加密。對(duì)服務(wù)器響應(yīng)的數(shù)據(jù),進(jìn)行解密和數(shù)據(jù)分析,在移動(dòng)終端展示。為降低內(nèi)存資源的消耗,采用SQLite數(shù)據(jù)庫(kù),存儲(chǔ)數(shù)據(jù)信息。
2) 服務(wù)器端接入層,負(fù)責(zé)與移動(dòng)終端進(jìn)行交互,接收和解析用戶請(qǐng)求,依據(jù)Struts配置文件調(diào)用系統(tǒng)對(duì)應(yīng)的Action處理模塊。用戶請(qǐng)求與系統(tǒng)響應(yīng)模塊對(duì)應(yīng),將處理結(jié)果和消息封裝,發(fā)送給移動(dòng)終端。
3) 服務(wù)器端業(yè)務(wù)層,是數(shù)據(jù)操作的平臺(tái),通過(guò)Spring容器向上層提供業(yè)務(wù)模型組件,處理數(shù)據(jù)請(qǐng)求。在業(yè)務(wù)層封裝了大量通用的方法,如數(shù)據(jù)加密、格式轉(zhuǎn)換,接口方法等,并提供事務(wù)處理、緩沖池等組件以提升系統(tǒng)性能和保證數(shù)據(jù)的完整性。
4) 服務(wù)器端數(shù)據(jù)層,采用Hibernate持久層操作數(shù)據(jù)庫(kù),實(shí)現(xiàn)對(duì)象/關(guān)系的映射。建立數(shù)據(jù)持久化類,定義增、刪、查、改等數(shù)據(jù)庫(kù)操作方法,實(shí)現(xiàn)對(duì)系統(tǒng)數(shù)據(jù)的封裝,保證數(shù)據(jù)的安全性和可控性。
如此分層的架構(gòu)設(shè)計(jì)靈活、易于擴(kuò)展,提高了系統(tǒng)的性能和安全性。由于系統(tǒng)訪問(wèn)量大,因此系統(tǒng)設(shè)計(jì)優(yōu)化了日志輪詢和備份機(jī)制。
3 系統(tǒng)開(kāi)發(fā)實(shí)現(xiàn)
系統(tǒng)實(shí)現(xiàn)包括移動(dòng)終端和服務(wù)器端,本論文將針對(duì)移動(dòng)終端的實(shí)現(xiàn)進(jìn)行分析和研究?;贓clipse IDE 平臺(tái),嵌入Android Development Tools(ADT)插件,構(gòu)建Android應(yīng)用開(kāi)發(fā)環(huán)境。在調(diào)用ADT組件的基礎(chǔ)上,本項(xiàng)目開(kāi)發(fā)加密組件、解析組件等,進(jìn)行封裝并向Android系統(tǒng)開(kāi)發(fā)者分享。
系統(tǒng)的客戶端按功能劃分為應(yīng)用模塊、控制模塊和數(shù)據(jù)模塊三大模塊,如圖2所示。
1)應(yīng)用模塊定義應(yīng)用界面和用戶觸發(fā)的接口,包括設(shè)計(jì)用戶信息管理、圖書(shū)信息管理、圖書(shū)預(yù)約續(xù)訂、電子書(shū)資源管理等功能。以用戶界面(UI)設(shè)計(jì)友好,用戶事件響應(yīng)快為實(shí)現(xiàn)標(biāo)準(zhǔn)。
2)控制模塊是客戶端與服務(wù)器端交互的重要通道。處理用戶請(qǐng)求,并進(jìn)行封裝,發(fā)送給服務(wù)器。對(duì)電子資源進(jìn)行解析和再造,形成樣式風(fēng)格多樣、圖文并茂、標(biāo)簽標(biāo)注可視的電子書(shū)。定義數(shù)據(jù)傳輸形式和標(biāo)準(zhǔn),保障數(shù)據(jù)傳輸?shù)陌踩耘c準(zhǔn)確性。
3)數(shù)據(jù)模塊,一方面設(shè)計(jì)移動(dòng)終端與服務(wù)器數(shù)據(jù)流轉(zhuǎn)的格式和標(biāo)準(zhǔn),采用輕量級(jí)數(shù)據(jù)格式JSON,創(chuàng)建交互數(shù)據(jù)模型。另一方面定義系統(tǒng)數(shù)據(jù)類型和對(duì)象實(shí)體,實(shí)現(xiàn)對(duì)SQLITE數(shù)據(jù)庫(kù)的讀寫(xiě)和管理。
4.1應(yīng)用模塊
Android用戶界面可以通過(guò)兩種方法建立:定義XML文件或者編寫(xiě)java代碼。通過(guò)定義XML文件來(lái)設(shè)計(jì)用戶界面的效率高,便于代碼理解和重用[4] 。應(yīng)用程序最基本的功能單位是活動(dòng)(Activity),用來(lái)與用戶打交道,通過(guò)調(diào)用方法setContentView( )加載視圖資源進(jìn)行顯示,通過(guò)Service與相應(yīng)活動(dòng)綁定[5]。
本系統(tǒng)采用XML文件設(shè)計(jì)界面,Activity類實(shí)現(xiàn)界面服務(wù)交互。用戶界面以布局樣式為基礎(chǔ),在布局框架中添加所需控件以及設(shè)置控件屬性。
4.2控制模塊
數(shù)字化圖書(shū)館系統(tǒng)客戶端控制模塊分為三個(gè)部分:解析模塊、加密模塊和通訊模塊。
1) 解析模塊,是電子資源閱讀的基礎(chǔ)模塊。根據(jù)電子書(shū)資源的壓縮和封裝標(biāo)準(zhǔn),在移動(dòng)終端進(jìn)行解析,對(duì)獲得的不同元素進(jìn)行數(shù)據(jù)對(duì)象的封裝和再構(gòu)造,將圖片與文字有機(jī)結(jié)合,形成樣式風(fēng)格多樣、圖文并茂、標(biāo)簽標(biāo)注可視的電子書(shū)資源。
2) 加密模塊,保證了數(shù)據(jù)傳輸?shù)陌踩裕贛D5加密算法,對(duì)客戶端敏感數(shù)據(jù)進(jìn)行加密。同時(shí)將加密模塊封裝并共享,其他應(yīng)用系統(tǒng)也可以調(diào)用本模塊,實(shí)現(xiàn)組件的重用。
3) 通訊模塊,是客戶端獲取電子資源的保障。系統(tǒng)采用HTTP作為通訊協(xié)議,建立移動(dòng)終端與服務(wù)器的數(shù)據(jù)響應(yīng)[6]。系統(tǒng)采用多線程運(yùn)行機(jī)制,提升應(yīng)用系統(tǒng)響應(yīng)速率,創(chuàng)建了消息發(fā)送、消息接收和心跳線程。Android客戶端與服務(wù)器數(shù)據(jù)交互,采用JSon字符串,以輸入輸出流的形式傳遞??蛻舳私邮针娮訒?shū)壓縮包,存儲(chǔ)在文件系統(tǒng)中,進(jìn)行解析和再造。
4.3數(shù)據(jù)模塊
數(shù)據(jù)模塊以系統(tǒng)工具類進(jìn)行數(shù)據(jù)過(guò)濾封裝和處理,為其他模塊調(diào)用提供接口和服務(wù)。在Android系統(tǒng)中提供支持SQLite數(shù)據(jù)庫(kù)API。系統(tǒng)采用SQLite數(shù)據(jù)庫(kù)保存本地電子書(shū)信息和用戶閱讀信息,實(shí)現(xiàn)對(duì)數(shù)據(jù)的增、刪、查、改操作和管理。
5 結(jié)束語(yǔ)
本課題采用移動(dòng)終端/服務(wù)器的架構(gòu)模式,設(shè)計(jì)并實(shí)現(xiàn)了基于Android平臺(tái)的數(shù)字化圖書(shū)管理系統(tǒng),彌補(bǔ)了傳統(tǒng)B/S架構(gòu)設(shè)計(jì)的不足。系統(tǒng)與現(xiàn)有的圖書(shū)管理系統(tǒng)集成,建設(shè)成本低、響應(yīng)速度快、使用方便、支持功能擴(kuò)展,提供更優(yōu)越的用戶體驗(yàn),是校園信息化建設(shè)的新探索。
參考文獻(xiàn):
[1] William Enck,Machigar Ongtang,Patrick McDaniel. Understanding Android Security[J]. IEEE Educational Activities Department,2009,35(12):10-13.
[2] 孔令來(lái),王倩,季紅. 基于Android系統(tǒng)平臺(tái)設(shè)計(jì)和實(shí)現(xiàn)電子書(shū)的閱讀應(yīng)用[J].計(jì)算機(jī)系統(tǒng)應(yīng)用雜志社. 2008,6(10):2-6.
[3] 陳璟,陳平華,李文亮. Android內(nèi)核分析[J].現(xiàn)代計(jì)算機(jī):專業(yè)版,2009(11):112-115.
[4] 黃偉敏. Android 平臺(tái)的即時(shí)通信系統(tǒng)客戶端設(shè)計(jì)方案[J].現(xiàn)代電子技術(shù),2011(16):140-142.
[5] WHITEHEAD Jim, Streaming XML with Jabber/XMPP[R]. USA:IEEE Computer Society, 2006.
[6] 李若瓊. 基于C/S模式的信息引導(dǎo)遠(yuǎn)程控制系統(tǒng)的設(shè)計(jì)[J]. 科技信息:學(xué)術(shù)版,2008,29:554-555.