APP下载

J2EE在分布式联合数字参考咨询平台中的应用

2010-05-03刘秋梅郑耿忠

图书馆学刊 2010年10期
关键词:体系结构页面客户端

刘秋梅 郑耿忠

(1.韩山师范学院图书馆;2.韩山师范学院数学与信息技术系,广东 潮州 521041)

1 引言

随着数字图书馆的不断发展,虚拟参考咨询平台的重要性已日渐显现,如何构建一个与数字图书馆相适应的数字参考咨询平台已成为数字图书馆建设中迫切需要解决的重要课题。以国内比较著名的数字参考咨询系统CVRS为例,“CALIS分布式联合虚拟参考咨询系统(CVRS)”是CALIS重点建设子项目之一,由上海交通大学图书馆承建。CALIS分布式联合虚拟参考咨询系统(CVRS)是一个两级分布式架构体系,除了分中心级的CVRS服务网站外,还包括各成员馆(参建馆)级的本地咨询系统。其建设目标是构建一个由中心咨询系统和若干个本地咨询系统组成的、集各种实时和非实时先进交互技术于一体的中国高等教育分布式联合虚拟参考咨询平台,为实现7×24的理想服务模式提供技术支持;建设由各成员馆共建共享的知识库、学习中心;建立由多馆参加的、具有实际服务能力的、可持续发展的分布式联合虚拟参考咨询服务体系[1]。从CVRS的建设目标我们可以看到,作为数字图书馆建设的重要组成部分,分布式联合虚拟参考咨询平台以其开放性、灵活性、交互性、分散性和实时性等特点,决定了其开发的复杂性。而J2EE所定义的开放式多层体系结构能为我们开发开放的、灵活的、交互的、分布式和实时性的数字参考咨询平台提供思想和技术支持,利用J2EE不仅使数字参考咨询平台易于开发,而且使得开发出的平台易于扩充、集成和实现复杂的交互操作。将J2EE技术及其多层体系结构的思想恰当地运用于与之相适应的数字参考咨询中,能够很好地推动分布式联合虚拟参考咨询的快速发展。

2 J2EE多层体系结构适应性分析

2.1 J2EE多层体系结构

J2EE(Java2 Platform Enterprise Edition)是由Sun公司推出的一种全新概念的模型,J2EE是一个软件框架,如图1所示,它提供了多层的分布式应用模型、组件重用、一致化的安全模型和灵活的事务控制及对大量中间件技术的支持,不仅在相当程度上减轻了开发工作,使开发者可以更快地向市场推出创造性的客户解决方案,而且方案是独立于平台的,不会被束缚在任何一个厂商的产品和API上。J2EE体系的出现,方便了分布式应用的开发,对于传统的互联网应用程序模型有着不可比拟的优势。可以说J2EE是实现跨平台、跨操作系统、跨语言、跨协议和跨版本分布式联合数字参考咨询平台的一个很好的技术解决方案。

2.2 分布式联合数字参考咨询平台分布式结构特点

数字参考咨询的不断发展给人们带来了一种全新的服务模式,分布式联合数字参考咨询平台是一种面向较广区域的用户群信息服务平台。它能够提供给不同区域的用户方便的访问以及丰富的信息。用户能够在一个尽可能大的系统服务区域内,方便地接入系统,获得相应的服务内容。同时,系统能够很好地适应分布性用户带来的经常变化的系统业务负荷。由于咨询内容的直观性与复杂性,尽可能多的服务内容与信息种类也是分布式联合数字参考咨询平台的建设要求之一。

图2是一种基于多层架构的分布式数字参考咨询平台的体系结构。在这一架构中,知识库、管理信息库均以数据库形式进行存储管理。

由于答疑专家、咨询者和知识库分别存在于不同的、分散的地方(如CVRS),以至咨询和答疑可以发生在不同的时间和不同的地点,因此从本质上讲分布式联合数字参考咨询平台是一种分布式数据库资源的整合平台。

3 联合数字参考咨询平台设计及实现

3.1 基于J2EE的分布式联合数字参考咨询平台

通过前面对J2EE体系结构及分布式联合数字参考咨询平台结构的分析可以看出,J2EE体系架构实际上是一个多层结构的分布式系统。因此,如果在构建分布式联合数字参考咨询平台时采用J2EE多层结构的形式,可以很好地将用户界面、业务逻辑、数据分开。通过表示层提供用户与系统的友好访问,业务层提供业务逻辑实现,数据库层实现数据信息的存储、访问及优化。这样可大大降低客户端负担,也就是我们所说的瘦客户结构。这种结构具有灵活的硬件系统构成及更好的支持分布式计算环境,提供程序可维护性,容易进行严密的安全管理,系统管理简单,可支持异种数据库,具有很高的可用性。根据J2EE多层体系结构,结合图2所示数字参考咨询平台结构,构建出如图3所示的基于J2EE的分布式联合数字参考咨询平台。

基于J2EE结构的分布式联合数字参考咨询平台主要包括客户层、表示层、业务层(EJB层)和数据库层4个部分。

客户层既可以是一个Web客户端,也可以是一个应用程序客户端。Web客户端主要由运行在Web层的动态Web页面和接受显示服务器传送来的Web页面组成。Web客户端一般不进行数据库查询、连接传统应用程序等操作,这些操作一般由J2EE服务器执行,从而充分发挥J2EE服务器采用的相关技术在安全性、速度、耐用性和可靠性方面的优势。J2EE应用程序客户端运行在客户端机器上,从而可以获得比Web页面更丰富的用户界面,它可以直接访问运行在中间层的EJB容器完成相应的用户任务。在数字参考咨询系统中,客户端层提交问题检索请求,在客户端显示检索结果,以及构造交互界面,即浏览器中的HTML页面。

