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