图书馆软件开发的思路整理
十几年来,随着信息技术的快速发展,图书馆软件开发的思路发生深刻的变革。在上个世纪末的图书馆自动化时代,少数有条件的单位就利用数据库软件自行开发了图书管理系统。到本世纪初的数字图书馆阶段,软件开发门槛大幅降低,特别是相关的开源软件逐步丰富,让很多图书馆可以花费很低的成本开发自己的特色服务。尤其是近两年来,云计算的兴起又为图书馆服务开发提供了一个全新的选择,研发成本和门槛再一次降低。
而近些年来,数字图书馆建设新生了一些软件需求,由于其专业性非常强,很难归入一般的IT软件行列,商业招标或者直接购买都存在一定的困难,一些有实力的图书馆就选择自主开发。具有代表性的是图书馆的异构资源统一检索平台系统,主要是对图书馆已有的数据库进行整合搜索。
图书馆的自主开发,一般都需要有雄厚的技术实力做支持,国内只有少数几所知名图书馆具备这样的能力。由于软件系统都有自己的生命周期,各个图书馆自主开发的软件中有很多由于维护和后续开发跟不上、通用性差、缺乏推广,真正产生影响力的并不多。
在图书馆自动化时代,图书管理基本是图书馆唯一的软件需求,大部分图书馆只要选择一款合适的管理系统即可,相关的成熟商业软件也非常多。但到了本世纪初的数字图书馆时代,资源大大丰富,由于存在数据异构、服务接口不统一等问题,成熟的数字资源管理系统非常少。图书馆迫切需要新技术,尤其需要价廉物美的支持软件来构建新的管理与服务平台。这个时期,开源软件大量涌现,为数字图书馆的建设与管理提供了极大便利,促使数字图书馆建设朝着低成本、高性能、短开发周期的方向发展,并有效提高图书馆的创新能力,提升图书馆的核心竞争力,因此,数字图书馆和开源软件的结合是一种必然趋势。
数字图书馆综合管理系统
这类系统功能一般比较全面,涵盖了现代数字图书馆所需的数字内容管理、数字资产保存、机构学术信息的收集与利用等各个方面的内容。其中具有代表性的有Fedora数字对象仓储管理系统。Fedora仓储提供了存储管理和访问数字对象的接口,可作为功能完整的学术机构仓储库和基于Web实现互操作的数字图书馆平台。Fedora功能强大,具有良好的可扩展性,特别适合用来管理多类型的、多层次的复合数字对象,并支持元数据层面的互操作。但由于系统只提供管理和访问数字对象的接口,很多应用的需求需要进行二次开发,应用的门槛比较高, 对技术支持要求的力度比较大。
另一个功能较为简单的系统为GreenStone系统,这也是一个完整的数字图书馆系统, 包含了创建、管理和发布功能。系统提供了可视化的操作界面,使用该系统的机构或个人不需要特殊的编程开发即可直接安装使用。信息检索系统图书馆的核心功能就是信息检索,而以Lucene为代表的开源搜索系统的出现,为图书馆开发各种搜索服务提供了很大的便利。Lucene是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎。我们在构建专题数据库时,对于一些网页资源,就是利用Lucene进行索引的。而在构建元数据仓储时,由于数据量超过了千万条,利用关系数据库中的索引进行检索,速度就非常慢,因此我们就利用Lucene对数据库进行重新索引,构建新的全文索引文件提供搜索服务,检索速度大幅度提高。
自主开发软件与使用开源软件,均需要一定的技术实力做支撑,而目前看到的从事这方面研究开发的也只有国内一些知名的图书馆。对于更多的图书馆而言,它们需要这样一种方案:让不熟悉计算机编程的馆员,也可以根据需要提供各类图书馆信息服务。而近两年兴起的云计算技术提供了这种可能。
目前,在图书馆领域的典型服务模式有OCLC 的“Web 级合作型图书馆管理服务”,它属于平台服务。使用该平台的图书馆,可以完成电子资源和印本资源的采购、馆藏管理系统、身份管理、集体情报等各项任务,而无需再自行构建相应的系统。而对单个图书馆而言,更重要的是如何利用云计算服务。正如Griffey J提出的“云图书馆员”所说的:“对云图书馆员而言最为重要的是在技术成熟时,就能应用这种技术为用户服务,更重要的是如何使用网络服务。”
对各个图书馆而言,既不能固步自封,又不能盲目追求技术潮流,而应当根据自己的需要和技术资金实力,灵活采用购买/自主开发、开源系统、云计算这3 种方案,构建最适合自己的数字图书馆应用系统。