影像及电子档案管理系统内容管理子系统设计与实现.docx

上传人:牧羊曲112 文档编号:2060796 上传时间:2023-01-05 格式:DOCX 页数:57 大小:1.16MB
返回 下载 相关 举报
影像及电子档案管理系统内容管理子系统设计与实现.docx_第1页
第1页 / 共57页
影像及电子档案管理系统内容管理子系统设计与实现.docx_第2页
第2页 / 共57页
影像及电子档案管理系统内容管理子系统设计与实现.docx_第3页
第3页 / 共57页
影像及电子档案管理系统内容管理子系统设计与实现.docx_第4页
第4页 / 共57页
影像及电子档案管理系统内容管理子系统设计与实现.docx_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《影像及电子档案管理系统内容管理子系统设计与实现.docx》由会员分享,可在线阅读,更多相关《影像及电子档案管理系统内容管理子系统设计与实现.docx(57页珍藏版)》请在三一办公上搜索。

1、 学号:一三061255西安电子科技大学学士学位论文影像及电子档案管理系统内容管理子系统设计与实现Design and Implementation of the Content Management Subsystem of the Video and Document Management System 学院: 软件学院 专业: 软件工程 班级: 一三06一三 姓名: 崔日新 导师: 孙述龙 摘 要随着档案资料价值的日渐提升,各行各业对档案管理也提出了更高的要求。对档案要“管好”,更要“用好”,但首先要管理好。本文针对企业中的信息管理需求探讨了面向企业应用的影像及电子档案管理系统内容管理子

2、系统的设计与实现。由于企业内信息文档繁多、业务需求多变,以及涉及到公司工作效率和文件价值与保密性等因素。致使文档管理平台建设存在许多问题。本文从软件体系结构模式的角度入手,首先构建了一个基于MVC模式的应用软件开发框架,然后在此基础上设计和实现了影像及电子档案管理系统内容管理子系统。在介绍SSH结构模型、Ajax等理论的基础上,对比已有文档管理平台的不足之处,着重研究如何使用这些框架和技术开发跨平台、框架灵活、稳定实用的影像及电子档案管理系统内容管理子系统的问题,并给出了基于Struts+Hibernate+ Spring+ExtJ技术的系统整体架构设计和内容管理子系统的设计与实现。论文最后讨

3、论了目前的影像及电子档案管理内容管理子系统有待完善和进一步研究的问题。关键词: 影像及电子档案管理系统内容管理子系统 MVC SSH Ajax ABSTRACTABSTRACTWith the increasing value of file data, all walks of life have a higher demand for the file management. As to the document, it is better to be used well than be managed well, while the first is to be managed well

4、. This paper will talk about the design and implementation of the Content Management Subsystem of the Video and Document Management System which works as an enterprise application. Aware of the changing business requirements in the system, it is very difficult to build the platform. In this paper, i

5、t firstly begins with the software architecture patterns, then constructs an application software development framework which is built upon the MVC pattern, next describes the design and implementation of the Content Management Subsystem of the Video and Document Management System. On the basis of i

6、ntroducing SSH architecture, the paper contrasts to the disadvantages in the existing document management systems and focuses on how to use these technologies and development frameworks to build a cross-platform, flexible framework and stability practical video and document management system. It als

7、o gives the implementation of the systems overall framework for designing and performance layer based on Struts, Hibernate, Spring and ExtJs , in the paper. Finally, the paper points to the problems when refer to making the system more perfect and further work to be done in the current Content Manag

8、ement Subsystem of the Video and Document Management System. Finally, the paper discusses the points to be perfected and the problems to be further studied in the current in the current Content Management Subsystem of the Video and Document Management System.Keyword: Video and Document Management Sy

9、stem MVC SSH Ajax目录目 录第一章 绪论31.1 项目背景31.2 项目研究内容31.3 论文结构4第二章 相关理论与技术62.1 相关理论简介62.2 Struts2的核心技术62.3 Hibernate的核心技术82.4 Spring的核心技术92.5 AJAX技术102.6 SSH集成框架11第三章 需求分析123.1系统需求分析123.1.1 系统角色123.1.2 需求分析123.2 本章小结一五第四章 系统总体设计164.1 系统架构总体设计164.1.1 传统开发框架到SSH框架164.1.2 SSH框架构建设计174.1.3 SSH架构在系统中的应用194.1.

