摘 要:該文在介紹Android平臺、JSON輕量級數(shù)據(jù)解析格式、分析當前市場上移動圖書管理系統(tǒng)架構(gòu)特點的基礎上,設計并實現(xiàn)了一種基于Android平臺移動圖書管理系統(tǒng)架構(gòu)。系統(tǒng)給用戶帶來了更好的體驗,更加方便、快捷、數(shù)字化地為廣大師生提供了優(yōu)質(zhì)服務;滿足了用戶提出的多樣性及個性化需求,隨時檢索所需要圖書資源、通過手機登錄可以隨時隨地提前預約、掛失圖書等;可擴展性的移動圖書管理系統(tǒng)亦大大簡化了相關(guān)人員對系統(tǒng)升級、維護過程,提高了工作效率。
關(guān)鍵詞:Android 圖書管理系統(tǒng) 架構(gòu)
中圖分類號:TP31 文獻標識碼:A 文章編號:1674-098X(2015)11(a)-0154-02
隨著國內(nèi)智能手機的普及,基于手機移動平臺的APP應用增長迅速,基于B/S架構(gòu)的傳統(tǒng)的Web應用開始向智能手機終端的App應用轉(zhuǎn)移,尤其是基于Android平臺的智能終端中運行的App應用越加豐富。作為知識、技術(shù)及信息的重要傳播載體的國內(nèi)外各大高校的傳統(tǒng)圖書管理系統(tǒng)軟件,也加入了時代發(fā)展潮流,許多高校開始躍躍欲試,為了吸引更多的用戶,越發(fā)注重App給用戶帶來更好的體驗。
1 Android平臺移動圖書管理系統(tǒng)架構(gòu)分析
(1)應用背景。
通過對當前市場上已經(jīng)存在的Android平臺移動圖書管理系統(tǒng)進行詳細、深入的分析和研究,發(fā)現(xiàn)大部分Android平臺移動圖書管理系統(tǒng)僅僅是對傳統(tǒng)的B/S圖書管理系統(tǒng)的簡單改造與升級,即在原來系統(tǒng)的基礎上,增加移動終端的App應用,將部分功能搬到App應用上,但App應用的功能實現(xiàn)完全是在移動終端完成。這種簡單的改造與升級雖然可以節(jié)省不少升級改造的成本,但也帶來了很大的問題:雖然目前智能手機的性能及配置有了很大的提升,但這些性能和配置的提升不足以支撐圖書管理系統(tǒng)的部分功能完全搬到智能手機上實現(xiàn)及運行。相比PC電腦,智能機的性能及配置很大程度上限制了App運行的速度。為了提高運行速度,能給用戶帶來更好的體驗,需要設計更合理的Android平臺移動圖書管理系統(tǒng)架構(gòu)。
(2)改進系統(tǒng)架構(gòu)的思考。
Android是目前智能手機終端用的最廣的操作系統(tǒng)。鑒于智能機的性能和配置瓶頸,在APP實現(xiàn)時,可以將復雜、耗時且占用較多智能機性能的功能實現(xiàn)放在配置及性能更高的PC服務器端,智能移動客戶端僅僅作為一個終端接收用戶的請求后將請求發(fā)送到服務器端,即告訴服務器客戶需要什么數(shù)據(jù),服務器進行功能的實現(xiàn)。當結(jié)果被服務器完成后再發(fā)送到智能客戶端,智能客戶端接收到相應數(shù)據(jù)后呈現(xiàn)給用戶。這種基于服務器端+Android智能客戶端的架構(gòu)模式可以將智能手機“解放”出來,客戶端只要進行數(shù)據(jù)的發(fā)送、接收和呈現(xiàn),極大的提升了智能終端的用戶體驗。
2 Android平臺移動圖書管理系統(tǒng)架構(gòu)設計
(1)系統(tǒng)架構(gòu)設計。
根據(jù)上述架構(gòu)分析思路,整個系統(tǒng)架構(gòu)分為服務器端和Android移動客戶端。系統(tǒng)架構(gòu)圖如圖1所示。
①服務器端采用基于MVC設計模式的B/S架構(gòu)模式,其中Model層采用JavaBean組件封裝相關(guān)的業(yè)務邏輯和數(shù)據(jù)邏輯,View視圖層采用JSP+JSTL技術(shù),Control控制器基于Serlet技術(shù)實現(xiàn)。
②Servlet作為智能客戶端發(fā)送請求的接收入口,即在Servlet中處理來自Android客戶端的請求。具體實現(xiàn)步驟:第一,獲取來自客戶端的請求;第二,取出來自客戶端的請求數(shù)據(jù)封裝在Java對象中;第三,調(diào)用服務器端功能模塊實現(xiàn)功能時將Java對象作為參數(shù)傳遞進來;第四,將操作的結(jié)果在返回到Android客戶端。
(2)移動客戶端與服務器端通信。
Android平臺的用戶終端采用Apache JakartaCommon下的子項目HttpClient和服務器通信,它可以提供高效的、功能強大的支持HTTP協(xié)議的客戶端變成工具包。其主要的功能和優(yōu)勢是實現(xiàn)了所有HTTP的方法,如get、post、put和head等方法,支持自動轉(zhuǎn)向、HTTPS協(xié)議和代理服務器。HttpClient向服務器端的Web站點發(fā)送請求并通信的步驟如下(見圖2)。
①通過調(diào)用構(gòu)造方法DefultHTTPClient() new一個HttpClient對象;
②基于HttpGet或HttpPost向服務器端發(fā)送請求;
③設置請求參數(shù);
④調(diào)用HttpResponse對象的execute()方法返回response;
⑤獲取HttpEntity對象,獲取服務器的響應內(nèi)容。
(3)服務器端與客戶端的數(shù)據(jù)交換。
客戶端和服務器端數(shù)據(jù)傳遞有三種方式,即基于XML的數(shù)據(jù)交換格式、基于HTML的數(shù)據(jù)交換格式和基于JSON的數(shù)據(jù)交換方式。用在移動客戶端和服務器之間的數(shù)據(jù)交換主要是第一種和第三種?;赬ML的數(shù)據(jù)交換由于存在XML難于解析、體積比較大且讀寫不夠靈活等問題,該文在對Android平臺移動圖書管理系統(tǒng)的架構(gòu)設計是采用JSON數(shù)據(jù)交換方式。由于這種輕量級的數(shù)據(jù)解析技術(shù)可以使用JavaScript進行解析并支持AJAX進行數(shù)據(jù)傳輸?shù)募兾谋荆菀组喿x和編寫,使得它目前在移動開發(fā)市場上流行起來。
服務器端采用經(jīng)典的三層架構(gòu)即表示層、業(yè)務邏輯層和數(shù)據(jù)訪問層,表示層和業(yè)務邏輯層之間、業(yè)務邏輯層和數(shù)據(jù)訪問層之間采用面向接口的編程方式,極大的降低了層間的耦合度。下面以登錄模塊為例說明一下數(shù)據(jù)交換過程:首先創(chuàng)建一個JSON對象jObject,獲取客戶端傳遞過來的參數(shù)并調(diào)用服務器端用戶登錄方法,調(diào)用JSON對象jObject的put方法將服務器返回的結(jié)果保存,在移動客戶端取出即可。
3 結(jié)語
采用上述服務器端+移動客戶端方式實現(xiàn)的移動圖書管理系統(tǒng)架構(gòu),通過對常州機電職業(yè)技術(shù)學院圖書館管理系統(tǒng)改造項目進行測試及運行,該系統(tǒng)運用效果良好,該系統(tǒng)優(yōu)化了圖書管理及相關(guān)流程,提升了服務的滿意度,良好的系統(tǒng)架構(gòu)給用戶帶來了更好的體驗,更加方便、快捷、數(shù)字化地為廣大師生提供了優(yōu)質(zhì)圖書館服務。
參考文獻
[1] 夏幫貴.基于Android平臺的圖書館服務系統(tǒng)設計與實現(xiàn)[J].現(xiàn)代圖書情報技術(shù),2011(6):85-89.
[2] 郭文麗,嚴潮斌,吳旭.基于Android客戶端的圖書館微服務研究與實踐[J].圖書情報工作,2013(4):22-26.
[3] 樊濤.基于Android平臺的手機圖書館系統(tǒng)的設計與實現(xiàn)[D].南昌大學,2014.
[4] 楊艷妮,明均仁,張杰.基于Android的移動圖書館APP功能設計與實現(xiàn)[J].圖書館學研究,2015(4):24-30.
[5] 褚鵬.基于Android移動平臺的圖書借閱與管理系統(tǒng)設計與實現(xiàn)[D].華中師范大學,2014.
[6] 孫華林,夏利青.Android平臺移動圖書管理App的構(gòu)建與實現(xiàn)[J].電腦知識與技術(shù),2015(5):66-68,73.