馬銘錦 應(yīng)紅燕
(北京信息科技大學(xué)圖書(shū)館,北京 100101)
近年來(lái),電子期刊尤其是西文電子期刊以內(nèi)容新穎、專深、學(xué)術(shù)價(jià)值高等優(yōu)點(diǎn),正受到越來(lái)越多的教師和科研人員的青睞。因此各個(gè)高校圖書(shū)館都在不斷加大西文電子期刊的采購(gòu)力度。僅2007年,北京信息科技大學(xué)圖書(shū)館就引進(jìn)了ACM、ASME及ScienceDirect3種西文期刊數(shù)據(jù)庫(kù),西文電子期刊的數(shù)量達(dá)到了16000多種,較好地保障了學(xué)校教學(xué)和科研的需要。但是,這些電子期刊分布在不同的期刊系統(tǒng)中,讀者需反復(fù)登錄不同的數(shù)據(jù)庫(kù),才能達(dá)成檢索目標(biāo),既浪費(fèi)了大量的時(shí)間和精力,又降低了檢索效率,嚴(yán)重影響了讀者對(duì)資源的使用興趣。此外,由于紙本西文期刊在管理方式、檢索手段等方面與電子期刊又大不相同,這為讀者查找不同載體類型的西文期刊,全面了解圖書(shū)館的西文期刊資源又設(shè)置了一大障礙。為了更好地管理和利用這些寶貴資源,就需要重組與揭示西文電子期刊,并將本館訂購(gòu)的紙本西文期刊與電子期刊整合起來(lái),納入到統(tǒng)一的資源導(dǎo)航系統(tǒng)中,實(shí)現(xiàn)館藏西文電子期刊和紙本期刊的統(tǒng)一檢索、統(tǒng)一導(dǎo)航和動(dòng)態(tài)管理,為讀者提供“一步到位”式的一體化服務(wù),這是高校圖書(shū)館期刊管理工作的重要任務(wù)。為此本館在??蒲谢鸬馁Y助下,對(duì)國(guó)內(nèi)10所重點(diǎn)高校中國(guó)人民大學(xué)、北京師范大學(xué)、上海財(cái)經(jīng)大學(xué)、同濟(jì)大學(xué)、南開(kāi)大學(xué)、天津大學(xué)、武漢大學(xué)、南京大學(xué)、西安交通大學(xué)、電子科技大學(xué)圖書(shū)館的期刊導(dǎo)航系統(tǒng)進(jìn)行了調(diào)查,在此基礎(chǔ)上結(jié)合本館的特點(diǎn),開(kāi)發(fā)了西文期刊導(dǎo)航系統(tǒng)。現(xiàn)結(jié)合開(kāi)發(fā)工作的實(shí)踐談?wù)勏到y(tǒng)的設(shè)計(jì)理念、功能模塊及實(shí)現(xiàn)技術(shù)。
綜合組織和揭示圖書(shū)館各種類型的期刊資源,使實(shí)體館藏與虛擬館藏資源整合在一起,以體現(xiàn)館藏期刊資源的全貌,這已成為期刊組織與揭示的新要求[1]。從調(diào)查的結(jié)果來(lái)看,目前大部分圖書(shū)館仍只將期刊導(dǎo)航系統(tǒng)作為組織、管理電子期刊的一個(gè)平臺(tái),沒(méi)有對(duì)紙本期刊進(jìn)行統(tǒng)一揭示。筆者認(rèn)為,構(gòu)建期刊導(dǎo)航系統(tǒng)便于依據(jù)電子期刊的特點(diǎn)對(duì)其進(jìn)行更有效的管理。因此圖書(shū)館應(yīng)該以期刊導(dǎo)航系統(tǒng)為核心,在整合訂購(gòu)的電子期刊資源的基礎(chǔ)上將OPAC中的紙本期刊納入期刊導(dǎo)航系統(tǒng)中,真正為讀者提供“一站式”的期刊服務(wù)。
在調(diào)查的10家圖書(shū)館中,大部分圖書(shū)館對(duì)期刊的著錄和揭示并不充分,都只是簡(jiǎn)單地著錄“刊名”、“出版信息”及URL鏈接。只有個(gè)別幾家圖書(shū)館揭示了館藏期刊被EI或SCIE/SSCI/A&HCI收錄的情況。揭示館藏期刊被權(quán)威檢索數(shù)據(jù)庫(kù)收錄的情況可以更有利于讀者了解期刊的學(xué)術(shù)價(jià)值,因此在設(shè)計(jì)導(dǎo)航系統(tǒng)時(shí)應(yīng)該重視對(duì)這方面信息的揭示。
大部分高校圖書(shū)館期刊導(dǎo)航系統(tǒng)的檢索功能都比較簡(jiǎn)單,只能進(jìn)行單個(gè)詞的查找,沒(méi)有多個(gè)詞的邏輯組配檢索功能,不利于精確查找某一種期刊。而且在按學(xué)科角度瀏覽期刊時(shí)沒(méi)有提供關(guān)鍵詞的檢索功能,讀者只能翻頁(yè)瀏覽,使用起來(lái)極不方便。本館設(shè)計(jì)的期刊導(dǎo)航系統(tǒng)充分考慮了讀者的使用習(xí)慣,提供更加細(xì)致、完善的檢索功能,提高期刊的查全率和查準(zhǔn)率。
建立該系統(tǒng)的目的是為了更全面地揭示西文期刊資源,方便讀者更好地檢索、使用,提高期刊的利用率,因此在設(shè)計(jì)中充分考慮了讀者的需求,設(shè)置了以下功能模塊:期刊檢索、期刊瀏覽、期刊系統(tǒng)管理與維護(hù)。如圖1所示。
檢索功能是西文期刊導(dǎo)航系統(tǒng)的主要功能。系統(tǒng)提供刊名、關(guān)鍵詞、ISSN號(hào)等途徑的檢索,匹配方式分為“前方一致”、“模糊匹配”、“精確匹配”。為了便于讀者精確檢索結(jié)果,在結(jié)果頁(yè)面中還提供了二次檢索功能。
刊名字順瀏覽:讀者可以按26個(gè)英文字母選擇瀏覽期刊,或全部瀏覽。
學(xué)科瀏覽:建立期刊導(dǎo)航系統(tǒng)所需的電子期刊數(shù)據(jù)來(lái)源于本館購(gòu)買(mǎi)的7個(gè)西文電子期刊數(shù)據(jù)庫(kù),其信息主要由數(shù)據(jù)庫(kù)商提供。紙本西文期刊的數(shù)據(jù)由圖書(shū)館期刊部提供。對(duì)這些數(shù)據(jù)進(jìn)行學(xué)科分類不僅為讀者提供了一個(gè)非常有價(jià)值的檢索點(diǎn),也使從學(xué)科角度統(tǒng)計(jì)分析西文期刊館藏成為可能,這為開(kāi)展學(xué)科導(dǎo)航服務(wù)打下了很好的數(shù)據(jù)基礎(chǔ)。本館期刊系統(tǒng)的分類主要依據(jù)《中國(guó)圖書(shū)館分類法》,參考數(shù)據(jù)庫(kù)商對(duì)收錄期刊的分類描述,確定期刊的具體類目范圍,為讀者提供更專業(yè)的導(dǎo)航。
期刊來(lái)源數(shù)據(jù)瀏覽:將7個(gè)西文期刊數(shù)據(jù)庫(kù)按名稱字母順序排列。讀者可瀏覽各個(gè)數(shù)據(jù)庫(kù)的簡(jiǎn)要介紹及各個(gè)數(shù)據(jù)庫(kù)收錄的期刊列表。
EI來(lái)源刊及ISI來(lái)源刊:為讀者提供最近一年的EI及SCIE/SSCI/A&HCI收錄的來(lái)源期刊。讀者可按刊名字母順序?yàn)g覽,也可以通過(guò)關(guān)鍵詞在來(lái)源期刊中進(jìn)行檢索。系統(tǒng)還將本館收藏的電子期刊、紙本期刊與EI/SCIE/SSCI/A&HCI收錄的來(lái)源期刊做了鏈接,方便讀者查看本館收藏的來(lái)源期刊全文。
后臺(tái)管理有統(tǒng)一的管理入口,須經(jīng)過(guò)用戶名及密碼校驗(yàn)后方可進(jìn)入。在后臺(tái)的管理平臺(tái)中,期刊信息維護(hù)人員可以對(duì)期刊進(jìn)行檢索、刪除、修改、導(dǎo)入或?qū)С銎诳瘮?shù)據(jù)等操作??梢酝瓿蒛RL的驗(yàn)證、批量更改及個(gè)別記錄的添加/修改。系統(tǒng)管理人員還可以對(duì)期刊的點(diǎn)擊率進(jìn)行統(tǒng)計(jì)、排序,通過(guò)統(tǒng)計(jì)數(shù)據(jù)評(píng)價(jià)已購(gòu)電子期刊及紙本期刊的使用效率。
該系統(tǒng)除了具備檢索、瀏覽、后臺(tái)維護(hù)、管理等功能外,還對(duì)本校三校區(qū)的紙本期刊與電子期刊進(jìn)行了更加充分的揭示。不僅著錄了“刊名”、“ISSN”、“出版信息”、“收藏范圍”,還揭示了期刊被EI、ISI(SCIE/SSCI/A&HCI)收錄的情況,同時(shí)給出了期刊的影響因子。這些信息的揭示更便于讀者了解期刊的學(xué)術(shù)價(jià)值,有針對(duì)性地選擇使用。
開(kāi)發(fā)環(huán)境:Eclipse;后臺(tái)數(shù)據(jù)庫(kù):SQLServer2000;Web服務(wù)器:Tomcat5.5。
期刊導(dǎo)航系統(tǒng)采用基于瀏覽器/服務(wù)器(B/S)的體系結(jié)構(gòu),利用當(dāng)今較為流行的Web系統(tǒng)開(kāi)發(fā)框架Struts+Hibernate。表示層用JSP技術(shù)結(jié)合Struts強(qiáng)大的自定義標(biāo)簽來(lái)實(shí)現(xiàn),持久層通過(guò)Hibernate完成對(duì)象和關(guān)系的映射,業(yè)務(wù)層通過(guò)Hibernate API來(lái)操縱數(shù)據(jù)庫(kù),進(jìn)而實(shí)現(xiàn)整個(gè)Web的應(yīng)用。
Struts提供視圖和控制層的支持,Hibernate提供數(shù)據(jù)層的支持,這種開(kāi)發(fā)組合不但分離了業(yè)務(wù)邏輯和表示層,而且簡(jiǎn)化了開(kāi)發(fā)人員在數(shù)據(jù)庫(kù)邏輯方面的工作。既在較大程度上節(jié)約了期刊導(dǎo)航系統(tǒng)的開(kāi)發(fā)成本,又提高了工作效率。
4.3.1 Web層應(yīng)用Struts框架
表示層主要是期刊的檢索和顯示頁(yè)面,及Struts框架中所引入的Form表單等。它由Struts實(shí)現(xiàn),以Struts-config.xm l為核心,通用的控制組件ActionServlet承擔(dān)MVC中Controller的角色,ActionForm類封裝用戶界面的數(shù)據(jù)元素,用Action類實(shí)現(xiàn)業(yè)務(wù)邏輯、動(dòng)作處理、鏈接轉(zhuǎn)向。下面我們就西文期刊導(dǎo)航系統(tǒng)如何在Web層應(yīng)用Struts框架的問(wèn)題進(jìn)行分析。
導(dǎo)航系統(tǒng)主界面(見(jiàn)圖2)是用戶看到并與之交互的界面,是通過(guò)INDEX.JSP技術(shù)實(shí)現(xiàn)的,它在Struts框架中代表視圖(View,或稱表示層)部分,INDEX.JSP的部分源代碼如下:
在表示層JSP中,沒(méi)有任何處理業(yè)務(wù)邏輯過(guò)程的JAVA程序代碼。讀者在導(dǎo)航主頁(yè)上按刊名字順瀏覽時(shí),當(dāng)點(diǎn)擊字母“A”時(shí),onClick事件激活視圖JSP文件中的腳本程序Read-Data(mStr),該函數(shù)中 formStr.action=“/ReadData.do?……”將請(qǐng)求發(fā)給Struts框架中的核心組件控制器,由控制器根據(jù)配置文件struts-config.xml的配置信息來(lái)決定業(yè)務(wù)流的轉(zhuǎn)向。在該系統(tǒng)的struts-config.xml中,首先需要將客戶端請(qǐng)求的頁(yè)面中的FormBean在配置文件中聲明。
type="magazine.frameworks.actionforms.JournalsForm"/> 在這里的FormBean也是屬于MVC中的顯示模塊。Struts框架將JSP頁(yè)面里的輸入信息用Set方法存入到這個(gè)Form-Bean中去。以便讓Action子類來(lái)使用。 type="magazine.frameworks.actions.JournalsAction"parameter="method"scope="session"> 在這個(gè)映射文件里,指明了處理客戶端請(qǐng)求的Journals-Action子類以及處理后得到不同結(jié)果返回的不同頁(yè)面。parameter=“method”是指用戶在提交請(qǐng)求時(shí)取得method參數(shù),根據(jù)method參數(shù)調(diào)用相應(yīng)的方法。如:表示層INDEX.JSP腳本程序中“/ReadData.do?method=Search&Char=”+mStr+“&Cur-Page=1&OrderStr=TITLE”,就是把頁(yè)面請(qǐng)求傳遞給對(duì)應(yīng)JournalsAction子類中的Search方法,由這個(gè)方法去完成期刊檢索的業(yè)務(wù)處理。這個(gè)JournalsAction子類就是MVC中的Model模型模塊。這樣,業(yè)務(wù)邏輯就可以和表示層徹底分開(kāi)了。傳遞給這個(gè)方法的參數(shù)有:讀者點(diǎn)擊的字符Char=A,默認(rèn)的當(dāng)前頁(yè)碼CurPage=1,默認(rèn)的瀏覽順序OrderStr=TITLE(期刊名稱)。 4.3.2 持久層創(chuàng)建Hibernate連接數(shù)據(jù)庫(kù)的配置文件 Hibernate的配置文件有兩種形式:一種是XML格式的文件,默認(rèn)文件名為hibernate.cfg.xm l;還有一種是Java屬性文件,采用“健=值”的形式,默認(rèn)文件名為hibernate.properties[2]。 本實(shí)例使用Java屬性文件的格式創(chuàng)建Hibernate配置文件。連接SQL Server2000數(shù)據(jù)庫(kù)的hibernate.properties配置文件代碼如下: hibernate.dialect=net.sf.hibernate.dialect.SQLServerDialect//指定數(shù)據(jù)庫(kù)使用的SQL方言 hibernate.connection.driver_class=com.microsoft.jdbc.sqlserver.SQLServerDriver//指定數(shù)據(jù)庫(kù)的驅(qū)動(dòng)程序 hibernate.connection.url=jdbc:microsoft:sqlserver://211.68.37.160 :1433;DatabaseName=qikandaohang;Select-Method=Cursor;characterEncoding=GBK;//指定連接數(shù)據(jù)庫(kù)的URL,包括服務(wù)器IP地址和數(shù)據(jù)庫(kù)名 hibernate.connection.username=sa//指定連接數(shù)據(jù)庫(kù)的用戶名 hibernate.connection.password=123456//指定連接數(shù)據(jù)庫(kù)的口令 Hibernate對(duì)多種數(shù)據(jù)庫(kù),如MySQL、Oracle和Sybase等,都有著良好的支持功能,我們只需簡(jiǎn)單修改hibernate.properties的配置文件,就可以實(shí)現(xiàn)低層數(shù)據(jù)庫(kù)的切換。 目前該系統(tǒng)已投入使用,運(yùn)行效果良好。但由于種種原因,有些地方還需要逐步完善。例如:網(wǎng)上有許多學(xué)術(shù)價(jià)值非常高的開(kāi)放存取期刊,應(yīng)將這些期刊資源納入到導(dǎo)航系統(tǒng)中來(lái),統(tǒng)一揭示給讀者。另外,應(yīng)在期刊導(dǎo)航系統(tǒng)中設(shè)置個(gè)性化的服務(wù)功能,使讀者可以收集、組織和維護(hù)自己定制的有關(guān)電子期刊資源的網(wǎng)站鏈接;可以根據(jù)需要定制自己所需的期刊資源或文獻(xiàn)信息;可以保存檢索參數(shù)、個(gè)人檢索記錄與特殊記錄;可以提交原文傳遞申請(qǐng)等等。 [1]趙乃.電子期刊管理——體系、方法與實(shí)踐[M].大連:大連理工大學(xué)出版社,2006:125-126. [2] 孫衛(wèi)琴.精通Hibernate:Java對(duì)象持久化技術(shù)詳解[M].北京:電子工業(yè)出版社,2005:20.5 改進(jìn)方向
——以河北大學(xué)圖書(shū)館為例