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