表示层Web层通常运行在一个集中的服务器上,该层上的服务器可同时给不同的客户端发送内容。在Web层采用的J2EE技术主要有JSP、Servlet和JavaBean。JSP可以很方便地把动态和静态内容分开。组成JSP静态内容的是标准的HTML或XML格式的文本。组成JSP动态内容的是由嵌入的Java语言、各种标签及JSP系统变量组成。Servlet是运行在服务器端且与协议无关的服务器组件。使用Servlet比传统的CGI具有工作效率高、使用方便、功能强大以及安全性好等优点。JavaBeans也是一种Java类,它通过封装属性和方法成为具有某种功能或者处理某个业务的对象。在JSP中可以通过使用useBean标签调用JavaBeans,然后可以访问其中的属性方法。在分布式联合数字参考咨询平台中,Web层响应客户端请求,构造咨询输入界面和咨询结果界面,返回给用户端,即服务器端的JSP和Servlet,负责与业务层的业务组件交互。

业务逻辑层通常当Web服务器需要进行特定的操作时才开始发挥作用,这些操作应用业务逻辑管理在线的交易或服务。在业务逻辑层中的事务管理确保这些操作的一致性和数据的完整性。业务层实现数字参考咨询平台的核心业务,包括检索和索引,访问数据库和索引文件,以及提供访问这些核心业务的接口,即服务器端的EJB组件。

数据库层提供了对组织数据的基本的存储和访问。在本系统中,将采用SQL Server2000作后台数据库服务。

3.2 基于J2EE的分布式联合数字参考咨询平台具体实现

3.2.1 表示层的设计及实现

数字参考咨询平台的表示层工作在Tomcat的Web服务器中,由请求控制器、服务管理器、请求处理模块、页面选择模块和数据模型组成,如图4所示。请求控制器是整个系统的唯一入口,所有请求必须通过该组件。它统一并简化了用户的请求。系统的所有请求被配置在一个XML格式文件中,它是请求命令和处理事件及响应页面的映射,增加请求时,只需在配置文件中增加一个这样的映射即可。

请求控制器接收到用户请求后,解析出请求中携带的参数,把参数封装在一个数据结构中,从请求配置文件中取出请求所需服务,进行安全逻辑检查,如果通过,就把封装后的数据结构传递到请求处理器。请求处理器处理结束后,返回相应的数据给控制器,控制器将处理结果传递给页面选择器,页面管理器根据先前配置文件的配置,选择适当的页面给用户。

3.2.2 业务层的设计及实现

系统的业务逻辑由业务层来实现,这一层是由业务管理器、服务定位器、EJB和数据访问对象组成,如图5所示。业务管理器接收来自业务层接口转换的请求,然后调用相应的EJB来完成具体的业务,当需要数据库操作时,这些EJB调用数据访问对象对数据库进行操作,数据库返回的记录通过统一数据接口封装到数据模型中,然后返回。业务层工作在We-bLogic的应用服务器中。

业务层需要向表示层提供数据,而对业务对象每个方法的调用一般都是远程的。因此,客户端通过调用业务对象的get方法获取一个属性值,如果要获得多个属性值,这种操作的数量必然增加,也必然增加网络的负担,影响系统的性能。因此,采用数据模型来封装业务数据。当客户端向EJB请求业务数据时,客户端可以对EJB做单个远程方法调用来请求值对象,而不必启动多个远程调用来获取单个属性值。然后EJB构造一个新的值对象实例,把检索的值拷贝到该对象,并且该值对象的访问方法从该值对象中获取单个属性值。值对象是由可串行化的Java对象来实现的。EJB将处理之后产生的数据放入数据模型中返回后供JSP页面使用。图6表示了数据模型的序列图。

4 结论

利用基于J2EE的多层体系结构构建的分布式联合数字参考咨询平台,既可保持基于Web体系结构的系统界面友好、开发方便、维护简单的特点,又通过Java把系统建立在J2EE之上使系统更加灵活、容易扩充和集成已有的第三方软件,适应数字参考咨询内容和服务多样化、个性化的要求,方便系统升级,符合数字参考咨询平台建设的特点和技术要求,是开发分布式联合数字参考咨询平台的良好解决方案。

[1] 中国高等文献保障系统虚拟参考咨询子项目介绍.[2009-02-06].http://www.calis.edu.cn/calisnew/calis_index.asp?fid=3&class=7.

[2] 刘秋梅,郑耿忠.基于J2EE和XML的数字图书馆系统设计及实现[J].情报杂志,2006(7):3147-3148.

[3] 刘秋梅.智能化数字参考服务系统实现初探[J].图书情报工作,2006(7):92-94.

[4] 董慧,雷瑛.构建基于J2EE规范的数字图书馆模型的探讨[J].中国图书馆学报,2004(3):53-56.

[5] 董慧,雷瑛.基于J2EE规范的数字图书馆示范模型的设计与实现(上)[J].情报学报,2004(2):185-190.

[6] 董惠,张继东.基于J2EE的电子政务档案管理系统地构建与研究[J].现代图书情报技术,2006(9):73-75.

猜你喜欢

体系结构页面客户端
刷新生活的页面
如何看待传统媒体新闻客户端的“断舍离”?
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
基于粒计算的武器装备体系结构超网络模型
作战体系结构稳定性突变分析
基于DODAF的装备体系结构设计
基于云计算的航天器控制系统自组织体系结构
Web安全问答(3)