馬銘錦 應紅燕
(北京信息科技大學圖書館,北京 100101)
近年來,電子期刊尤其是西文電子期刊以內容新穎、專深、學術價值高等優點,正受到越來越多的教師和科研人員的青睞。因此各個高校圖書館都在不斷加大西文電子期刊的采購力度。僅2007年,北京信息科技大學圖書館就引進了ACM、ASME及ScienceDirect3種西文期刊數據庫,西文電子期刊的數量達到了16000多種,較好地保障了學校教學和科研的需要。但是,這些電子期刊分布在不同的期刊系統中,讀者需反復登錄不同的數據庫,才能達成檢索目標,既浪費了大量的時間和精力,又降低了檢索效率,嚴重影響了讀者對資源的使用興趣。此外,由于紙本西文期刊在管理方式、檢索手段等方面與電子期刊又大不相同,這為讀者查找不同載體類型的西文期刊,全面了解圖書館的西文期刊資源又設置了一大障礙。為了更好地管理和利用這些寶貴資源,就需要重組與揭示西文電子期刊,并將本館訂購的紙本西文期刊與電子期刊整合起來,納入到統一的資源導航系統中,實現館藏西文電子期刊和紙本期刊的統一檢索、統一導航和動態管理,為讀者提供“一步到位”式的一體化服務,這是高校圖書館期刊管理工作的重要任務。為此本館在??蒲谢鸬馁Y助下,對國內10所重點高校中國人民大學、北京師范大學、上海財經大學、同濟大學、南開大學、天津大學、武漢大學、南京大學、西安交通大學、電子科技大學圖書館的期刊導航系統進行了調查,在此基礎上結合本館的特點,開發了西文期刊導航系統。現結合開發工作的實踐談談系統的設計理念、功能模塊及實現技術。
綜合組織和揭示圖書館各種類型的期刊資源,使實體館藏與虛擬館藏資源整合在一起,以體現館藏期刊資源的全貌,這已成為期刊組織與揭示的新要求[1]。從調查的結果來看,目前大部分圖書館仍只將期刊導航系統作為組織、管理電子期刊的一個平臺,沒有對紙本期刊進行統一揭示。筆者認為,構建期刊導航系統便于依據電子期刊的特點對其進行更有效的管理。因此圖書館應該以期刊導航系統為核心,在整合訂購的電子期刊資源的基礎上將OPAC中的紙本期刊納入期刊導航系統中,真正為讀者提供“一站式”的期刊服務。
在調查的10家圖書館中,大部分圖書館對期刊的著錄和揭示并不充分,都只是簡單地著錄“刊名”、“出版信息”及URL鏈接。只有個別幾家圖書館揭示了館藏期刊被EI或SCIE/SSCI/A&HCI收錄的情況。揭示館藏期刊被權威檢索數據庫收錄的情況可以更有利于讀者了解期刊的學術價值,因此在設計導航系統時應該重視對這方面信息的揭示。
大部分高校圖書館期刊導航系統的檢索功能都比較簡單,只能進行單個詞的查找,沒有多個詞的邏輯組配檢索功能,不利于精確查找某一種期刊。而且在按學科角度瀏覽期刊時沒有提供關鍵詞的檢索功能,讀者只能翻頁瀏覽,使用起來極不方便。本館設計的期刊導航系統充分考慮了讀者的使用習慣,提供更加細致、完善的檢索功能,提高期刊的查全率和查準率。
建立該系統的目的是為了更全面地揭示西文期刊資源,方便讀者更好地檢索、使用,提高期刊的利用率,因此在設計中充分考慮了讀者的需求,設置了以下功能模塊:期刊檢索、期刊瀏覽、期刊系統管理與維護。如圖1所示。