10、3 SSH架构的优势与不足204.2 系统数据库设计214.3 系统持久层总体设计234.3.1 系统持久层设计与实现234.3.2 DAO层设计与实现244.4 系统业务逻辑层总体设计274.5 系统表现层总体设计294.5.1 使用Ext的页面布局294.5.2 使用Ext支持的客户端表单验证294.5.3 Ext封装的Ajax技术的使用304.7 本章小节32第五章 系统具体实现335.1 类别管理模块具体实现335.1.1 持久层具体实现335.1.2 表现层具体实现335.2 文档管理模块具体实现345.2.1 持久层和控制层具体实现345.2.2 表现层具体实现355.3 日志管理

11、模块具体实现375.4 权限管理模块具体实现385.4.1 控制层具体实现385.4.2 表现层具体实现385.5 系统附加功能具体实现395.5.1信息统计功能的实现具体实现395.5.2 系统定时清理功能具体实现395.6 本章小节40第六章 运行及测试416.1 系统部署情况416.2 系统日志功能运行情况426.3 系统核心功能测试与运行情况426.3.1 管理员管理功能测试与运行情况425.3.2 文档管理功能测试与运行情况445.3.3 权限管理功能测试与运行情况47第七章 结论与展望497.1 本文总结497.2 影像及电子档案管理系统建设的未来思考497.2.1 系统存在的不足

12、497.2.1 系统的展望50致 谢51参考文献53参考文献53第一章 绪论1.1 项目背景电子档案以其现代化手段,在档案信息存储、输出、处理等方面,具有纸质档案无法比拟的优越性.网络化运用引起了电子档案的保密性、安全性、真实性、可靠性问题.因此,必须加强电子文件的管理。公司中存在着各种信息档案,而如今人们已经习惯用电脑办公,结果自然会产生大量的电子文件,但我们如果将更多的时间花费在寻找这些文件上,既费时又费力。同时,公司文档又关系到公司工作效率与利益问题,怎样有效管理电子档案成为我们必须研究与解决的问题。如今已有的电子档案管理系统存在的主要问题有:问题1:原有系统采用单一的Struts或其他

13、的开发框架,这种方式缺少有效的模块集成手段,基于不同平台的模块很难集成,系统的可扩展性和伸缩性比较差。一旦系统需求分析发生变化(此时往往已经到了开发过程的中后期)或者系统需要扩展业务,原有系统的框架不能很好地解决这一问题。问题2:用户反映该系统的用户界面不够简洁,使用流程比较复杂。问题3:文档分类方法不恰当,危及文件信息资源的有效收集。问题4:系统功能不完善,直接影响文件信息资源的管理水。显然,根本的解决办法是完善系统开发框架、科学的文档分类管理与友善的用户操作界面。待开发的系统借鉴了原有系统的功能需求,但是在使用的开发框架和表现层方面对原有系统进行改进,使得系统更加完善。1.2 项目研究内容

14、本文主要研究在影像及电子档案管理平台中隶属于影像及电子档案管理系统应用集成框架的影像及电子档案管理系统内容管理子系统的设计与实现,在整个过程中主要完成以下工作:1影像及电子档案管理系统内容管理子系统的整体设计。在研究国内外现有成果地基础上完成影像及电子档案管理系统内容管理子系统的整体设计和逻辑上的模块划分。2研究一套灵活的系统整体架构方案,以方便处理系统模块间的控制和数据的集成,解决原有系统可维护性和扩展性差的问题。将研究结果应用于实际系统开发,为提高影像及电子档案管理内容管理子系统的快速开发、可维护和扩展能力提供有效的支持。设计并实现影像及电子档案管理系统内容管理子系统整体后台框架,为整个系

