●王 海
(海南職業技術學院 圖書館,海口 570216)
綜觀當前基于OPAC的資源整合的方式,除了以第三方軟件進行資源整合外,大部分利用Marc 856字段進行開發整合。本文根據目前較為流行的Open API、Ajax等新技術,結合本館資源整合的實踐與體會,擬探討高職高專圖書館基于OPAC的資源整合的新技術與新方式。
首先,OPAC系統是圖書館自動化建設中最先引進的自動化系統,通過多年的使用、宣傳,已成為讀者最熟悉、最常用的圖書館館藏資源檢索工具。[1]其次,圖書館OPAC系統擁有強大的資源基礎、穩定的系統保證、靈活的系統架構和一批掌握檢索技術的用戶等優勢。再次,基于OPAC的整合是一種基于傳統書目管理的整合模式,它在不改變OPAC檢索界面的基礎上,實現了館藏資源與電子資源的整合,使圖書館OPAC的書目記錄(二次文獻)具有了一次文獻的功能。
通過856字段來實現圖書館的資源整合方法較為簡便,可以在圖書書目數據上增加856字段和電子資源標識字段,或是直接將從數據庫供應商獲取電子書刊的Marc數據導入OPAC系統中,通過啟用Marc記錄的856字段來標注,實現與電子書刊系統的URL鏈接。
MARC 856字段,不僅準確定位了與紙質文獻相對應的電子資源,還對其相關信息(如端口、口令、格式等) 加以描述,成功實現了MARC數據與Web資源的無縫連接,從而使書目記錄與電子資源實現了有機結合,讀者在使用OPAC檢索紙質圖書的同時,可直接訪問相應的電子資源,包括本館電子資源或網上虛擬資源等。
856字段的應用由于其整合方法簡便、操作容易,因此成為了基于OPAC的資源整合的主要方式,但其有著不可避免的缺陷:依賴Marc數據庫的程度較高,不易更新,一旦發生電子資源數據庫IP的更改,就會造成數據的不能正常訪問;另外,該方式除了少量的數據是在原來的Marc數據上增加856字段外,更多的是直接把帶有856字段的電子圖書Marc數據接收到圖書館集成系統中,不可避免地增加了原有集成系統的數據量。因此,高職高專圖書館數字化建設中探尋新的資源整合方式已迫在眉睫。
所謂的靜態鏈接,就是把隨書光盤、電子圖書、電子期刊以及Google、Yahoo等搜索引擎整合到OPAC中,通過靜態鏈接的方式實現書名、ISBN等查詢途徑在以上電子資源系統中的檢索。整合方法就是在OPAC中通過超級鏈接集成各個系統的查詢語句,并把OPAC的書名、ISBN等字段參數加到查詢語句中,讓讀者自行選擇點擊要查詢的電子資源,并返回檢索結果,實現與電子資源系統的互查功能。
2.1.1 整合思路及方法
方正電子圖書的用戶都知道方正電子圖書系統有一大特色,即為電子圖書與館藏紙質圖書提供互查功能,在后來的超星電子圖書系統中,我們也同樣看到了這一特色功能。通過對其中代碼的分析,我們發現兩大電子圖書管理系統均是通過把OPAC的檢索語句整合到查詢頁面中,然后把電子圖書的ISBN參數傳給OPAC的查詢語句,從而實現了電子圖書與館藏紙質圖書的互查功能。根據其原理,同樣也可以實現在圖書館的OPAC中整合電子圖書的查詢語句,達到館藏紙質圖書與電子圖書的互查功能。
通過對電子資源管理系統的查詢語句的分析研究,筆者抽取了方正電子圖書、書生電子圖書、博文隨書光盤管理系統以及Google、Yahoo等搜索引擎的查詢語句,整合到OPAC頁面中,同時按需要把OPAC的書名、ISBN等字段參數加到查詢語句中,以實現與電子資源系統的互查功能。
2.1.2 特點分析
靜態方式的資源整合,可以通過修改OPAC的頁面代碼簡單地實現所需的各類電子資源、網絡資源與OPAC的集成,而且由于該方式只是在OPAC的頁面上通過修改代碼增加了一個超級鏈接,因此頁面的打開速度不受外部網絡速度的影響,讀者可以根據需要進一步點擊相應的超級鏈接來查詢隨書光盤、電子圖書或其他網絡電子資源等。另外,如果所鏈接的電子資源因系統升級等原因而改變了查詢語句,只需要重新修改頁面的檢索代碼便可以實現升級,操作較為簡單。但是此方式也存在著不足之處,即不能在檢索界面動態地反映出檢索結果,需要讀者進一步操作才能得知查詢結果,如果結果為空,則會影響讀者的使用興趣。
基于靜態鏈接的方式雖可以很好地解決利用856字段實現資源整合所存在的問題,但只是一種靜態的鏈接,只提供了一個查詢的接口,不能動態地反映出查詢結果。
2.2.1 Ajax簡介
Ajax是Asynchronous JavaScriptand XML(基于XML的異步JavaScrip)t的縮寫。Ajax并不是一門新的語言或技術,實際上是幾項技術按一定的方式組合在一個協作環境中共同發揮作用,它包括:① 使用XHTML和CSS標準化呈現;② 使用DOM(文檔對象模型)實現動態顯示和交互;③ 使用XML(可擴展標記語言) 和XSLT(XSL轉換器) 進行數據交換與處理;④ 使用XMLHttpRequest進行異步數據讀取;⑤ 最后用JavaScript綁定和處理所有數據。[2]
Ajax的工作原理相當于在用戶和服務器之間加了—個中間層,使用戶操作與服務器響應異步化。并不是所有的用戶請求都提交給服務器,像—些數據驗證和數據處理等都交給Ajax引擎自己來做,只有確定需要從服務器讀取新數據時再由Ajax引擎代為向服務器提交請求。利用Ajax整合后的OPAC,可以做到在OPAC檢索結果頁面中,同步顯示與該書相關的隨書光盤信息(如有光盤,提供下載鏈接)、電子圖書信息、電子期刊信息,甚至可以提供Google的檢索鏈接、主題相關的最新學術論文信息等。
2.2.2 整合第三方現有的Open API到OPAC中
Open API(Open application programming interface)是一套開放應用程序編程接口,提供商根據自己網站提供的服務,通過這些接口讓用戶訪問自己的數據和平臺。[3]近年來,隨著眾多Open API的推廣應用,其與圖書館的OPAC整合成為熱門,如googel的API、豆瓣的API,還有library thing的圖書封面等,無論是國內還是國外的ILS系統(Integrated Library System圖書館自動化系統),均把此作為提升本系統OPAC功能的一大途徑,這也是OPAC2.0的趨勢。
(1) 整合Google的API。整合目的是把 Google圖書搜索整合到圖書館OPAC中,通過ISBN參數傳遞,動態地顯示有無Google電子圖書,從而可以讓讀者進一步閱讀Google的電子圖書。
2008年Google發布了新的圖書搜索API,鼓勵圖書館及其他圖書網站在圖書頁面顯示Google圖書搜索的封面小圖片、全文的可獲得狀態,并鏈接到圖書搜索的結果。[4]其部分代碼如下:
……
src="http://code.google.com/apis/books/images/gbs_preview_ button1.gif"border="0"style="margin:0"/>
其中的ISBN為OPAC中的ISBN參數。
進一步修改代碼,我們可以在OPAC中整合Google的圖書封面,而不是鏈接到Google的全文,或者是只有在Google免費提供電子圖書的全文瀏覽時,才動態地鏈接Google的電子圖書。[5]代碼如下:
function addTheCover(booksInfo)
{for(i in booksInfo){var book=booksInfo [i] ;
if(book.thumbnail_url!=undefined)
{document.getElementById('gbsthumbnail').innerHTML
(2) 整合豆瓣的API。豆瓣網是國內有名的一個評論(書評、影評、樂評)網站,它也公布了Open API接口供公眾使用。通過使用豆瓣的API,可以把豆瓣上關于圖書的封面、評論和標簽整合顯示到圖書館OPAC的書目信息中,幫助用戶更好地了解所要查找的圖書的內容。
整合方式有兩種,一種為靜態的鏈接方式,另一種為調用Ajax技術的動態鏈接方式。①靜態的鏈接方式的代碼為:http://www.douban.com/isbn/“isbn”,它是通過圖書的ISBN進行檢索,因此只要把“isbn”替換成相應的ISBN參數便可以實現。②Ajax調用的動態鏈接方式。豆瓣API提供一種更簡單的方式可以直接在HTML頁面中使用API,比如整合其封面連接,示例代碼如下:[6]
DOUBAN.apikey='c4579586f41a90372f762cb65c78be5d'
//使用豆瓣提供的解析函數處理JSON格式的返回值
//使用豆瓣提供的解析函數來處理返回值
var book=DOUBAN.parseSubject(result)
//得到書的封面圖片
book.link.image
(3)特點分析。①整個OPAC頁面較為干凈、整潔,整合的電子圖書、圖書封面、評論等內容只有在后臺程序檢測到有鏈接信息時才動態地顯示出來,沒有則不顯示。②整合方法簡單,只在相關頁面模板中嵌入幾行html代碼,就可以一步到位,輕松地整合更多的基于Open API的數據。③很好地解決了利用856字段方式整合所存在的問題,即使以后整合內容有所更改,也只需修改部分頁面代碼便可以實現功能的修改。
2.2.3 開發Open API實現本館資源整合
Open API是目前圖書館界較為感興趣的資源整合技術方向,目的是通過開發本地電子資源系統的Open API,以實現與OPAC的整合。圖書館通過技術開發Open API接口,成為Open API提供方,不僅可以實現與本館ILS系統的整合,進一步還可以向全世界開放API,實現與全世界的資源整合。
(1) 館藏信息API的開發與整合。目的是通過API調用OPAC的館藏數據信息,可以提供給第三方使用,比如整合到Google圖書搜索中,或是豆瓣的圖書信息中等,另外還可以提升圖書館的知名度,擴大圖書館的宣傳。其前提是ILS系統后臺數據庫為Sbase、ORACLE、SQL等開放數據庫,圖書館才可以進行二次開發。
(2)隨書光盤、電子圖書、電子期刊API的開發與整合。基于隨書光盤及大多數電子圖書和電子期刊管理系統的后臺數據庫均采用SQL等開放數據庫,因此可以通過程序設計開發出以上電子資源的API接口,通過ISBN或書名等字段查詢返回隨書光盤的下載鏈接地址及電子圖書的閱讀鏈接地址。
根據以上的整合方式,筆者結合本館的OPAC,通過修改OPAC頁面代碼作了實踐應用,得到了很好的整合效果。本館使用的是深圳圖書館開發的ILASII管理系統,其提供的OPAC界面較為簡單,經過整合實踐,很好地實現了電子資源與館藏紙質圖書的整合,豐富了OPAC界面功能。其中包括:①與方正、超星等電子圖書的整合(通過靜態鏈接方式整合);②與Google API的整合,如果有Google的免費圖書則動態地顯示鏈接;③與豆瓣API的整合(整合豆瓣的圖書封面及鏈接豆瓣的書評信息)。
通過以上方式進行資源整合,使圖書館的OPAC改變了檢索書目的單一功能,成為了一個資源導航、知識鏈接的門戶。可以說,基于OPAC的資源整合創新方式,打破了單一的利用856字段進行整合的局限,特別是Open API和Ajax技術的應用,打開了圖書館基于OPAC資源整合的新思路,給圖書館的資源整合帶來了新的活力和理念。但由于這是一種新的技術方向,正在實踐和發展中,需要我們不斷地思考和解決其中存在的問題:
(1)整合資源的利用情況統計。由于沒有統一的檢索界面,各系統之間只是通過Ajax跨域訪問技術進行動態鏈接,并把后臺檢索的結果動態地顯示出來給讀者一個資源指引,因此缺少對各類電子資源訪問的統計功能,影響圖書館對電子資源的利用率統計。
(2) 開放與安全問題。通過開發Open API,向外界開放本館的資源,適應了圖書館界目前所倡導的“開放存取”的理念,但開放就會引發不安全問題。在開放的同時如何建立起健全的數據安全保障機制,這是在開發本館電子資源的Open API中應重點考慮的問題。
(3)個性化。無論是靜態的鏈接,還是動態的鏈接方式,從某種意義上來說,都是一種強加給讀者的檢索導向方式,如何讓讀者在OPAC檢索界面實現個性化的服務(如專業偏向、閱讀喜好等),將是資源整合研究的新方向。
[1]金巖,于靜.基于OPAC的資源整合研究[J].圖書館雜志,2009,28(2):27-30.
[2]呂小平,等.基于Ajax技術的Web 2.0開發應用[J].現代電子技術,2009(6):91-93.
[3] 孫曉茜.OpenAPI簡介 [EB/OL].[2009-09-01].http://www.sciencenet.cn/m/user_content.aspx?id=204625.
[4]編目精靈.在圖書館OPAC預覽Google圖書[EB/OL].[2009-08-15].http://catwizard.blogbus.com/logs/29541316.html.
[5]編目精靈.用Google圖書搜索API增強OPAC[EB/OL].[2009-08-16].http://catwizard.blogbus.com/logs/17095011.html.
[6] 豆瓣網[EB/OL]. [2009-08-20].http://www.douban.com/service/apidoc/clients.