摘要:当前基于J2EE架构平台的Web应用在逻辑上一般被分为四层:域模型层、表示层、业务层、数据层。本文主要针对表示层、业务层和持久层的实现提出了基于Webwork+Spring+Hibernate的解决方案。WebWork是一个致力于组件化和代码重用的拉出式MVC模式实现框架,以其灵活、强大的功能为Web应用的构建减轻了负担。Spring是一种轻量级的容器,Spring使系统各组件间达到松散耦合并且能和各种框架很好的兼容。Hibernate是一个开源的持久层框架技术,全面减轻了维护数据的复杂度,使系统具有良好的性能和移植性。
本文以港航系统中局办公系统下的个人先进申请为案例,采用基于UML的系统分析方法,通过建立泳道图、用例图、类图对其进行了详细的分析,并在此基础上分别对Web表示层、业务逻辑层、数据持久层进行了详细设计。针对项目特点,整合WebWork、Spring、Hibernate三种框架技术,提出了一个具有通用模式的J2EE架构:WebWork实现MVC模式完成Web表示层功能,其业务逻辑交由Spring来管理;Spring负责管理表现层控制器与数据访问对象间关系,完成业务逻辑层功能;Hibernate负责数据的持久化工作。三种架构的应用能够有效地解决传统Web应用开发中存在的问题,而且采用分层及模块化设计使系统具有很高的可维护性、扩展性、移植性和组件的复用性。
关键词:J2EE,WebWork,Spring,Hibernate
ABSTRACT :At present according to the Web application of J2EE terrace at logical is been divided into 4 F generally: Domain Model Layer, Presentation Layer, Business layer and Database layer. This text mainly aims at to mean a layer, business layer with held out for long time the realization of layer to put forward according to the WebWork+Spring+Hibernate solution. WebWork is a pull-out framework of implementing MVC pattern and strives for reusing module and code, it relieves burden for constructing Web application by its flexible and powerful function. Differentiating strong invasion of EJB, Spring which is a lightweight container is designed with dependency injection and can make component loose coupling dynamically and compatible with other framework. Hibernate is an open source persistence framework, which entirely reduces the complexity of maintaining data and make system have higher performance and portable.
This paper takes the project as example. to detailed design for each layer such as Web layer, business logic layer and data persistence layer based on requirements analysis completely. As for the characteristic of project, the author integrated with WebWork, Spring and Hibernate and put forward a general model of J2EE architecture, what is that WebWork which implemented MVC pattern play the role of Web presentation layer and hand over its business logic to Spring, manage objects’ relation of between controller and data access object through Spring and make data persistence by Hibernate. The application of frameworks is not only resolve traditional issues in Web design but also enhance the system’s maintainability, expansibility, compatibility and reusability through adopting delamination and modularization.
KeyWord: J2EE, WebWork, Spring, Hibernate
1 绪论
1.1 问题的提出
随着互联网技术突飞猛进地发展,Web应用系统在Internet上的应用越来越广泛。Web应用系统不再仅仅是具有静态信息发布的简单功能,而且被要求具有实时动态处理交互和办公的能力。由Sun公司推出的J2EE平台,不仅完全继承了Java安全性好、可移植性强的优点,同时它是真正面向对象的编程语言,J2EE平台的广泛应用使基于B/S的多层Web体系结构逐渐发展成熟起来,多层Web应用的开发己成为主流。但是,在多层Web体系结构的设计中,仍然存在程序可重用程度低、维护工作繁琐、扩展能力较差等不足。同时,多层Web应用系统需要面对复杂的网络环境、多样化的用户需求、灵活的业务模式、复杂的业务流程、众多的组织机构及层次和角色分工等问题,在业务和技术上也是复杂多变的。因此,如何组织应用程序以实现简单高效的程序编写、升级、维护和扩展,是当前Internet技术发展的热点之一,也是一个很值得探讨的研究课题。
传统的模式是基于典型的客户/服务器C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。但C/S体系结构只在系统开发一级的层面上体现了开放性,在特定的应用中无论是Client端还是Server端都需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件。加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用,而且代价高、效率低。
因此,B/S(Brower/server)结构即浏览器和服务器结构,很大程度上弥补了C/S结构的缺陷,更为广泛的被开发人员加以应用。B/S结构就是我们所说的Web应用。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Brower)实现,但是主要事务逻辑在服务器端实现,形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。在JAVA这样的跨平台语言出现之后,B/S架构的企业级软件更充分的体现出方便、快捷、高效的优势。