15、统提供架构支持。3在系统表现层方面,研究使用与后台进行异步交互的框架和能带来良好用户体验的技术,以提高页面良好的展示效果。4根据需求分析,设计实现影像及电子档案管理内容管理子系统核心功能,即文档管理功能,为其他模块提供技术借鉴与支持。5根据需求分析实现影像及电子档案管理内容管理子系统各功能。1.3 论文结构论文分为六章,各章主要内容如下:第一章:绪论。提出项目的背景,以及项目的研究内容和组织结构。第二章:相关技术概述。探讨了Struts、Hibernate、Spring、Ajax等相关理论。第三章:影像及电子档案管理系统内容管理子系统需求分析。简要说明了影像及电子档案管理系统内容管理子系统的需

16、求分析和不同系统角色的具体功能需求。第四章:首先分析了影像及电子档案管理系统内容管理子系统架构的总体设计。重点介绍了基于SSH架构的影像及电子档案管理系统内容管理子系统总体架构的总体设计以及数据库设计。然后分别对系统持久层和业务逻辑层设计做了详细介绍。第五章:介绍了影像及电子档案管理系统内容管理子系统核心模块非共性的具体实现,重点讨论了使用了Ext框架的页面组织和实现过程。第六章:系统测试与运行。首先介绍了系统软硬件部署情况,然后以贯穿系统配置与部署的日志管理系统的运行情况说明系统是可实现的而且部署是成功的。最后以系统核心功能为例,使用测试用例对其进行了测试,分析了测试结果。最后总结了全文,指

17、出了系统的需要改进的地方和进一步的研究方向。第二章 相关理论与技术2.1 相关理论简介 SSHSSH 在J2EE项目中表示了3种框架,既 Spring + Struts + Hibernate。 Struts2Struts21是在WebWork基础上发展起来的,是建立在称为XWork的Command模式框架之上的强大的基于Web的MVC框架(参见本章2.2节)。 HibernateHibernate2是一个开放源代码的对象关系映射框架,对JDBC进行了轻量级的对象封装,使得我们可以使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,最具革命意义的是,Hibern

18、ate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任(参见本章2.3节)。 SpringSpring3是一个开源框架,它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益(参见本章2.4节)。 AjaxAjax4全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。Ajax并不是一种新产生出

19、来的技术,它实际上是由目前几种相对成熟的技术组合而成的。标准的Ajax包含:基于XHTML和CSS标准的表示。2.2 Struts2的核心技术Struts2是WebWork的升级,而不是一个全新的框架,因此稳定性、性能等各方面都有很好的保证:而且吸收了Struts 1和WebWork两者的优势。Struts2是一个优雅的,可扩展的JAVA EE Web5框架。框架设计的目标贯穿整个开发周期,从开发到发布,包括维护的整个过程。Struts2框架的核心是一个灵活的控制层,它基于以下标准技术,如:Java Servlet、JavaBean资源绑定、XML和各种Jakarta Commons包。Str

20、uts鼓励使用基于Model2方法的应用框架,它是一种经典的模型试图控制器的MVC模型。MVC是Xerox PARC在20世纪80年代为编程语言Smalltalk-80发明的一种软件架构模式。它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。MVC视图如图:图2.1 MVC视图视图(View)代表用户交互界面。随着应用的复杂性和规模性,界面的处理也变得具有挑战性。一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理交予模

21、型(Model)处理。比如一个文档信息的视图只接受来自模型的数据并显示给用户,以及将用户界面的输入数据和请求传递给控制和模型。模型(Model)表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用如EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清

22、楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后, 并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控

