图书馆软件开发思路的变迁

2011-09-25 09:25江玲王亮
中国教育网络 2011年1期
关键词:开源软件利用

文/江玲 王亮

图书馆软件开发思路的变迁

文/江玲 王亮

从自主开发到引进开源软件,再到云计算技术研究的兴起,高校图书馆的软件技术经历深刻变革。

十几年来,随着信息技术的快速发展,图书馆软件开发的思路发生深刻的变革。在上个世纪末的图书馆自动化时代,少数有条件的单位就利用数据库软件自行开发了图书管理系统。到本世纪初的数字图书馆阶段,软件开发门槛大幅降低,特别是相关的开源软件逐步丰富,让很多图书馆可以花费很低的成本开发自己的特色服务。尤其是近两年来,云计算的兴起又为图书馆服务开发提供了一个全新的选择,研发成本和门槛再一次降低。

华中科技大学图书馆作为教育部图书馆建设示范基地,在图书馆技术更新方面紧跟潮流,经历了图书馆软件开发的三个阶段。

自主开发软件

从上世纪90年代开始,计算机逐步进入图书馆,就有了早期的软件开发需求。国内一些有条件的图书馆,利用早期的数据库系统,如FoxBASE,开发了自己的书目管理系统。同时,出现了一些较为成熟的产品,如北京邮电大学的MELINETS、深圳图书馆的ILAS。

而近些年来,数字图书馆建设新生了一些软件需求,由于其专业性非常强,很难归入一般的IT软件行列,商业招标或者直接购买都存在一定的困难,一些有实力的图书馆就选择自主开发。具有代表性的是图书馆的异构资源统一检索平台系统,主要是对图书馆已有的数据库进行整合搜索。

图书馆的自主开发,一般都需要有雄厚的技术实力做支持,国内只有少数几所知名图书馆具备这样的能力。由于软件系统都有自己的生命周期,各个图书馆自主开发的软件中有很多由于维护和后续开发跟不上、通用性差、缺乏推广,真正产生影响力的并不多。

开源软件实现个性化定制

在图书馆自动化时代,图书管理基本是图书馆唯一的软件需求,大部分图书馆只要选择一款合适的管理系统即可,相关的成熟商业软件也非常多。但到了本世纪初的数字图书馆时代,资源大大丰富,由于存在数据异构、服务接口不统一等问题,成熟的数字资源管理系统非常少。图书馆迫切需要新技术,尤其需要价廉物美的支持软件来构建新的管理与服务平台。这个时期,开源软件大量涌现,为数字图书馆的建设与管理提供了极大便利,促使数字图书馆建设朝着低成本、高性能、短开发周期的方向发展,并有效提高图书馆的创新能力,提升图书馆的核心竞争力,因此,数字图书馆和开源软件的结合是一种必然趋势。

数字图书馆综合管理系统

这类系统功能一般比较全面,涵盖了现代数字图书馆所需的数字内容管理、数字资产保存、机构学术信息的收集与利用等各个方面的内容。其中具有代表性的有Fedora数字对象仓储管理系统。Fedora仓储提供了存储管理和访问数字对象的接口,可作为功能完整的学术机构仓储库和基于Web实现互操作的数字图书馆平台。Fedora功能强大,具有良好的可扩展性,特别适合用来管理多类型的、多层次的复合数字对象,并支持元数据层面的互操作。但由于系统只提供管理和访问数字对象的接口,很多应用的需求需要进行二次开发,应用的门槛比较高, 对技术支持要求的力度比较大。

另一个功能较为简单的系统为GreenStone系统,这也是一个完整的数字图书馆系统, 包含了创建、管理和发布功能。系统提供了可视化的操作界面,使用该系统的机构或个人不需要特殊的编程开发即可直接安装使用。

信息检索系统

图书馆的核心功能就是信息检索,而以Lucene为代表的开源搜索系统的出现,为图书馆开发各种搜索服务提供了很大的便利。Lucene是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎。我们在构建专题数据库时,对于一些网页资源,就是利用Lucene进行索引的。而在构建元数据仓储时,由于数据量超过了千万条,利用关系数据库中的索引进行检索,速度就非常慢,因此我们就利用Lucene对数据库进行重新索引,构建新的全文索引文件提供搜索服务,检索速度大幅度提高。

个性化门户系统

