1、开源软件和云计算技术在数字图书馆中的开发、应用一、开源软件在集成化数字图书馆中的 开发和应用二、云计算及其在数字图书馆中的开发和 应用北京邮电大学图书馆马自卫2009-12-7一、开源软件在集成化数字图书馆中的开发和应用1、集成化数字图书馆系统的开发应用离不开开源环境和技术支撑1) 开放源码软件( Open Source Software, OSS)引起了人们的广泛关注,将开源软件与数字图书馆系统结合是数字图书馆发展的趋势和潮流,数字图书馆系统开源软件也在一定程度上集中反映了当前数字图书馆系统的技术发展水平,在系统实现过程中,遵从数字图书馆的相关标准和规范,并通过对开源软件的二次开发完成了开源
2、软件的本地化和实用性2)开源软件一般都是遵循开放性、灵活性和前瞻性的原则它提供开放的系统架构,易于构建更多的新型业务 , 易于引进相关行业的业务,易与国际规范相结合,便于借鉴国际研究成果。如:J2EE的开发平台, Eclipse, Tomcat 应用服务器以及 CAS统一认证系统、 OAI数字仓储系统、 Liferay Portal、 JBMP等。系统架构采用模块化设计,从功能模块的角度出发,定义清晰统一的接口标准,方便应用调用多种功能,实现各种业务,以达到资源共享的目的。3)缩短开发周期节省开发成本开源软件都是经过用户测试、性能好,许多有用的应用程序是免费或者只花少量费用,基于开源软件进行开
3、发可以缩短开发周期。4)有利于共同开发软件开源代码模式使数字图书馆开发者易于公开地协作讨论软件解决方案。一方面可以促进开发者与使用者之间的合作,特别是那些具体软件开发能力的工作人员在更大范围和更深层次上参与软件开发。另一方面,各图书馆之间的交流可以将分散在各馆的人才联合起来,使他们能够在一个较大的范围内进行合作。2、 开源软件在数图中得到了广泛的开发和应用1)综合数字图书馆平台示意图( 1)数字图书馆门户不再是简单意义上的门户网站,它已发展成为一个开放性、分布式、跨平台的综合数字图书馆平台。 它不仅集成了各种应用服务系统,而且提供对各类数字资源的加工、存储、发布等功能( 2)门户系统又是用户访
4、问数字图书馆系统的入口,它要能高效、准确的为用户提供各种服务,主要包括统一检索、资源链接与全文获取、资源导航、学科导航、个性化服务、动态消息和链接服务等。这些服务涉及到用户权限、资源、个性化定制以及系统内容发布等方面,要对这些服务集成管理,就要分别对权限、资源、个性化和系统进行统一管理( 3)统一认证作为门户系统提供的一项服务,负责完成对用户的身份认证和授权,保护资源的安全使用。它对各个应用系统用户身份认证的统一管理,确保了应用系统资源的安全,也避免了用户的频繁登录( 4)基于 CAS协议的统一认证系统的设计方案。根据用户类型提出统一认证系统的用户认证策略以及授权方式,进行了详细设计与具体实现
5、。对于数字图书馆门户进行了集成管理、提供服务3、举例,统一认证系统中采用的开源软件1) CAS ( Central Authentication Service) 简介耶鲁大学开发的一套 Java实现的开源 SSO( Single Sign On,单点登录服务),以 Web应用的方式提供服务。 CAS的目的就是使分布在一个集成系统中的不同异构系统的认证工作集中在一起,通过一个公用的认证系统统一管理和验证用户的身份 。2) CAS的设计 实现一个易用的、能跨越不同 Web应用的单点登录认证中心。实现统一的用户身份和密钥管理,减少由于多套密码造成的管理成本和安全漏洞,为各种语言编写的 Web应用程
6、序提供统一认证服务。 简化的认证流程, Web应用程序端只需要部署一个过滤器就可以使 CAS完成对其的统一管理。 认证过程中, CAS只传递一些用户凭证 ticket和请求的目标地址,没传送明文密码这样的敏感信息,使其更加安全。 易于使用,同时具有很好的灵活性和易扩展性,能以较小的代价完成难度较高的单点登录3) 根据 CAS协议的基本框架,结合北京邮电大学数字图书馆的情况,设计了基于 CAS的统一认证系统 分为 CAS Server和 CAS Client两部分。 CAS Server需要独立部署,各个应用系统即可作为 CAS Client 在数字图书馆系统中,我们现在有六个应用系统,分别是门户系统、资源加工系统、学位论文系统、网络采集系统、统一检索系统和OAI服务系统。因此,这六个应用系统当中的每一个都作为一个CAS Client,而只有一个 CAS Server4)分为 CAS Server和 CAS Client两部分5) CAS的实现(6)利用数据加密和数字证书来安全传输信息的流程