张玉锋
(濮阳市图书馆,河南 濮阳 457000)
随着计算机的普及与光盘制作成本的降低,越来越多的图书在出售时,除了提供纸本外也随书附赠光盘。例如:程序设计相关图书在光盘中提供程序源代码;美工相关图书在光盘中收录图片素材;语言学习相关图书在光盘中则是影像与声音文件等。其目的在于补充纸本内容、节省读者收集相关文件时间,以及提供读者除了纸本阅读之外不同感受的价值服务,称为随书光盘(CD Attached with Books)。随书光盘因其容易被复制,体积小与易失窃等特性,目前大学图书馆均采用闭架式存放在流通柜台附近的方式,馆员在读者要求借阅随书光盘时能快速取得。然而随着时间累积,随书光盘馆藏量增加,空间需求也同步增加。另一方面,随着随书光盘数量增加,读者在流通柜台借阅时,馆员需要花费更长的时间找寻随书光盘,往往造成读者等待时间加长。
随书光盘为读者带来更佳的使用经验与价值服务,也为图书馆带来新的问题与挑战,随书光盘在保存、陈列与借还流通上,经过十几年来,已逐渐出现上述问题(如表1所示)。
表1 随书光盘管理中产生的问题
因此,如何为随书光盘产生的问题提出一套有效的解决方案,为本论文最主要的研究动机。近年来由于科技进步,网络的传输速度与普及率逐年提高,反之储存媒体的价格却每季降低,将随书光盘储存于服务器并经由网络传输给读者变得愈加可行。建置一套资讯系统解决图书馆与读者遭遇的问题,亦为本论文研究动机。
搜寻各大学术论文期刊资料库发现,有相当数量关于随书光盘议题的研究。中北大学图书馆学者马飞归纳目前我国图书馆随书光盘管理方式为书盘一体化、书盘分离式与网络管理式三种模式,并提出管理方法,上海交通大学图书馆的白永革描述如何在编目时将纸本图书与随书光盘结合使其互相参照,中国石油大学的沈静萍认为可直接由MARC导出随书光盘讯息,广东信息管理学者杜治波认为随书光盘系统接口应该标准化,即支持OAI与Open URL,浙江湖州师范学院图书馆的徐勇进描述制作光盘镜像文件的一些技术细节,山东大学图书馆的谭榕介绍使用开放原始码软件建置随书光盘管理系统。
整体而言,目前的随书光盘管理系统,类似早期图书馆的光盘资料库,其使用方式为:①搜寻随书光盘镜像文件。②下载随书光盘镜像文件。③安装虚拟光盘程序。④使用虚拟光盘程序开启随书光盘镜像文件。其使用过程非常“曲折”并且对用户很不友善。本文的研究目的为将随书光盘“送到”读者电脑而非读者自行上网寻找,只让读者“取用随书光盘的文件”而非下载整个随书光盘镜像,范围仅为“目前借阅图书”的随书光盘而非全部随书光盘,与目前存在的系统均有显著不同。
应用程序编程接口(Application Programming Interface,API),原指应用软件可以用于取得操作系统或其他服务的抽象化(Abstraction)界面。但本研究提及的API泛指网络上让开发人员可以简单地呼叫,做快速二次开发的服务,也称为Web APIs,一般习惯上会以API提供商的名称为前缀来称呼这一类的服务。例如:Google API、Facebook API、eBay API。若第三方程序(3rd Party Application)欲提供更多的功能,则可透过互联网由API取得以可延伸标记语言(Extensible Markup Language,XML)表示的内容,第三方程序可解析XML取得API提供的资料,并以自己的创意设计出不同的应用与服务。
笔者认为随书光盘的重点在于其“内容”,即光盘中经过图书作者适当安排的目录与文件,读者依照图书中提示的目录与文件名称,定位到作者希望读者参考的文件,而光盘只是随书光盘储存文件的媒介。但是目前随书光盘管理系统最大的软肋却是代表光盘的光盘镜像文件容易被复制与散播。笔者认为特别制造一个本来就不需要存在的东西(光盘镜像文件),提供给读者下载,不能随意散播,在系统设计上一开始就陷入误区。是否有技术能跳过下载光盘镜像文件,直接取得随书光盘的内容,并能做到更精准的权限控管?这个问题的答案就是——API。
笔者在设计整个系统前,先完成一组基于超文本传输协定(Hyper Text Transfer Protocol,HTTP)与XML的API,我们将其定义为LIBAPI,LIBAPI聚合了图书馆自动化系统提供的账号密码验证、读者目前借阅图书列表与本文提供的随书光盘文件传输机制而成。观察目前网络上成功案例与API本身具备的特性,LIBAPI有八个优点:①不需让读者下载整个随书光盘镜像文件,而是通过API提供读者所需文件,避免被光盘镜像文件被随意复制与散播的缺点。②按需求下载个别文件,而非整个光盘镜像文件,可节省传输时间,尤其对以DVD制作,容量为GB级的随书光盘助益最大。③能精准地控制LIBAPI的使用者与随书光盘同时被取得的数量,达成图书馆购买几本图书,就只允许几份随书光盘被取得的研究目的。④设计使用者界面时,不管是使用Web-based系统或是使用者-服务器(Client-Server)系统,都可以使用LIBAPI达成。⑤LIBAPI提供跨平台的可能性,目前或未来推出面对一般使用者的操作系统毫无疑问的都必须支援网络功能,即可利用LIBAPI设计出基于各种操作系统的使用者界面。⑥LIBAPI可动态调整提供给读者的服务,如果未来图书馆考虑将非纸质资料,例如硬盘与影音资料等,也提供给读者,可在LIBAPI另外增加服务;同样地,如果只想停止某部分服务,只要从源头,即LIBAPI关闭相对应功能即可。⑦LIBAPI更加容易与图书馆其他系统整合。⑧LIBAPI的开放精神,更适合大学校园。
系统读者必须自行准备已安装Windows系列操作系统的个人电脑,并确保可连上网际网络;图书馆须准备一台可以与自动化系统联结的服务器,并指派一位或数位馆员进行将随书光盘上传的工作,如下图1所示:
图1 系统架构
将其可视化的图形用户界面(GUI)与LIBAPI交换资料的剧本(Scenarios)也可细分为八个步骤:①要求认证。读者通过个人电脑上的GUI向LIBAPI提出认证要求。②回答认证结果。LIBAPI将监测读者的登入行为,决定是否需要读者进行CAPTCHA验证,若需CAPTCHA验证,则读者除提供账号密码之外尚须提供验证码进行认证。③要求借阅记录。GUI认证成功后,向LIBAPI要求借阅记录。④回答借阅记录。LIBAPI向图书馆自动化系统取得读者借阅记录后回传给GUI。⑤要求随书光盘文件结构。GUI向LIBAPI要求随书光盘文件结构,用以建立虚拟磁碟。⑥回答随书光盘文件结构。LIBAPI回答随书光盘文件结构。⑦要求下载随书光盘文件。GUI依照借阅记录向LIBAPI要求随书光盘的文件。⑧回传随书光盘文件。LIBAPI回传要求的文件给GUI。
图2 应用程序界面各模块
首先将读者与借阅记录抽象化(Abstraction)并模块化。所谓模块化是将事物与LIBAPI无关的属性(Property)忽略,仅留下对LIBAPI有用的属性。例如:读者的籍贯、人种与喜好都是读者的属性但是与LIBAPI无关,故忽略之;读者在自动化系统中的账号与密码需使用于LIBAPI中,因此保留。模块物件代表读者,Record模块代表借阅记录,List<Record>模块代表借阅记录列表,Rights模块代表借阅记录的开始与结束时间。其中List<Record>还需一个To X ml子模块,返回本身序列化(Serialize)后的XML字串(如图2)。
此项测试的目的为取得随书光盘随选系统一个数据,希望通过此测试明确地告诉图书馆与读者使用本系统与使用光驱读取随书光盘时,两者读取速度的倍数关系。
测试方法为以程序产生1个100MB的文件制作成光盘并上传到本系统,用光驱与本系统各复制十次,纪录时间。
测试服务器端配备为:
CPU:Intel Xeon E5420,2000 MHz(6 x 333)
RAM:4GB(3328 MB可用)
网卡:1000Mps
操作系统:Windows Server 2003 Service Pack 2
网页服务器:IIS 6
测试客户端配备为:
CPU:Intel Core 2 Duo T5500,1666 MHz(10 x 166)
RAM:2048MB
网卡:1000Mps(校内使用校园网络,校外使用10M/2M ADSL)
操作系统:Windows XP
测试结果如图3,经由测试数据可以得到三点结论:①网速为影响本系统最大原因,在校内本系统第一次读取资料的速度已快于光驱,最多为一点八倍;校外使用本系统时,受限于网络速度则比光驱慢九倍。②读取数量众多的小文件时速度确实降低,同样的情况也发生在光驱。本系统读取速度剩六分之一;光驱更低,仅剩九分之一。③缓存机制确实有效,不管在校外还是校内,缓存启动后读取速度皆大幅提升。归功于缓存机制,本系统读取速度最多可以比光驱快七倍。
图3 测试结果
随书光盘随选系统不需借阅实体光盘给读者,而是在读者登入后,提供可使用随书光盘列表;在读者选择欲使用的随书光盘后,于操作系统虚拟一个内含随书光盘完整文件内容的磁碟机,整个使用过程中并未涉及实体光盘,所以,因随书光盘实体光盘的借出、归还、陈列与管理而衍生的问题将不复存在。
[1] 马飞.高校图书馆随书光盘科学化管理模式探讨[J].北京理工大学学报(社会科学版),2007(6).
[2] 白永革.随书光盘管理与利用的一种新模式[J].图书馆理论与实践,2005(10).
[3] 李新宇.随书光盘的著录与管理模式研究[J].安徽教育学院学报,2006(5).
[4] 沈静萍.一种与图书管理系统整合的随书光盘管理系统[J].图书馆工作与研究,2009(8).
[5] 杜治波.随书光盘工作标准化探析[J].云南财贸学院学报(社会科学版),2007(12).
[6] 徐勇进.随书光盘的深层开发利用新探[J].情报探索,2008(2).
[7] 谭榕.开源软件在随书光盘系统中的应用[J].现代情报,2009(7).