●周 群(五邑大學 圖書館,廣東 江門 529020)
Google圖書搜索(GoogleBooksSearches,簡稱GBS)不僅可以搜索并預覽來自全球各地圖書館和出版商的已被索引的千百萬冊圖書的圖像、題名、著者、出版商、ISBN及頁碼等書目信息,還提供了收藏或轉售圖書的圖書館或在線書店的URL鏈接;[1]ticTOCs公司為滿足學術人員和其他用戶查詢出版社最新發表的期刊信息,編制了以ISSNs和期刊名稱為字段的簡易信息聚合的期刊目錄服務表,這是一個免費的在線服務。[2]在圖書館實踐工作中如果能將Google圖書搜索、ticTOCs期刊目錄服務與WebOPAC進行整合,在書目檢索過程中獲得相同主題的圖書、期刊的聚類信息,對讀者來說是一個福音。因此,筆者將詳細論述應用Widget工具對Google圖書搜索、ticTOCs期刊目錄服務與圖書館OPAC系統進行集成的實踐,實現圖書館網絡書目服務的延伸。
Widget根源于代碼復用,實質就是一小塊可以在任意一個基于HTML的Web頁面上執行的DHTML、JavaScript及AdobeFlash等代碼,它的表現形式可能是視頻、地圖、新聞與小游戲等,它的出現使得網絡信息服務系統之間的集成變得容易、方便,而成本更加低廉。利用GBS和ticTOCs開放源代碼,Godmar Back和Annette Bailey成功制作出GBS Widgets和ticTOCs Widgets,[3]下面筆者將詳細介紹這兩類Widgets的類型與功能。
將已有的應用程序制作為Widget工具,關鍵就是獲取該應用程序的源代碼。Google圖書搜索的動態鏈接API向公眾開放GBS源代碼,通過這樣一種輕量級的數據交換格式JSON(Java Script Object Notation,簡稱JSON)的Web服務,可以獲得Google數字圖書館所標引的任何一本圖書的元數據代碼。將這些代碼與圖書館OPAC系統集成,從而成為一系列服務于圖書館OPAC系統的GBS Widgets。通過這些Widgets,可以進行ISBN、OCLC號及館藏號進行查詢,然后返回一系列包括圖書縮略圖、目錄頁及前言頁的URL地址等數據,將圖書資料按預覽程度聚類并決定是否直接嵌入其他網頁進行預覽。圖書館利用Google提供的部分或全部圖書預覽圖像作為OPAC書目的可視化顯示,從而幫助讀者決定是否從圖書館借閱該圖書。[4]制作GBSWidgets,獲取圖書元數據代碼是關鍵,下面以ISBN為“0596000278”的圖書為例來探討相關代碼的獲取過程。由于Google對外開放源代碼,這個過程其實非常簡單,只要在IE瀏覽器上輸入相關網址,回車后就能獲得所需要的代碼,表1詳細顯示了ISBN查詢與JSON返回的結果。

表1 GBS API查詢與返回結果
依據Google所提供的源代碼,Godmar Back和AnnetteBailey根據OPAC的需要,應用Widget制作工具將各類代碼分類打包,從而制作10個GBS Widgets,其類型與功能見表2。

表2 GBSWidgets類型及功能
ticTOCs公司免費提供期刊目錄在線服務并編制一個數據庫來維護以ISSNs和期刊名稱為字段的簡易信息聚合的URL內容期刊表,這個數據集是一個簡單的名為“tictoclookup”的JSON的Web服務。利用這個數據集以“ISSN”或“期刊名稱”為檢索字段進行查詢時能獲得期刊簡易信息聚合的URL地址。表3詳細展示了以“ISSN:00280836”為檢索字段在“tictoclookup”數據集中進行查詢所獲得的該期刊包括出版日期、刊名、URL及ISSN等元數據聚合的源代碼。

表3 tictoclookup查詢與返回結果
“tictoclookup”數據集服務作為一個Google互聯網服務引擎(GoogleAppEngine,簡稱GAE)的應用,采用高擴展性和高可用性GAE數據存儲來存儲ticToCs數據記錄并就近處理客戶端服務器的請求;同時,GAE允許每個免費用戶擁有500M存儲空間、每月500萬次PV和24小時使用的配額高達10GB的帶寬,[5]這樣使得圖書館,特別是中小型圖書館應用“tictoclookup”數據集不僅有足夠的空間容量,而且非常方便與快捷。應用“tictoclookup”數據集,GodmarBack和 AnnetteBailey同樣制作出5個適合OPAC需要的ticTOCs Widgets,其類型與功能見表4。

