●周 群(五邑大学 图书馆,广东 江门 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.