基于开源框架SSHL图书馆联合虚拟参考咨询平台研究

2012-04-29 06:07吴鹏飞
现代情报 2012年1期
关键词:开源

〔摘 要〕介绍了开源框架SSHL(Struts-Spring-Hibernate-Lucene)功能、结构与特点,基于开源框架SSHL整合技术,集成了FAQ等多种咨询方式,实现了图书馆联合虚拟参考咨询平台CVRS。该平台实现了用户专家注册与管理、问题提问与回答、问题全文检索和帮助模块等功能,整体架构简单,功能强大、层次清晰,可扩展性强。

〔关键词〕Struts Spring Hibernate Lucene;开源;虚拟参考咨询

DOI:10.3969/j.issn.1008-0821.2012.01.016

〔中图分类号〕G252.6 〔文献标识码〕B 〔文章编号〕1008-0821(2012)01-0067-03

Research for Collaborative Library VRS Based on SSHLWu Pengfei

(Library,Shijiazhuang University,Shijiazhuang 050035,China)

〔Abstract〕This paper introduced the open source framework SSHL function,structure and characteristics,based on open source framework SSHL integrated technology,integrated FAQ and other consultation,to implement the Joint Virtual Reference Library platform CVRS.The platform implemented the user registration and management experts,the problem question and answer,questions such as full-text search functions and help modules,the overall structure was simple,powerful,clear layer scalability.

〔Key words〕Struts Spring Hibernate Lucene;open source;virtual reference

参考咨询服务是图书馆的一项核心业务,是图书馆提供信息服务、知识服务而采用的一种常用的服务形式[1]。目前,在信息技术环境支撑下,国内外许多图书馆建立了虚拟参考咨询系统,出现了国家科学图书馆参考咨询系统、CALIS分布式联合虚拟参考咨询系统、联合参考咨询网等虚拟参考咨询平台[2-3]。另外国内信息服务企业推出了百度知道[4]、雅虎知识堂[5]、新浪爱问[6]等,建立了基于交互问答式知识服务平台,得到了广泛的应用。

开源框架SSHL是指Struts[7]、Spring[8]、Hibernate[9]和Lucene[10]框架的集成整合,是基于Java平台的企业主流轻量级框架。使用SSHL框架可以为提高系统的开发效率,使开发人员更注重于业务逻辑设计。开源软件在图书馆的广泛应用不仅可以使图书馆节省开发成本,提高开发效率,更有利于图书馆自身服务能力和技术水平的提高。本文介绍了开源框架Struts、Spring、Hibernate和Lucene功能、结构与特点,基于开源框架SSHL整合技术,设计与实现了一个图书馆联合虚拟参考咨询平台,该平台架构简单,功能强大、层次清晰,可扩展性强,具有学科化、专业化、主题化、个性化、知识化的特点。

1 开源框架SSHL

1.1 SSHL框架

开源框架SSHL是指Struts、Spring、Hibernate和Lucene框架的集成整合,是基于Java平台的企业主流轻量级框架。Struts目前版本是Struts2,是基于WebWork,核心部分是控制器Action,具有低耦合、易测试、代码重用率高、支持更多的表现层技术、有更好的适应性等特点。Spring是为了解决企业大型应用程序开发复杂性而创建的轻量级J2EE开源框架,其通过IoC依赖注入、AOP应用、面向接口编程,将Web层、Service层、DAO层及PO等系统中的中间层无缝整合统一管理,降低了业务组件之间的耦合度,增强系统扩展性,提高了软件的复用性。Hibernate是一个开源的Java持久层对象关系映射框架,屏蔽掉了底层数据库数据访问操作,通过对底层JDBC、JNDI和JTA进行轻量级的对象封装,可以完全以面向对象的方式对关系数据库进行CRUD操作,具有良好的数据迁移性。Lucene是一个用Java编写的开源全文索引与检索引擎工具包,目前已经应用到了多个项目中如web论坛系统Jive、机构知识库DSpace等。

1.2 SSHL分层集成架构

MVC是模型(Model)、视图(View)、控制器(Controller)的缩写,是一种软件设计模式,目的分层架构,使数据、业务、视图分离,极大地提高了软件开发的效率。MVC分层设计模式可以通过开源框架Struts、Spring、Hibemate和Lucene的集成实现,可以利用Spring的IoC装配各组件,集成整合架构系统。表现视图层是传统的JSP技术,用户交互界面。控制层负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现,采用Struts。Service层负责实现业务逻辑,业务逻辑层以DAO层为基础,通过对DAO组件的组合封装,完成系统所要求的业务逻辑,其中索引与检索业务逻辑功能由Lucene实现。DAO层负责与持久化对象PO交互,该层封装了数据的增、删、查、改的原子操作。PO层即持久化对象,通过实体关系映射工具将关系型数据库的数据映射成对象,方便地实现以面向对象方式操作数据库,采用Hibernate作为ORM框架。

2.1 系统架构

图书馆联合虚拟参考咨询平台由区域多个高校图书馆组成区域图书馆联盟,以网络为基础,依据协议建立起协作关系,充分利用各自的馆藏资源、网络资源和人才资源优势,通过一个统一的参考咨询平台,将用户和专家以及学科专门知识联系起来的问答式服务。

