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