表4 ticTOCs Widgets的類型與功能
筆者所在圖書館作為地方性高校圖書館,由于受資金的限制,在外文圖書及外文數據庫建設方面存在一定的局限性,無法滿足師生高水平科研的需要。為了更好地為師生服務,體現圖書館的價值,筆者與同仁在信息服務的實踐過程中盡可能利用網絡免費資源與服務來彌補圖書館的不足,最大限度地提高師生對圖書館的利用率。利用GBS、ticTOCs等Widgets與WebOPAC集成,讓讀者在檢索館藏書目信息時選擇是否檢索網絡信息,在館藏信息無法滿足的情況下獲取相關的Web信息,從而為獲取詳細信息做準備。為將GBSWidgets、ticTOCs Widgets與Web OPAC系統集成,筆者通過Email與Godmar Back(gback@cs.vt.edu)、AnnetteBailey(afbailey@vt.edu)兩位學者取得聯系并獲得他們技術上的支持,在構建OPACWidgets的實踐上進行了嘗試。
GBSWidgets、ticTOCs Widgets與Web OPAC的集成,從專業的角度來說非常簡單。由于這些Widgets本質上來說是源代碼的數據包,在WebOPAC中應用這些Widgets其實就是應用程序調用相關文件的源代碼。在WebOPAC代碼中的〈span〉或〈div〉標簽處嵌入Widget數據包代碼,這個數據包里有Widget正常工作所需的一切內容,如〈title〉、〈class〉等屬性。在調用Widget數據包時,應使指定的文件編碼類型與實際文件編碼類型相符以確保不會出現無法解碼或亂碼現象,從而導致Widget代碼無法載入與調用。目前,應用Widget最佳編碼方案是UTF-8或UTF-16。[6]因此,在集成編碼的時候,首先在第一行進行XML聲明來開始Widget的代碼,以保證應用程序讀取的內容是有效的XML以及XML的版本信息和編碼類型。GBSWidgets、ticTOCs Widgets與 Web OPAC集成的關鍵代碼如下:


通過將上述代碼嵌入到WebOPAC代碼的相關位置,OPACWidgets構建完成。
目前,該系統正處于圖書館內部測試階段,暫時還沒有投入應用。在測試過程中,筆者在檢索框輸入ISBN為“0596000278”檢索詞,在不選擇Widgets的情況下返回的信息為“本館沒有您要檢索的館藏書目!請檢查檢索詞和檢索方式,并做合適的調整。”在選擇了Widgets圖標后,經過GBS Widgets的處理,“gbs-thumbnail”類在主頁上顯示了“ISBN:0596000278”的圖書縮略圖,而“gbs-link-to-preview”類在主頁上提供一個〈span〉標簽來指向Google預覽頁面的超鏈接。
如果Google提供圖書的預覽圖像存在一些政策上的回避而無法在OPAC主頁中正常顯示預覽圖書信息頁的圖像時,可以在嵌入代碼中增加〈style=“display:none”〉代碼來規避這種現象,從而在返回檢索信息的時候在主頁上不直接顯示該圖像信息,只顯示能在Google預覽的超鏈接的圖像標簽。
同理,在檢索框輸入ISSN為“00280836”檢索詞并選擇Widgets圖標后,經過ticTOCs Widgets處理,“tictoc-link”類提供一個RSS鏈接,其中包括期刊發表內容及允許讀者訂閱的信息;“tictoc-preview”類顯示與讀者檢索最相關的鏈接信息,通過它讀者可以獲得其所需要的信息;“tictoc-alternate-link”類放置到當前文檔,在某些瀏覽器觸發在狀態欄中顯示一個RSS圖標備用鏈接。期刊詳細信息最初不可見,只有當讀者將鼠標懸停在信息鏈接點上時,Tictoclookup服務器返回ISSN和題名信息才可見。
應用免費的網絡資源為讀者服務,是圖書館對外服務功能的擴展,能更有效地吸引讀者來應用圖書館資源,OPACWidgets的實踐在這方面做了一個有益的嘗試。應用OPACWidgets進行信息檢索,不僅可以獲取相關圖書、期刊的詳細信息,還可以通過主題途徑將相關信息聚類,對信息進行深度挖掘,從而使讀者獲取信息量最大化,實現圖書館書目信息網絡服務的延伸。由于OPACWidgets在筆者所在圖書館現處于測試階段,還沒有正式對外應用,在實踐的過程中肯定會有一些缺陷需要完善,其效果也將有待實踐的驗證。
[1] 百度百科.Google圖書搜索 [EB/OL].[2010-12-15].http://baike.baidu.com/view/464110.htm.
[2]Joint Information Systems Committee.TicTOCs Journal TablesofContentsService[EB/OL].[2010-12-15].http://www.tictocs.ac.uk/.
[3]GodmarBack,AnnetteBailey.WebServicesand Widgets for Library Information Systems[J].Information Technologyand Libraries,2010 (7):76-86.
[4]Google.Who’sUsingtheBookSerachAPIs?[EB/OL].[2010-12-15].http://code.google.com/apis/books casestudies/.
[5]百度百科.GAE [EB/OL].[2010-12-15].http://baike.baidu.com/view/2057849.htm.
[6]百度文庫.Widget工具制作教程[EB/OL].[2010-12-16].http://wenku.baidu.com/view/6fee7a21af4 5b307e8719783.html.