23、制器三者之间的关系和各自的主要功能2.3 Hibernate的核心技术Hibernate是一种Java语言下的对象关系映射解决方案。 它是一种自由、开源的软件。它用来把对象模型表示的对象映射到基于SQL 的关系模型结构中去,为面向对象的领域模型到传统的关系型数据库的映射,提供了一个使用方便的框架。 Hibernate 不仅管理Java类到数据库表的映射(包括从Java数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL 和JDBC 处理数据的时间。Hibernate对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程

24、思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,它既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用。最具革命意义的是,Hibernate可以在应用EJB(Enterprise JavaBeans是Java应用于企业计算的框架)的J2EE架构中取代CMP,完成数据持久化的重任。2.4 Spring的核心技术Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。是企业应用开发的“一站式”选择,并贯穿表现层、业务层及持久层。然而,Spring并不想取代那些已有的框架,而是与它们无缝地整合。控制翻转IoC(Inversio

25、n of Control)/依赖注入DI(Dependence Injection)机制。IoC是指由容器中控制组件之间的关系(这里,容器是指为组件提供特定服务和技术支持的一个标准化的运行时的环境)而非传统实现中由程序代码直接操控,这种将控制权由程序代码到外部容器的转移,称为“翻转”。DI是对IoC更形象的解释,即由容器在运行期间动态地将依赖关系(如构造参数、构造对象或接口)注入到组件之中。Spring采用设值注入(使用Setter方法实现依赖)和构造子注入(在构造方法中实现依赖)的机制,通过配置文件管理组建的协作对象,创建可以构造组件的IoC容器。这样,不需要编写工厂模式、单例模式或者其他构

26、造的方法,就可以通过容器直接获取所需的业务组件。Spring框架的结构如图2.2所示。图2.2 Spring框架模块组成Spring框架由七个定义明确的模块组成,且每个模块或组件都可以单独存在,或者与其他一个或多个模块联合实现。Spring Core Container是一个用来管理业务组件的IoC容器,是Spring应用的核心;Spring DAO和Spring ORM不仅提供数据访问的抽象模块,还集成了对Hibernate、JDO和iBatis等流行的对象关系映射框架的支持模块,并且提供了缓冲连接池、事务处理等重要的服务功能,保证了系统的性能和数据的完整性;Spring Web模块提供了W

27、eb应用的一些抽象封装,可以将Struts、Webwork等Web框架与Spring整合成为适用于自己的解决方案。Spring框架可以成为企业级应用程序一站式的解决方案,同时它也是模块化的框架,允许开发人员自由地挑选适合自己应用的模块进行开发。Spring框架式是一个松耦合的框架,框架的部分耦合度被设计为最小,在各个层次上具体选用哪个框架取决于开发者的需要。2.5 AJAX技术Ajax的核心是JavaScript对象XmlHttpRequest。它是一种支持异步请求的技术。JavaScript可以在不刷新页面的情况下从服务器获取数据,或者向服务器提交数据,灵活地实现了数据异步交互。我们知道,传

28、统的Web应用是同步交互的方式。这种同步交互方式的处理过程如图2.3所示。图4.14 同步交互方式用户向服务器提交了一个处理请求时,服务器端接受到该请求后,和数据库服务器进行数据信息的交换,然后对请求处理进行相应,即将结果传送回发出请求的浏览器客户端,返回一个HTML页面在浏览器端进行显示。显然,这样的一种处理方式会给用户一种不连贯的体验,因为当服务器在处理请求的时候,用户多数时间只能处于等待状态,页面中显示的内容也只能时一片空白。与传统的Web应用不同,Ajax采用的是一种异步交互的处理方式。这种异步交互的处理过程如图2.4所示。图2.4 使用Ajax的异步交互模式Ajax相当于在浏览器客户

29、端与服务器之间架设了一个桥梁,在它的帮助下,可以消除网络交互过程中的处理等待处理等待的缺陷。在处理过程中Web服务器响应是标准的且易于解析的XML格式的数据传递到Ajax,然后再转换成HTML页面的格式,辅助CSS进行显示。Ajax是传统Web应用程序的一个转变。Ajax可以所为客户端和服务器的中间层,来处理客户端的请求,并根据需要向服务器端发送请求,用什么就取什么、用多少就取多少,就不会有数据的冗余和浪费,减少了数据下载总量,而且更新页面时不用重载全部内容,只更新需要更新的那部分即可,相对于纯后台处理并重载的方式缩短了用户等待时间。2.6 SSH集成框架SSH(Spring + Struts

30、 + Hibernate)是典型的J2EE三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。表现层是传统的JSP6技术,其广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。中间层采用的是流行的Spring+Hibernate,为了将控制层与业务逻辑层分离,又细分为以下几种。Web层,就是MVC7模式里面的控制器,负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现。Service层(就是业务逻辑层),负责实

31、现业务逻辑。业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。DAO层,负责与持久化对象交互。PO,持久化对象。通过实体关系映射工具将关系型数据库8的数据映射成对象,方便地实现以面向对象方式操作数据库,采用Hibernate作为ORM框架。Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,其数据服务层用来存放数据。第三章 需求分析3.1系统需求分析3.1.1 系统角色根据影像及电子档案管理内容管理子系统的实际需求,系统整体的用户包括普通管理员、高级管理员以及普通用户、高级用户。而后台影像及电子档案管理系统内容管理子系统

32、的用户角色为普通管理员和高级管理员。下面是对上述不同角色的需求分析。3.1.2 需求分析本小节分别说明普通管理员和高级管理员的需求分析。图3.1表示普通管理员系统功能用例图。图3.1 普通管理员系统功能用例图如图普通管理员功能分为登陆、类别管理、文档管理、日志管理、评论管理和用户管理。此角色的系统功能结构图为:普通管理员管理类别管理文档管理日志管理用户管理评论管理添加子类别更新类别信息删除类别添加文档更新文档信息删除文档备份日志清理日志修改类型修改状态查看评论验证评论登陆图3.2 普通管理员角色系统功能结构图具体功能分析如下:(1) 普通管理员需求分析。 管理员登录:不同的用户功能和权限不同,

33、所以不同的用户必须先进行登录验证,只有验证通过才能够进行相关的操作。 文档类别管理(高级管理员授权情况下):普通管理员登录后可以对文档类别进行操作,例如:删除类别、在某一当前类别下添加子类别与修改类别信息。 文档管理(高级管理员授权情况下):普通管理员登录后可以对文档进行操作,例如:录入文档、修改文档基本信息、验证文档、修改删除与添加文件到某一当前文档、删除文档、高级选择查看文档等。 用户管理(高级管理员授权情况下):普通管理员登录后可以对用户进行管理,例如:查看用户、删除用户、查看用户上传文档等。 用户评论管理(高级管理员授权情况下):普通管理员登录后可以对用户的评论进行管理,例如:查看用户

34、评论、删除多条用户评论和按关键字批量删除评论。 日志管理(高级管理员授权情况下):普通管理员登录后可以对管理员操作日志进行管理,例如:查看日志信息、备份日志与清理日志。(2) 高级管理员需求分析。图3.3表示高级管理员系统功能用例图图3.3 高级管理员系统功能用例图(省略了普通管理员的功能)高级管理员可以执行系统所有操作,除了普通管理员的所有需求外,还包括管理员管理和权限管理,此角色的系统功能结构图为:高级管理员管理管理员管理权限管理添加管理员修改管理员删除管理员修改权限图3.4 高级管理员系统功能结构图 管理员管理:高级管理员登陆后可以对系统管理员信息进行管理,例如:添加管理员、删除管理员和

35、修改管理员信息。 权限管理:高级管理员登陆后可以对系统角色权限进行管理。3.2 本章小结本章主要介绍了影像及电子档案管理系统内容管理子系统的需求分析,按照不同的角色将功能需求用用例图的方式列出。然后为了更深入的了解系统需求,使用功能结构图对系统按角色进行了功能分析。第四章 系统总体设计4.1 系统架构总体设计根据需求分析,这一节详细讨论了影像及电子档案管理系统内容管理子系统的总体架构设计方案。4.1.1 传统开发框架到SSH框架经典的网站系统是基于Struts+Hibernate的框架进行设计和开发的。这种开发框架的好处是实现简单,业务逻辑清晰,开发人员使用起来很容易。因此在实际开发时可以把后

36、台业务逻辑代码放到设计好的JavaBean中,按照上述功能结构图的模块划分方式,每个模块都是一个单独的JavaBean类,控制层代码直接使用这些类完成实际功能。虽然上述的开发框架可以很好的解决电子档案管理中的应用开发面临的问题,但是实际应用表明这存在着一些弱点。首先是复用的层次较低,开发框架主要着眼于对象类的复用,而这些复用是代码级的复用,代码级的复用方式带来的坏处是涉及实现细节,不支持可插拔的软件构件思想;其次是粒度较小,开发框架中主要实现的是一些通用功能或者常规操作,没有比较大粒度的构件复用,虽然存在一定程度的独立的业务代码类,但是依然离不开实现细节;最后就是使用人员的定位问题,使用开发框

37、架的基本上是了解熟悉此类框架的软件开发专业技术人员,而对于不熟悉这种开发框架的业务人员而言,无法满足他们随着需求变更修改系统或者自主开发小应用的需要。为此,本文提出了比开发框架层次更高的SSH框架构件平台来实现具体的应用。SSH框架构件平台主要是为了适应复杂多变的公司文档信息管理的业务需求而提出的业务支撑平台,该平台的目标是支持开发人员通过统一的业务平台快速构建影像及电子档案管理系统的业务流程,实现公司内部影像及电子档案管理的业务整合和数据整合,最终形成一个统一的立体式的影像及电子档案管理系统。4.1.2 SSH框架构建设计这一节以影像及电子档案管理系统内容管理子系统为例,进行SSH框架应用的

38、研究。SSH框架规划的出发点完全不同于现有的建模和组件的方案设计。传统的网站系统设计是:当软件的设计和开发人员在拿到业务需求后,会立即想到是不是需要使用Struts的MVC结构,是使用EJB还是使用Hibernate,是使用什么样的服务器和数据库等。然后系统架构师和每个业务人员进行沟通并且划分每个业务模块,业务人员再向每个模块填写相应的代码。这样,使得业务从属于技术,业务功能受到具体技术的限制,业务和技术是紧耦合的。这样的设计使得很多网站系统受到技术的限制,一旦系统需要改进技术或者技术被淘汰,他们的业务也会跟着发生变化或者淘汰。SSH框架规划旨在减轻开发人员重新建立解决复杂问题方案的负担和精力

39、;它可以被扩展以进行内部的定制化,提高开发效率并容易实现系统的可扩展性与可维护性。下图为系统基于SSH框架的层次关系图: 图4.1 应用框架的层次关系图层次结构图给出了应用框架的层次关系,应用框架由上向下可分为持久层、逻辑层、业务层、控制层和表现层。其中上层构件为下层提供了独立完整的功能,下层构件无需了解上层构件内部的实现细节,只需要调用其提供的明确定义的接口和方法来实现自己的功能。应用框架的分层机制负责将用户的业务需求分为相对独立的层次化模块,支持开发人员方便快速地开发相对独立的业务单元。基于MVC模式,系统分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校

40、验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。表现层使用基于JSP显示,ExtJs组件为主体的开发模式。中间层采用的是流行的Spring+Hibernate,为了将控制层与业务逻辑层分离,又细分为以下几种。Web层,就是MVC模式里面的“C”(controller),系统中对应Action层。负责控制业务逻辑层与表现层的交互,调用业务逻辑层,并将业务数据返回给表现层作组织表现。Service层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO层为基础,通过对DAO组件的正面模式包装,完成系统所要求的业务逻辑。DAO层,负责与持久化

41、对象交互。该层封装了数据的增、删、查、改的操作,采用数据库中间件Hibernate完成对底层数据库应用的封装,通过一致的规范接口,将底层数据库与业务逻辑分离开来,为应用系统的业务代码开发提供了数据层支持。PO,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,该系统采用Hibernate作为ORM框架,并使用注解方式实现数据映射配置。Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层及PO无缝整合,依靠Spring依赖注入特性Web层中注入Service、Service层中注入DAO、DAO层中注入HibernateT

42、emplate,其数据服务层用来存放数据。为了提高系统的可扩展性与可维护性,在DAO层与Service层分别抽取出接口层和接口实现层。4.1.3 SSH架构在系统中的应用图4.2是影像及电子文档管理系统的整体架构图。图4.2 影像及电子文档管理内容管理子系统的整体架构图下面是对图4.2中各层的角色及功能说明。(1)View层:影像及电子文档管理内容管理子系统的视图展示,用户页面采用Ext框架进行组织,数据从后台转发过来使用JSP的方式,然后在客户端转换成HTML页面的格式,借助JavaScript和CSS进行显示。(2)Controller层:影像及电子文档管理内容管理子系统的控制层,使用St

43、ruts的控制层来进行业务流程控制。控制器是应用系统处理具体流程和导向的核心部分。它把模型对象给出的信息转换成视图可以理解的形式,并且处理系统流程的走向。在这里使用struts.xml配置文件来定义业务流程,使用Action类调用相应的Web Service来实现这些具体功能。(3)Model层:影像及电子文档管理内容管理子系统的模型层,实现具体的业务逻辑。模型包含应用程序的核心功能,封装了应用程序的状态,它对视图或控制器一无所知。数据库中间件方面,系统定义了Dao层,使用集成封装的HibernateTemplate实现数据操作。系统使用Annotation(注解)方式配置实体类与数据库的映射

44、关系,包括主键生成策略、表与表的级联关系配置等。4.1.3 SSH架构的优势与不足传统的网站系统采用单一的Struts+Hibernate框架进行设计和开发,在这种方式下,客户端代码和业务逻辑代码混杂在一起,而且模块化划分不够灵活,各个业务模块之间的耦合度较高。传统的应用没有完全遵循软件可重用性的原则,可重用性仅仅体现在本地的代码可重用性,而对于更广范围的数据和代码的可重用性,并没有相应的支持。与传统的网站系统应用相比,基于SSH框架的影像及电子档案管理系统内容管理子系统架构有如下优点:1 发效率高一个良好的框架可以让开发人员减轻重新建立解决复杂问题方案的负担和精力;它可以被扩展以进行内部的定

45、制化;并且有强大的用户社区来支持它。框架通常能很好的解决一个问题。2 后期维护效率高软件工程不同于传统的工业,例如电器、建筑及汽车等行业。这些行业的产品一旦开发出来,交付用户使用后将很少需要后续的维护。软件产品的后期运行维护是个巨大的工程。传统的ASP和 PHP等脚本站点技术,将整个站点的业务逻辑和表现逻辑都混杂在ASP或PHP页面里,从而导致页面的可读性相当差,可维护性非常低。但采用严格分层J2EE架构,则可完全避免这个问题。对表现层的修改即使发生错误,也绝对不会将错误扩展到业务逻辑层,更不会影响持久层。因此,采用J2EE分层架构,即使前期的开发效率稍微低一点,但也是值得的。 3 系统结构性

46、强Struts提供标准的MVC架构模式,Hibernate实现底层数据映射与数据业务操作,而Spring则贯穿于整个项目各个层次中,作为一个轻量级容器管理各个层次。系统结构脉络清晰。4 系统需求扩展性强几乎所有的软件需求都是在变化的。客户对软件需求,是随着软件开发过程的深入,不断明晰起来的。因此,常常遇到软件开发到一定程度时,由于客户对软件需求发生了变化,使得软件的实现不得不随之改变。当软件实现需要改变时,是否可以尽可能多地保留软件的部分,尽可能少地改变软件的实现,从而满足客户需求的变更?答案是采用优秀的解耦架构。这种架构就是J2EE的分层架构,在优秀的分层架构里,控制层依赖于业务逻辑层,但绝

47、不与任何具体的业务逻辑组件耦合,只与接口耦合;同样,业务逻辑层依赖于DAO层,也不会与任何具体的DAO组件耦合,而是面向接口编程。采用这种方式的软件实现,即使软件的部分发生改变,其他部分也尽可能不要改变。另一方面,在传统的程序结构中,只要有一点小的需求发生改变,将意味着放弃整个页面,或者改写。采用Hibernate作为持久层技术的最大的好处在于:可以完全以面向对象的方式进行系统分析、系统设计。5 系统技术扩展性强Struts、Hibernate、Spring都是开源框架,这同样是优势之一。如Struts支持多种插件,在本系统中使用到了JfreeChart实现了系统统计的功能。更高的系统灵活性 系统的页面和服务开发相互分离,这就使得在需求确定的情况下,系统的表现层和服务层的开发能够同时进行,大大减少了系统开发周期。另外,页面和业务的分离降低了表现层和服务层的耦合度,一旦页面发生改变,服务层根本不需要改变,这样也使得系统具有很好的灵活性。采用上述架构的影像及电子档案管理系统内容管理子系统也存在以下不足:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号