檢索功能是西文期刊導航系統的主要功能。系統提供刊名、關鍵詞、ISSN號等途徑的檢索,匹配方式分為“前方一致”、“模糊匹配”、“精確匹配”。為了便于讀者精確檢索結果,在結果頁面中還提供了二次檢索功能。
刊名字順瀏覽:讀者可以按26個英文字母選擇瀏覽期刊,或全部瀏覽。
學科瀏覽:建立期刊導航系統所需的電子期刊數據來源于本館購買的7個西文電子期刊數據庫,其信息主要由數據庫商提供。紙本西文期刊的數據由圖書館期刊部提供。對這些數據進行學科分類不僅為讀者提供了一個非常有價值的檢索點,也使從學科角度統計分析西文期刊館藏成為可能,這為開展學科導航服務打下了很好的數據基礎。本館期刊系統的分類主要依據《中國圖書館分類法》,參考數據庫商對收錄期刊的分類描述,確定期刊的具體類目范圍,為讀者提供更專業的導航。
期刊來源數據瀏覽:將7個西文期刊數據庫按名稱字母順序排列。讀者可瀏覽各個數據庫的簡要介紹及各個數據庫收錄的期刊列表。
EI來源刊及ISI來源刊:為讀者提供最近一年的EI及SCIE/SSCI/A&HCI收錄的來源期刊。讀者可按刊名字母順序瀏覽,也可以通過關鍵詞在來源期刊中進行檢索。系統還將本館收藏的電子期刊、紙本期刊與EI/SCIE/SSCI/A&HCI收錄的來源期刊做了鏈接,方便讀者查看本館收藏的來源期刊全文。
后臺管理有統一的管理入口,須經過用戶名及密碼校驗后方可進入。在后臺的管理平臺中,期刊信息維護人員可以對期刊進行檢索、刪除、修改、導入或導出期刊數據等操作??梢酝瓿蒛RL的驗證、批量更改及個別記錄的添加/修改。系統管理人員還可以對期刊的點擊率進行統計、排序,通過統計數據評價已購電子期刊及紙本期刊的使用效率。
該系統除了具備檢索、瀏覽、后臺維護、管理等功能外,還對本校三校區的紙本期刊與電子期刊進行了更加充分的揭示。不僅著錄了“刊名”、“ISSN”、“出版信息”、“收藏范圍”,還揭示了期刊被EI、ISI(SCIE/SSCI/A&HCI)收錄的情況,同時給出了期刊的影響因子。這些信息的揭示更便于讀者了解期刊的學術價值,有針對性地選擇使用。
開發環境:Eclipse;后臺數據庫:SQLServer2000;Web服務器:Tomcat5.5。
期刊導航系統采用基于瀏覽器/服務器(B/S)的體系結構,利用當今較為流行的Web系統開發框架Struts+Hibernate。表示層用JSP技術結合Struts強大的自定義標簽來實現,持久層通過Hibernate完成對象和關系的映射,業務層通過Hibernate API來操縱數據庫,進而實現整個Web的應用。
Struts提供視圖和控制層的支持,Hibernate提供數據層的支持,這種開發組合不但分離了業務邏輯和表示層,而且簡化了開發人員在數據庫邏輯方面的工作。既在較大程度上節約了期刊導航系統的開發成本,又提高了工作效率。
4.3.1 Web層應用Struts框架
表示層主要是期刊的檢索和顯示頁面,及Struts框架中所引入的Form表單等。它由Struts實現,以Struts-config.xm l為核心,通用的控制組件ActionServlet承擔MVC中Controller的角色,ActionForm類封裝用戶界面的數據元素,用Action類實現業務邏輯、動作處理、鏈接轉向。下面我們就西文期刊導航系統如何在Web層應用Struts框架的問題進行分析。
導航系統主界面(見圖2)是用戶看到并與之交互的界面,是通過INDEX.JSP技術實現的,它在Struts框架中代表視圖(View,或稱表示層)部分,INDEX.JSP的部分源代碼如下:


在表示層JSP中,沒有任何處理業務邏輯過程的JAVA程序代碼。讀者在導航主頁上按刊名字順瀏覽時,當點擊字母“A”時,onClick事件激活視圖JSP文件中的腳本程序Read-Data(mStr),該函數中 formStr.action=“/ReadData.do?……”將請求發給Struts框架中的核心組件控制器,由控制器根據配置文件struts-config.xml的配置信息來決定業務流的轉向。在該系統的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子類以及處理后得到不同結果返回的不同頁面。parameter=“method”是指用戶在提交請求時取得method參數,根據method參數調用相應的方法。如:表示層INDEX.JSP腳本程序中“/ReadData.do?method=Search&Char=”+mStr+“&Cur-Page=1&OrderStr=TITLE”,就是把頁面請求傳遞給對應JournalsAction子類中的Search方法,由這個方法去完成期刊檢索的業務處理。這個JournalsAction子類就是MVC中的Model模型模塊。這樣,業務邏輯就可以和表示層徹底分開了。傳遞給這個方法的參數有:讀者點擊的字符Char=A,默認的當前頁碼CurPage=1,默認的瀏覽順序OrderStr=TITLE(期刊名稱)。 4.3.2 持久層創建Hibernate連接數據庫的配置文件 Hibernate的配置文件有兩種形式:一種是XML格式的文件,默認文件名為hibernate.cfg.xm l;還有一種是Java屬性文件,采用“健=值”的形式,默認文件名為hibernate.properties[2]。 本實例使用Java屬性文件的格式創建Hibernate配置文件。連接SQL Server2000數據庫的hibernate.properties配置文件代碼如下: hibernate.dialect=net.sf.hibernate.dialect.SQLServerDialect//指定數據庫使用的SQL方言 hibernate.connection.driver_class=com.microsoft.jdbc.sqlserver.SQLServerDriver//指定數據庫的驅動程序 hibernate.connection.url=jdbc:microsoft:sqlserver://211.68.37.160 :1433;DatabaseName=qikandaohang;Select-Method=Cursor;characterEncoding=GBK;//指定連接數據庫的URL,包括服務器IP地址和數據庫名 hibernate.connection.username=sa//指定連接數據庫的用戶名 hibernate.connection.password=123456//指定連接數據庫的口令 Hibernate對多種數據庫,如MySQL、Oracle和Sybase等,都有著良好的支持功能,我們只需簡單修改hibernate.properties的配置文件,就可以實現低層數據庫的切換。 目前該系統已投入使用,運行效果良好。但由于種種原因,有些地方還需要逐步完善。例如:網上有許多學術價值非常高的開放存取期刊,應將這些期刊資源納入到導航系統中來,統一揭示給讀者。另外,應在期刊導航系統中設置個性化的服務功能,使讀者可以收集、組織和維護自己定制的有關電子期刊資源的網站鏈接;可以根據需要定制自己所需的期刊資源或文獻信息;可以保存檢索參數、個人檢索記錄與特殊記錄;可以提交原文傳遞申請等等。 [1]趙乃.電子期刊管理——體系、方法與實踐[M].大連:大連理工大學出版社,2006:125-126. [2] 孫衛琴.精通Hibernate:Java對象持久化技術詳解[M].北京:電子工業出版社,2005:20.5 改進方向