笔者基于上述理念设计的图书馆联合虚拟参考咨询平台CVRS采用基于开源框架SSHL集成技术,通过建立在网络基础上,将用户与专家及学科专业知识联系起来提供一站式问答式服务平台,该平台整合了QA、FAQ、电话、表单、E-mail、实时咨询等参考咨询服务的多种形式,结合了体系分类法与分面组配分类法知识组织优点,建立了学科分类、主题分类(中图分类法大类)、标签分类(自由标签)三维知识分类体系,具有学科化、专业化、主题化、个性化、知识化的特点。

CVRS具体包括用户管理、专家管理、问题全文搜索、系统帮助、管理员管理(用户、问题、回答和分类管理)等功能模块组成,涉及用户、专家、和管理员3种角色对应的管理工作,平台整体架构设计如图1所示,功能模块设计如图2所示。图1 CVRS整体架构图

2.2 平台功能设计

2.2.1 用户管理模块

用户可以注册登录提问回答问题,并管理自己的个人信息、提问问题信息、回答问题信息。普通浏览者可以浏览信息,不能提问和回答问题。

2.2.2 专家管理模块

专家可以注册登录回答用户提问的问题,并管理自己的个人信息、用户提问问题信息、回答问题信息。专家需要系统管理员审核才能回答问题。

2.2.3 提问模块

该平台整合了电话咨询、E-mail、表单、FAQ、实时参考咨询、QA等咨询服务模式,为用户提供多渠道的咨询服务,方便用户的咨询。用户可以根据自己提问问题选择相应的学科专家进行咨询。

2.2.4 全文检索模块

该平台采用基于Lucene全文检索技术,类似百度、Google,用户可以根据标题和内容进行基于关键词的全文检索。

2.2.5 统计模块

该平台具有问题总数、回答总数、用户专家人数、已解决问题、待解决问题的实时统计功能,还具有专家与用户排行榜功能,具有一定的激励作用。

2.2.6 帮助模块

用户可以按照学科分类、主题分类、标签分类对提问问题进行浏览,为用户提供信息服务、知识服务。

2.2.7 管理员管理模块

管理员可以对用户、专家、提问问题、回答、分类等进行添加、删除、修改等操作。

3 平台实现

3.1 PO实体及DAO类实现

系统抽象出的主要实体包括管理员、用户、专家、问题、回答,对应PO实体分别Admin、User、Expert、Question、Answer,对应的DAO实现类分别为AdminDAO、UserDAO、ExpertDAO、QuestionDAO、AnswerDAO,系统主要组件图如图3所示。

3.3 业务层实现类service.VRSMangerImp实现

利用Spring,通过IoC依赖注入、AOP应用、面向接口编程,将Web层、Service层、DAO层及PO等系统中的中间层无缝整合统一管理,降低了业务组件之间的耦合度,增强系统扩展性,提高了软件的复用性。以下是业务层实现类service.VRSMangerImp整合各主要实体DAO实现类。

3.4 mysql数据源配置

Mysql数据库faq连接配置,需要在工程lib文件中添加Mysql数据库驱动文件包。

3.5 平台运行

基于开源框架SSHL的图书馆联合虚拟参考咨询平台CVRS在MyEclipse环境下开发实现,服务器采用开源服务器Tomcat 6.0,开发语言采用Java,后台数据库采用开源数据库Mysql。将CVRS部署到Tomcat服务器中启动服务,在IE地址栏中输入http:∥localhost:8080/CVRS,显示界面如图4所示。

4 结 语

开源框架Struts、Spring、Hibernate和Lucene功能强大,通过利用开源框架SSHL整合技术,设计开发实现了一个图书馆联合虚拟参考咨询平台,该平台架构简单,功能强大、层次清晰,且具有很好的可扩展性、易维护性。使用开源SSHL框架应用到数字图书馆信息系统开发不仅可以使图书馆节省开发成本,缩短开发周期,提高开发效率,而且更有利于图书馆自身服务能力和技术水平的提高。

参考文献

[1]李淑芬,谢亮.国内联合虚拟参考咨询系统的比较分析[J].图书馆建设,2005,(3):74-76.

[2]金毅,黄教.CALIS分布式联合虚拟参考系统的开发[J].大学图书馆学报,2005,(3):30-33.

[3]白崇远.新一代互动式知识搜索虚拟参考咨询系统发展特征及趋势分析[J].图书馆建设,2007,(6):103-105.

[4]百度知道[EB/OL].http:∥zhidao.baidu.com,2010-03-25.

[5]雅虎知识堂[EB/OL].http:∥ks.cn.yahoo.com,2010-03-25.

[6]新浪爱问知识人[EB/OL].http:∥iask.sina.com.cn,2010-03-25.

[7]Struts[EB/OL].http:∥struts.apache.org,2010-03-25.

[8]Spring[EB/OL].http:∥www.springsource.org,2010-03-25.

[9]Hibernate[EB/OL].httpern:∥www.hibate.org,2010-03-25.

[10]吴鹏飞,马凤娟,李文革,等.开源全文检索引擎Lucene本地化实践研究[J].现代图书情报技术,2009,(4):19-22.

猜你喜欢
开源
五毛钱能买多少头牛
2019开源杰出贡献奖
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0
开源计算机辅助翻译工具研究
开源ETL在公路出行信息数据整合中的应用