构建高校图书馆远程访问系统(二)
2021-02-28
来源:爱go旅游网
编者按:本文在上期文章的基础上介绍构建高校图书馆远程访问系统时涉及到的系统结构建模、 主要功能和关键技术的实现。 构建高校图书馆远程访问系统(二) ■文/凌征强 系统结构建模 在用例分析基础上,结合系统功能列 表叮建立起系统类图,以及相关的关系和 方法。在面向对象分析中,一般只考虑与问 题描述域和系统功能相关的对象。在对系 统进行分析时,将系统的类分化为以下主 要相关类:用户组类UserGroup、用户类 User、访问对象组类ElecGroup、访问对象 类ElecCfg、访问对象服务器类ElecHost、访 问对象组分配类AccRule、管理员权限类 AdminPriv、URI 重写类ContentRewriter、数 字资源结果调度类HttpDispatcher、数字资 源超链接解析类HttpRequestParser等。系统 类、类之间的关系如图1所示。 在图1中,实现远程访问的重点是 R e w F i t e r S e r v l e t周围相关类。类 RewriterServlet是J2EE HttpServlet的扩展 类,实现了接受Http请求的doGet和doPost 方法,其中doPost方法直接调用doGet方法, 统一由doGet方法接受Http的请求;当读者 选择某一数字资源进行访问时,浏览器将 提交U R L请求,服务器上运行的 RewriterSelwlet对象接受到这一请求,根据 请求的参数构造类Dispatcher的对象,并调 用其中的dispatch方法;Dispatcher对象中 有构造类HttpRequestParser的实例,专门负 责从URL请求中解析出需要访问的数字资 源名称,并根据名称找出对应的数字资源 类ElecCfg对象,根据EleeCfg对象和对应 的ElecHost对象生成访问数字资源的相关 信息,比如主机、端口以及URL等,Dis— patcher对象再创建HttpDispatcher对象,类 60中国教育网络2。1 18 HttpDispateher是专门用来访问提供Web方 目前成熟稳定并且流行的B/S模式的软件 式访问的数字资源,在这个类中包含 开发技术,系统体系结构决定采用Java组 needRewriter、callRewriter prepareHeader 件技术的_二层结构实现,三层结构分别为 prepareUploads等方法;HttpDispatcher ̄象 表现层、业务层、持久层。根据三层结构的 根据Dispatcher对象提供的参数,构造URL 系统开发思想可建立起系统的构件图,构 重写对象COntentRewriter,然后通过 件图主要用于描述软件构件之间的依赖关 ContentRewriter对象的rewriter方法进行 系(见图2 o URL重写获取数字资源相关信息,并通过 在构件设计中,采用Ajax框架ExtJS作 HttpDispatcher对象prepareHeader等方法的 为表现层框架,该框架完全基于纯 处理,将处理后的结果通过RewriterServlet HtmI+CSS+JS技术,达到客户端的MVC三 返回到浏览器端响应用户请求。 层结构应用;采用基于MVC(模型Model一 在完成系统的用例分析、模型化静态 视图View一控制Contro1)模式的Struts的 数据描述后,基本上掌握系统的功能需求。 Control部分作为业务层…,针对用户的请求 而最终要成为一个软件系统,除了需要充 产生对应的action进行业务逻辑处理并响 分的功能需求分析和静态数据描述以外, 应结果;持久层则采用数据库连接池C3P0 还需要进行软件和硬件结构的设计。结合 结合Java JDBC技术进行数据的存储和更 图1系统类、类之间的关系 白一 图2系统构件 新;公共构件commons~logging支持各种日 FireFox、Chrome等浏览器访问由ExOS框架 志的输出,便于记录系统日志;commons— 和Struts框架搭建的网页登录访问系统; ifleupload.jar为H1rrP上传文档提供了完整 S e rv e r部分则采用三组服务器,其中 解决方案;底层数据处理采用MySQL。 AuthServer为身份认证服务器,主要提供用 软件结构设计好之后,可以展开部署 户身份验证及权限管理、流量控制、短信发 图的设计。使用部署图可以显示运行时系统 送及日志记录等功能,在服务器中以Tom— 的结构,同时还能传达构成应用程序的硬件 C at作为应用的容器运行系统的服务; 和软件元素的配置和部署方式(见图3 o AuthClient为访问对象(数字资源)代理服 根据图3,系统B/S结构中的Browser部 务器,每台AuthClient上可以允许多个数字 分为读者个人计算机,读者通过I E、 资源访问代理,每个访问代理和某个特定 的Web访问对象绑寇GSM Model为发送短信设备,提 供给AuthServer使用;Da— tabase Server作为数据库服 务器,其中运行MySQL数 据库软件,用于存放用户 信息及可访问资源相关配 置信息;数字资源服务器 代表高校图书馆有授权能 够访问的数字资源服务器, 也有可能是属于高校图书 馆内部的数字资源系统。 其中AuthServer、AuthClient 和Dabble Server之间是通 过机房的光纤网络连接, 图3系统部署 AuthServer与GSM Model是 通过串口或者U S B口进行连接,而 AuthClient和数字资源服务器之间的访问 方式有可能使用Internet网络,也有可能是 使用校内局域网的光纤网络,这取决与该 数字资源是属于高校图书馆购买的外部公 共网络的数字资源还是属于高校图书馆自 身的数字资源。 主要功能及关键技术 针对高校图书馆对数字资源进行有效 利用和管理的功能需求,结合前面对系统 进行的UML用例分析和系统的行为及结构 建模,来具体实现系统。 开发与运行环境 系统的开发环境的配置包含Eclipse、 Java SDK、Tomcat以及Eclipse下的Tomcat 插件Sysdeo Tomcat Plugin。 系统的运行支撑环境可以为Windows、 Linux或Unix。以Windows平台为例,只需 要在对应服务器下复制安装前面下载的 Tomcat以及Java SDK,然后将开发完成的 所有文件复制到Tomcat/webapps/RO0T目 录下,启动Tomcat即可完成系统的发布。 主要功能实现 开发环境建置完成之后,系统实现如 下主要功能: 1.统一认证和单点登录实现 统一认证和单点登录技术通过基于信 任主机的跨域名Cookie技术来实现。具体 实现为:读者当前操作第一次访问系统时 要求输入用户名、密码和验证码,提交请 求,Struts框架下实现的LoginAction接受到 这个请求,并且从请求中获取到用户名、密 码和验证码,然后先检查验证码是否正确, 若正确,则根据用户名找出User对象,然 后判断User对象中的密码是否和读者提交 的密码一致并且有没有被封禁,如果一致 并且没有封禁,则根据用户对象User找到 对应的所属用户组对象UserGroup,再根据 用户组对象找出能够访问的访问对象组, 从而得出可以授权访问的对象(数字资 源 同时将对应User保存到在线用户清单 201.8中国教育网络61