各类门户系统是数字图书馆开发的重点。图书馆具有代表性的有SPT( Scout Portal Toolkit)系统——这是美国威斯康星-麦迪逊大学开发的开源软件。它的目标是使学术机构和图书馆等信息服务机构能够以最少的技术成本,快速有效地搭建学科信息门户。中国国家科学数字图书馆就利用该系统创建了学科信息门户网站,同时还自行扩充OAI功能和RSS功能,利用RSS方式动态聚合更新多个门户网站的新闻,增加用户访问统计等多项实用功能,并集成了MyLibrary个性化图书馆系统,使CSDL的学科信息门户功能更加丰富。华中科技大学图书馆在构建湖北省科技文献共享平台门户网站时,就采用了DNN(DotNetNuke)开源系统,该系统可以方便地构建门户站点,有丰富的第三方组件可供利用,同时也可方便地嵌入统一检索等自行开发的模块。

对各个图书馆而言,既不能固步自封,又不能盲目追求技术潮流,而应当根据自己的需要和技术资金实力,灵活采用购买/自主开发、开源系统、云计算这3种方案,构建最适合自己的数字图书馆应用系统。

与完全的自主开发相比,开源软件大幅度降低了系统开发成本和门槛,但是大部分开源软件仍需要进行二次开发,这就对操作人员提出了一定的技术要求,只有在具有较高专业能力的人员面前,开源软件的优点才能得到更好的体现。开源软件虽然是免费的,但其后续管理开发都需要专人、专门培训和专门的经费预算来保证,这对国内大多数图书馆而言,目前尚不具备这方面的管理能力与技术力量。

云计算降低技术门槛

自主开发软件与使用开源软件,均需要一定的技术实力做支撑,而目前看到的从事这方面研究开发的也只有国内一些知名的图书馆。对于更多的图书馆而言,它们需要这样一种方案:让不熟悉计算机编程的馆员,也可以根据需要提供各类图书馆信息服务。而近两年兴起的云计算技术提供了这种可能。

狭义的云计算是指用虚拟技术构建的虚拟化数据中心,将分布在大量的计算机和存储设备上的计算和存储资源集中起来成为一个虚拟的资源池,以服务方式按需提供给网络用户,即“基础设施即服务”,广义的云计算还包括软件即服务、平台即服务等多种服务模式。

目前,在图书馆领域的典型服务模式有OCLC的“Web级合作型图书馆管理服务”,它属于平台服务。使用该平台的图书馆,可以完成电子资源和印本资源的采购、馆藏管理系统、身份管理、集体情报等各项任务,而无需再自行构建相应的系统。

而对单个图书馆而言,更重要的是如何利用云计算服务。正如Griffey J提出的“云图书馆员”所说的:“对云图书馆员而言最为重要的是在技术成熟时,就能应用这种技术为用户服务,更重要的是如何使用网络服务。”

华中科技大学图书馆在2010年构建新型学科馆员门户网站时,就完全采用了云计算的思路,利用新浪的Blog服务作为门户网站的基本组成部分,提供统一的风格框架,由各个学科馆员自身添加各种内容,再自行设计一个主页面,用来链接各个学科馆员Blog即可。Blog本身提供的文章、视频、图片的发布等功能基本可以满足学科馆员站点的需要。Blog同时提供了第三方组件功能,可以利用类似Widget的方式开发或引用第三方服务。例如我们使用了QQ的网页嵌入服务作为即时通讯服务,利用Google的文档服务发布更多形式的文件,同时还自行开发了学科专题检索等第三方服务。

与自主开发/开源系统开发相比,云计算开发在成本、开发周期等方面有着显而易见的优势。例如我们用SPT等开源软件开发该系统,开发周期至少要2个月,而且需要购置服务器及相应的软件资源运行该系统,维护和后续开发也需要大量的工作。但使用了云计算的方式设计该系统,仅仅两周系统即投入使用,基本不需要维护工作,后续开发和引入第三方服务也非常简单。

总之,云计算方案具有开发周期短、维护成本低、不存在技术门槛等优点,最适合在图书馆领域推广普及,但在目前网络服务还并不普及的情况下,应当详细分析需求的特点和现有的网络服务,再判断是否采用云计算的思路来设计系统。

对各个图书馆而言,既不能固步自封,又不能盲目追求技术潮流,而应当根据自己的需要和技术资金实力,灵活采用购买/自主开发、开源系统、云计算这3种方案,构建最适合自己的数字图书馆应用系统。

(作者单位为华中科技大学图书馆)

猜你喜欢
开源软件利用
利用min{a,b}的积分表示解决一类绝对值不等式
禅宗软件
利用一半进行移多补少
五毛钱能买多少头牛
2019开源杰出贡献奖
软件对对碰
利用数的分解来思考
Roommate is necessary when far away from home
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0