夏 丹
(哈爾濱理工大學(xué),150040)
?
基于OSGi高校移動(dòng)圖書館系統(tǒng)的構(gòu)建與實(shí)踐
夏丹
(哈爾濱理工大學(xué),150040)
摘要:文章在調(diào)查移動(dòng)圖書館服務(wù)需求的基礎(chǔ)上,基于OSGi技術(shù)設(shè)計(jì)了移動(dòng)圖書館系統(tǒng)的功能及架構(gòu),為移動(dòng)圖書館系統(tǒng)的構(gòu)建提供了一種新的設(shè)計(jì)思路。重點(diǎn)闡述了圖書采訪子系統(tǒng)領(lǐng)域模型設(shè)計(jì)及主要功能的設(shè)計(jì)與實(shí)現(xiàn),最后對(duì)系統(tǒng)性能進(jìn)行了細(xì)致地分析。分析表明,基于OSGi設(shè)計(jì)的移動(dòng)圖書館系統(tǒng)能夠真正滿足用戶對(duì)圖書館靈活、敏捷的服務(wù)需求。
關(guān)鍵詞:移動(dòng)圖書館;圖書采訪;OSGi
1引言
移動(dòng)互聯(lián)網(wǎng)發(fā)展迅速已進(jìn)入全民時(shí)代,截至2014年12月,手機(jī)網(wǎng)民規(guī)模達(dá)5.57億,占網(wǎng)民總數(shù)的85.8%,繼續(xù)保持穩(wěn)定增長(zhǎng)[1]。手機(jī)端的應(yīng)用正席卷社會(huì)的各個(gè)領(lǐng)域,高校圖書館作為服務(wù)于高校教學(xué)與科研的情報(bào)資料中心,其讀者迫切希望能夠隨時(shí)隨地包括在移動(dòng)過程中都能方便地從圖書館獲取信息和服務(wù),移動(dòng)圖書館應(yīng)運(yùn)而生并迅速發(fā)展。通過筆者網(wǎng)絡(luò)調(diào)查以及相關(guān)文獻(xiàn)的閱讀,發(fā)現(xiàn)國(guó)內(nèi)外關(guān)于移動(dòng)圖書館研究的文獻(xiàn)不少,開通移動(dòng)圖書館服務(wù)的高校圖書館也日益增多,但大部分高校移動(dòng)圖書館系統(tǒng)由商業(yè)公司開發(fā),而開發(fā)移動(dòng)圖書館系統(tǒng)的公司不多,最終導(dǎo)致圖書館系統(tǒng)業(yè)務(wù)功能同質(zhì)化嚴(yán)重,多集中體現(xiàn)在館藏查詢、續(xù)借、催還、數(shù)字信息資源檢索等對(duì)讀者的基本服務(wù)上[2],缺乏對(duì)圖書采訪和更深層次的個(gè)性化服務(wù)等重要服務(wù)的專門研究。鑒于圖書采訪服務(wù)在文獻(xiàn)資源建設(shè)工作中的重要性及傳統(tǒng)圖書采訪模式的低效性,本文在對(duì)移動(dòng)圖書館進(jìn)行總體設(shè)計(jì)的基礎(chǔ)上,重點(diǎn)論述移動(dòng)環(huán)境下圖書采訪子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),這是對(duì)傳統(tǒng)采訪模式的補(bǔ)充,將有效提高圖書采訪質(zhì)量,提升圖書館的服務(wù)效果。
目前國(guó)內(nèi)移動(dòng)圖書館的實(shí)現(xiàn)主要基于兩種技術(shù):短信和WAP 網(wǎng)站[3],這兩種技術(shù)都存在一定的局限。為了更大限度地滿足讀者對(duì)移動(dòng)信息服務(wù)的靈活性、時(shí)效性、個(gè)性化的需求,使讀者能夠真正突破時(shí)間、空間限制,享受到無所不在的信息交流與服務(wù),本文設(shè)計(jì)的移動(dòng)圖書館系統(tǒng)采用OSGi(Open Service Gateway initiative)技術(shù)。OSGi提供了一種面向服務(wù)的組件開發(fā)框架,為移動(dòng)應(yīng)用提供了非常優(yōu)秀的基礎(chǔ)架構(gòu),具有高度模塊化和動(dòng)態(tài)化特點(diǎn)[4],基于OSGi技術(shù)設(shè)計(jì)的移動(dòng)圖書館系統(tǒng)可以對(duì)圖書館的服務(wù)需求變化、業(yè)務(wù)流程變化實(shí)現(xiàn)快速響應(yīng),可以在使用不同操作系統(tǒng)的移動(dòng)終端之間靈活移植,更好地體現(xiàn)移動(dòng)圖書館的技術(shù)優(yōu)勢(shì)。
2系統(tǒng)分析與總體設(shè)計(jì)
為了更好地滿足讀者的基本需求及個(gè)性化需求,筆者對(duì)哈爾濱理工大學(xué)在校師生發(fā)放了“移動(dòng)圖書館服務(wù)需求”問卷調(diào)查表,內(nèi)容涉及圖書館通知、書目檢索、圖書續(xù)借、個(gè)人信息查詢、圖書薦購、參考咨詢等服務(wù)項(xiàng)目。本次調(diào)查發(fā)放問卷300份,收回有效問卷286份。調(diào)查結(jié)果顯示,讀者對(duì)書目檢索(需求人數(shù)占64.3%)、圖書續(xù)借(需求人數(shù)占62.6%)、圖書薦購(需求人數(shù)占61.2%)、個(gè)人信息查詢(需求人數(shù)占59%)、新書通報(bào)(需求人數(shù)占43%)等服務(wù)的需求量比較大。根據(jù)調(diào)查表的反饋情況并結(jié)合筆者通過網(wǎng)絡(luò)對(duì)其它高校移動(dòng)圖書館提供服務(wù)的調(diào)查情況,確定移動(dòng)圖書館系統(tǒng)應(yīng)具備以下功能,如圖1所示:
圖1 系統(tǒng)功能
系統(tǒng)的每個(gè)功能均由若干OSGi組件相互協(xié)作來完成,組件是基于OSGi Bundle來實(shí)現(xiàn)的[5]?;趯?duì)OSGi軟件體系結(jié)構(gòu)及移動(dòng)圖書館系統(tǒng)功能的分析,本系統(tǒng)需由適配器擴(kuò)展Bundles、報(bào)文轉(zhuǎn)換擴(kuò)展Bundles、業(yè)務(wù)處理Bundles以及一些OSGi框架的內(nèi)部Bundles組建而成。首先系統(tǒng)通過適配器擴(kuò)展Bundles來接收移動(dòng)終端(Android、Windows Phone、iOS等)的原始請(qǐng)求數(shù)據(jù),然后交由報(bào)文轉(zhuǎn)換擴(kuò)展Bundles對(duì)原始數(shù)據(jù)進(jìn)行校驗(yàn),如果數(shù)據(jù)存在問題,調(diào)用異常處理Bundle來處理問題,同時(shí)日志Bundle、JDBC Bundle記錄問題,如果數(shù)據(jù)無問題,則調(diào)用報(bào)文組織bundle,生成本系統(tǒng)可識(shí)別的標(biāo)準(zhǔn)協(xié)議數(shù)據(jù),傳遞給不同的業(yè)務(wù)處理bundle,業(yè)務(wù)處理bundle把標(biāo)準(zhǔn)協(xié)議數(shù)據(jù)按照不同業(yè)務(wù)邏輯進(jìn)行處理,最后把數(shù)據(jù)持久化到數(shù)據(jù)庫中,將處理結(jié)果返回給移動(dòng)終端。
每個(gè)Bundle實(shí)現(xiàn)不同協(xié)議,包括HTTP、HTTPS、SOAP及XMPP協(xié)議,每種協(xié)議實(shí)現(xiàn)不同功能。系統(tǒng)同時(shí)需提供管理平臺(tái)和集中監(jiān)控平臺(tái)。后臺(tái)人員通過管理平臺(tái)登錄系統(tǒng),進(jìn)行業(yè)務(wù)處理和經(jīng)營(yíng)分析;集中監(jiān)控平臺(tái)則可方便地對(duì)系統(tǒng)內(nèi)部bundle進(jìn)行啟??刂埔约皩?duì)系統(tǒng)運(yùn)行狀態(tài)進(jìn)行監(jiān)控。
基于以上分析,設(shè)計(jì)出移動(dòng)圖書館系統(tǒng)框架,如圖 2 所示。
圖2 基于OSGi的移動(dòng)圖書館系統(tǒng)框架
3基于OSGi移動(dòng)圖書館圖書采訪子系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
通過對(duì)國(guó)內(nèi)高校圖書館開展的圖書薦購服務(wù)方式的調(diào)查研究發(fā)現(xiàn),國(guó)內(nèi)高校圖書館主要采用網(wǎng)上薦購平臺(tái)、郵箱、QQ、電話等方式為讀者提供圖書薦購服務(wù),由于薦購方式不方便,有時(shí)受時(shí)空限制,導(dǎo)致讀者薦購參與度不高,采訪人員處理薦購需求效率低。然而,根據(jù)收回的“移動(dòng)圖書館服務(wù)需求”有效調(diào)查問卷可看出,61.2%的讀者希望移動(dòng)圖書館系統(tǒng)能夠提供圖書薦購服務(wù),因此本文重點(diǎn)研究圖書采訪子系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),在選定開發(fā)環(huán)境的基礎(chǔ)上,根據(jù)采訪子系統(tǒng)的業(yè)務(wù)范圍、業(yè)務(wù)對(duì)象設(shè)計(jì)領(lǐng)域模型和主要功能模塊,力求提高薦購處理效率,提升讀者服務(wù)滿意度。
移動(dòng)終端屏幕小,業(yè)務(wù)處理能力有限,如果使用手機(jī)終端并采用3G、4G網(wǎng)絡(luò)還會(huì)產(chǎn)生流量付費(fèi),因此在設(shè)計(jì)系統(tǒng)時(shí)要盡量簡(jiǎn)化業(yè)務(wù)流程和頁面結(jié)構(gòu),用最少的操作步驟實(shí)現(xiàn)用戶的需求,提高服務(wù)效率,減少網(wǎng)絡(luò)開銷。
本系統(tǒng)服務(wù)端利用OSGi技術(shù)基于ServiceMIX平臺(tái),采用Java語言開發(fā),開發(fā)工具為Eclipse4.2, 數(shù)據(jù)庫為MySql5.6;客戶端利用HTML5+CSS技術(shù)基于PhoneGap平臺(tái)開發(fā)。
3.1 領(lǐng)域模型分析設(shè)計(jì)
領(lǐng)域模型,也稱為業(yè)務(wù)對(duì)象模型,是描述業(yè)務(wù)用例實(shí)現(xiàn)的對(duì)象模型,是對(duì)業(yè)務(wù)角色和業(yè)務(wù)實(shí)體之間應(yīng)該如何聯(lián)系和協(xié)作以執(zhí)行業(yè)務(wù)的一種抽象。領(lǐng)域模型設(shè)計(jì)是需求分析的關(guān)鍵步驟,通過它能夠使需求為待建信息系統(tǒng)使用,并得到該系統(tǒng)的支持[6]。圖書采訪子系統(tǒng)主要包括讀者薦購、采訪人員查重審核、發(fā)送訂單及讀者與采訪人員的交流互動(dòng)等業(yè)務(wù)范圍。筆者根據(jù)采訪子系統(tǒng)中的業(yè)務(wù)范圍對(duì)業(yè)務(wù)對(duì)象進(jìn)行抽象分析,將其劃分為薦購單、圖書、征訂目錄、薦購審核日志、圖書館工作人員、讀者等領(lǐng)域類,它們之間通過關(guān)聯(lián)、組合和聚合的方式聯(lián)系到一起,并基于此分析,通過UML類圖設(shè)計(jì)出領(lǐng)域模型圖,如圖3所示。其中“薦購單”和“圖書”領(lǐng)域類為模型的核心,讀者的每次薦購都生成一個(gè)薦購單,每個(gè)薦購單關(guān)聯(lián)一個(gè)圖書信息。
圖3圖書采訪子系統(tǒng)領(lǐng)域模型(Domain Model)圖
3.2 圖書采訪子系統(tǒng)的主要功能模塊設(shè)計(jì)
根據(jù)對(duì)圖書采訪子系統(tǒng)業(yè)務(wù)范圍的分析,本系統(tǒng)主要包括讀者推薦圖書、采訪人員審核、信息推送、交流與互動(dòng)四個(gè)功能模塊。
3.2.1 讀者推薦圖書
讀者登錄采訪子系統(tǒng)后,可以通過兩種方式向圖書館薦購圖書:輸入圖書書目信息和瀏覽征訂書目。主界面上設(shè)有“薦購導(dǎo)航”“薦購處理原則”說明文檔以及采訪人員的聯(lián)系方式,這樣可以促使讀者提出的購書需求更加合理化,方便讀者與采訪人員進(jìn)行交流,當(dāng)讀者點(diǎn)擊“聯(lián)系電話”時(shí),系統(tǒng)可以自動(dòng)撥號(hào)。
(1)輸入圖書書目信息進(jìn)行薦購,適合于讀者薦購圖書意愿強(qiáng)、明確知道所薦購圖書的一些書目信息情況。讀者通過手工或掃描輸入圖書的ISBN號(hào)獲取圖書信息,此時(shí)后臺(tái)有以下三種執(zhí)行情況:① 根據(jù)ISBN號(hào)查詢館藏信息,如果有館藏,后臺(tái)自動(dòng)獲取圖書信息填充到相應(yīng)的書名、著者、出版社輸入框中,同時(shí)提示館藏信息,若可借閱館藏量少或其它原因無法滿足讀者需求,讀者仍需薦購,則可返回到薦購頁面,繼續(xù)推薦;②如無館藏信息,后臺(tái)訪問“豆瓣網(wǎng)”“當(dāng)當(dāng)網(wǎng)”等開放平臺(tái)接口獲取圖書信息;③若以上兩種途徑均未取得圖書信息,則需手工逐行輸入書名、薦購理由等信息完成薦購操作。
(2)瀏覽征訂書目進(jìn)行薦購,適合于讀者隨機(jī)向圖書館薦購圖書的情況。讀者可以通過輸入書名或著者模糊檢索需要的圖書,也可按照?qǐng)D書分類瀏覽各類圖書,征訂書目?jī)?nèi)容包含每種圖書的ISBN、書名、著者、出版社、出版時(shí)間、圖書分類號(hào)、內(nèi)容簡(jiǎn)介等信息,每種圖書書目后都有“薦購此書”按鈕,點(diǎn)擊此鈕后,系統(tǒng)自動(dòng)填充ISBN、書名等信息,用戶只需填寫聯(lián)系方式及薦購理由即可完成薦購。
3.2.2 采訪人員審核
讀者提交薦購申請(qǐng)后,系統(tǒng)生成一個(gè)薦購單,內(nèi)容包含薦購單編號(hào)、圖書書目信息、讀者個(gè)人信息、薦購理由等。采訪人員登錄服務(wù)端,在讀者薦購功能中查看“待審核”的薦購單列表,列表中每一行信息為一個(gè)薦購單,單擊一行信息即可查看薦購單明細(xì),采訪人員依據(jù)采購原則、采購計(jì)劃對(duì)薦購單進(jìn)行審核,決定是否采購。對(duì)處理過的讀者薦書都會(huì)有回復(fù)記錄,同意購買圖書會(huì)顯示“審核通過”,不予訂購的會(huì)寫明拒絕購書的理由。
系統(tǒng)提供將薦購單導(dǎo)出至Excel或CSV的功能,當(dāng)審核通過的薦購單數(shù)量達(dá)到一定數(shù)值后,采訪人員將這些信息導(dǎo)出至Excel,形成訂單并終審,確認(rèn)無誤后發(fā)送給書商訂購。
3.2.3 信息推送
采訪人員審核結(jié)束后,會(huì)將審核結(jié)果及時(shí)發(fā)送給讀者。在當(dāng)今云服務(wù)廣泛應(yīng)用的時(shí)代,Google公司、百度公司都提供了免費(fèi)的云消息推送服務(wù),鑒于Google云推送服務(wù)在國(guó)內(nèi)不夠穩(wěn)定[7],本文采用百度云推送服務(wù)將審核結(jié)果推送給薦購者,此時(shí)薦購者也可進(jìn)入薦購歷史頁面,查看自己的每條薦購申請(qǐng)及相應(yīng)的回復(fù)記錄。同樣,為了保證薦購者能優(yōu)先借閱到自己推薦的圖書,圖書到館上架后,系統(tǒng)會(huì)自動(dòng)通過“百度云推送”服務(wù)將圖書的具體入藏信息推送給薦購者。
3.2.4 交流與互動(dòng)
本系統(tǒng)集成OpenFire服務(wù)器,采用XMPP協(xié)議實(shí)現(xiàn)即時(shí)通訊,為讀者與圖書館提供一個(gè)專業(yè)的在線交流互動(dòng)平臺(tái)。當(dāng)讀者對(duì)圖書有特殊需求或?qū)λ]書的審核結(jié)果有異議時(shí),可以通過薦購主界面的“在線咨詢”與采訪人員聯(lián)系,采訪人員如果對(duì)薦購信息不明確或者因讀者薦購的圖書無法購到需及時(shí)向薦購者說明原因,也可通過后臺(tái)點(diǎn)擊薦購單明細(xì)中的“讀者賬號(hào)”,隨時(shí)聯(lián)系薦購者。
3.3 實(shí)現(xiàn)效果與性能分析
目前,已初步實(shí)現(xiàn)了基于Android 平臺(tái)圖書采訪子系統(tǒng)的基本功能。筆者邀請(qǐng)了一些讀者參與了圖書采訪子系統(tǒng)的測(cè)試,測(cè)試結(jié)果基本正常,能夠很好地實(shí)現(xiàn)整個(gè)采訪流程,響應(yīng)速度也比較快,取得了較好的用戶反饋。圖 4、5、6、7為系統(tǒng)運(yùn)行時(shí)截圖。
圖4圖書薦購主界面 圖5輸入圖書信息薦購界面 圖6瀏覽征訂書目薦購界面
圖7 采訪人員審核界面
從測(cè)試效果看,與基于其它技術(shù)開發(fā)的移動(dòng)圖書館系統(tǒng)相比,本系統(tǒng)優(yōu)勢(shì)主要體現(xiàn)在以下幾點(diǎn):(1)系統(tǒng)組件之間相對(duì)獨(dú)立,可在系統(tǒng)使用過程中根據(jù)讀者需要靈活修改程序,并且不影響讀者的正常使用,可大幅提高圖書館的服務(wù)質(zhì)量和服務(wù)效率;(2)系統(tǒng)中每個(gè)組件均可重用,在增加其它服務(wù)功能模塊時(shí)可根據(jù)需要復(fù)用本文系統(tǒng)中的組件,這將大大節(jié)省資源和成本,提高系統(tǒng)開發(fā)效率,快速滿足讀者的服務(wù)需求;(3)通過集中監(jiān)控平臺(tái)對(duì)所有組件進(jìn)行統(tǒng)一管理和監(jiān)控,當(dāng)系統(tǒng)使用出現(xiàn)異常時(shí)能很容易地找到出問題的組件并進(jìn)行修復(fù),提高了問題處理效率,減少了讀者的等待時(shí)間。
4結(jié)語
隨著4G技術(shù)的廣泛應(yīng)用,移動(dòng)圖書館的應(yīng)用會(huì)越來越普遍,讀者對(duì)移動(dòng)圖書館系統(tǒng)的要求也會(huì)越來越高?;贠SGi技術(shù)、通過組件搭建系統(tǒng),為移動(dòng)圖書館系統(tǒng)設(shè)計(jì)開辟了一條新思路,為圖書館開展信息服務(wù)提供了靈活、高效的平臺(tái),當(dāng)讀者服務(wù)需求、業(yè)務(wù)流程等發(fā)生變化時(shí),系統(tǒng)能夠快速及時(shí)響應(yīng),真正滿足用戶對(duì)圖書館靈活、敏捷的服務(wù)需求。
參考文獻(xiàn):
[1] 中國(guó)互聯(lián)網(wǎng)絡(luò)信息中心.第35次中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告[EB/OL].[2015-3-6].http://www.cnnic.net.cn/gywm/xwzx/rdxw/2015/201502/t20150203_51631.htm.
[2] 李玉芬,吳華蕾.手機(jī)采訪與薦購系統(tǒng)的構(gòu)建與實(shí)踐研究[J].圖書館論壇,2014(2):74-77,68.
[3] 郭文麗,嚴(yán)潮斌,吳旭.基于 Android 客戶端的圖書館微服務(wù)研究與實(shí)踐[J].圖書情報(bào)工作,2013,57(8):22-26.
[4] Hall R,Pauls K,Mcculloch S,et al.OSGi實(shí)戰(zhàn)[M].北京:人民郵電出版社,2013:2-6.
[5] 葛新,董朝陽,梁小江.基于OSGi面向服務(wù)的軟件體系架構(gòu)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012,22(10):121-124.
[6] Chris Richardson著,李琳驍?shù)?譯.POJOs IN ACTION中文版——用輕量級(jí)框架開發(fā)企業(yè)應(yīng)用[M].北京:電子工業(yè)出版社,2007:62-68.
[7] 百度百科.推送[EB/OL].[2014-6-28].http:// baike.baidu. com/link? url= 9zF-5uL_ daDswc NQ7yvj MGNLZ W9vOTON oq_t EDTazr D2Ufdl6 CggdmuNG _ADKC-z BqLDAV quR62MuT 8eY7HhjK.
(責(zé)任編輯:傅正)
基金項(xiàng)目:2014年哈爾濱理工大學(xué)教育教學(xué)研究項(xiàng)目(420140020)
中圖分類號(hào):G250.76
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1006-1525(2016)04-0015-05
作者簡(jiǎn)介:夏丹,女,館員。
收稿日期:2015-12-04
The Construction and Practice of Academic Mobile Library System Based on OSGi
XIA Dan
(Harbin University of Science and Technology, Harbin150040, China)
Abstract:On the basis of the investigation of the mobile library service requirements, this paper designs the functions and architecture based on OSGi , and provides a new thought to build a mobile library system. It focuses on expounding subsystems and the design and implementation of main functions. Finally, it analyzes the performance in detail. The analysis shows that the system can truly meet the needs of flexible and agile service.
Key words:mobile library; book acquisition; OSGi