基于J2EE架构的开源速成框架的设计和应用

上传人:woxinch****an2018 文档编号:38997141 上传时间:2018-05-10 格式:DOC 页数:11 大小:27KB
返回 下载 相关 举报
基于J2EE架构的开源速成框架的设计和应用_第1页
第1页 / 共11页
基于J2EE架构的开源速成框架的设计和应用_第2页
第2页 / 共11页
基于J2EE架构的开源速成框架的设计和应用_第3页
第3页 / 共11页
基于J2EE架构的开源速成框架的设计和应用_第4页
第4页 / 共11页
基于J2EE架构的开源速成框架的设计和应用_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《基于J2EE架构的开源速成框架的设计和应用》由会员分享,可在线阅读,更多相关《基于J2EE架构的开源速成框架的设计和应用(11页珍藏版)》请在金锄头文库上搜索。

1、基于基于 J2EEJ2EE 架构的开源速成框架的设计和应用架构的开源速成框架的设计和应用摘 要:在 j2ee 的多层架构下,出现了struts、spring、hibernate 等很多优秀的开源框架,但这些开源框架各有所长,本文提出的开源速成框架,以高内聚、低耦合的原则对这些开源框架进行提炼、简化和整合,web 表示层使用速成mvc 框架、业务逻辑层使用速成 ioc 框架、数据访问层使用速成orm 框架,解决了烦琐的基于 j2ee 的 web 应用架构建设,规范及简化 web 应用系统的开发过程,使得架构更加简练灵活快速,并成功应用在 b/s 架构的多个项目中。关键词:开源框架;速成 mvc

2、框架;速成 ioc 框架;速成 orm框架design and application of the j2ee-based open source crash frameworksli shu-fei(dongguan polytechnic, guangdong, 523808)【abstract】under j2ee multilayer architecture, there are many excellent open source frameworks such as: struts, spring andhibernate etc. but each of the open so

3、urce frameworks has its good points, the open source frameworks we raise in this paper adopt the principle of high cohesion, cow coupling to extract, simplify and integrate those frameworks. web presentation layer adopt crash mvc framework, business logic layer adopt ioc framework, data access layer

4、 adopt crash orm framework, solved the tedious web application architecture construction based on j2ee, specify and simplify the development process of the web application system. make the architecture more terse, flexible and quick, which applied in multi-projects of the b/s architecture successful

5、ly.【key words】open source frameworks ; crash mvc framework, crash ioc framework; crash orm framework0 引 言目前,在 j2ee 的多层架构下,已经出现很多如struts、spring、hibernate 等成熟的开源框架,它们分别描述了j2ee 层次架构上的表示层、业务层和持久层,成功的解决了一个应用上的不同实现层次。这些开源框架大大减轻了开发人员的负担,开发人员只要将这些不同层上的框架进行适当的整合,便使开发者从繁重的编码中解放出来,从而让开发者更专注于应用本身的业务逻辑开发。但是,这些开源

6、框架各有所长,struts 框架侧重于表示层, spring 框架侧重于业务层,hibernate 框架侧重于持久层1,2,本文将研究如何将这些开源框架以高内聚、低耦合的原则进行提炼、简化和整合成一个速成的集成框架,使用速成 mvc 框架处理应用后台服务的 web 表示层部分,使用速成 ioc框架来处理相关业务逻辑及事务管理,使用速成 orm 框架与数据库交互,使用服务在各层之间进行数据交互,构造成一个应用系统后台的系统解决方案,使得整合简化后的框架的层次更加符合企业基础架构平台的需要,更加简练灵活快速,该开源速成框架已成功应用在多个项目中。1 开源框架简介struts 是一个基于 mvc 模

7、式的开源 web 应用框架,mvc 设计模式利用控制器来(c)来分离模型(m)和视图(v) ,达到一种层间松散耦合的效果,减弱了业务逻辑接口和数据接口之间的耦合性,让视图层更富于变化,从而提高系统的灵活性、复用性和可维护性3。struts 主要是采用了 servlet 和 jsp 技术来实现,把servlet、jsp、自定义标签和信息资源整合到一个统一的框架中,开发人员进行开发时不用再自己编码来实现全套 mvc 模式,极大的节省了时间,struts 能充分满足应用开发的需求,而且简单易用,敏捷迅速。spring 是一个系统中多个业务组件或应用的开源框架的粘合剂,极大的减少了业务组件或应用的耦合

8、性和依赖性,以控制反转(ioc) 原则和面向方面编程(aop)思想为基础,提供管理业务对象服务1。其最核心概念是 bean factory,它能够很方便的配置、装配 javabean 和普通的 java 对象,通过 ioc 容器和依赖注入技术无缝的将各个协同工作的业务逻辑对象整合在一起4;aop 则将具体业务领域中的复杂逻辑分离出来,抽取共性,使各部分实现的功能更专一。hibernate 是一个开放源代码的对象关系映射框架,是一个免费的实现了 orm 的开源 java 包,是 java 应用程序和关系数据库之间的桥梁。它对 jdbc 进行了非常轻量级的对象封装,向业务层提供了面向对象的数据访问

9、 api,使得 java 程序员可以随心所欲的使用对象编程思维来操纵数据库5。2 开源速成框架总体架构设计由于 struts、spring、hibernate 框架对于 j2ee 应用的各层架构的支持各有所长,配置整合工作繁杂,而且有些功能相互重叠并制约,如果分开单独使用功能却不完善,因此按照高内聚、低耦合的原则,并依据 j2ee 多层架构的原理,构建了适应企业自身业务架构的开源速成框架,如图 1 所示。开源速成框架总体架构将 web 应用项目架构设计分为客户端和服务端,这里不涉及客户端的设计与实现,在服务端的架构设计上,按数据访问层次及流程分别划分为 web 表示层,业务逻辑层,数据访问层,

10、各层架构设计简明,责任明确,分工明了,在架构设计上达到了架构重用和集成,各自组件复用和扩展,降低架构之间的耦合度,架构能安全、高效运行。图 1 开源速成框架总体架构2.1 开源速成框架的 web 表示层设计在开源速成框架的 web 表示层中,采用速成 mvc 模式的设计思想进行架构,这种架构使 web 表示层职责分离。速成 mvc 模式中的数据模型(model)是一些数据结构及其数据,可以是业务对象,也可以是没有业务意义的对象,或是对象构成的复杂组合等,用来为视图(v)提供数据。视图(view)是用户看到并与之交互的界面,用来展现数据模型,拒绝业务逻辑代码,包括常见的html,jsp,java

11、script,xhtml,vml,xml/xsl,以及一些 web services。现阶段比较成熟的方案是采用 xml 及 json 来将 m 传输给客户端。控制器(controller)是用来接受客户端输入并调用m 及 v 去完成用户相关需求。控制器本身没有任何输出,它只是接收请求并决定调用数据模型去处理请求,然后再确定用视图来显示返回的数据。c 提供总体控制作用,速成框架中 rmiservlet 继承了 httpservlet 类,所有的请求都先映射到此类上,然后通过调用 handler 类统一分发到各个部分控制类。c 的实现 handler 还必须具有对国际化、异常处理、日志处理、上传

12、下载、缓存处理、安全处理、权限处理等组件的方法或接口,以便能更 好的完善web 表示层的功能,这些组件的实现均可以放在业务逻辑层,以达到重用。在速成框架的 web 表示层中,mvc 中的 c 的 rmiservlet 扩展了httpservlet 并实现根据请求匹配“约定式访问” (即约定服务名,方法名,参数等)中的约定,统一生成一个约定请求访问对象,并将对象给 handler 调用,handler 可以分发、代理或者适当修改。响应后的结果将以 json 或 xml 存储的数据结构返回,该数据结构可以是自己定义、封装返回的格式,简练而灵活。速成 mvc 模式没有复杂的封装,少了繁杂的配置文件,

13、因而简单、明了、快速,提高了访问的灵活性和开放性。相对于 struts 来说,struts 需要定义相应的标签语言,提高了学习门槛,降低了项目开发效率,同时控制 struts 执行也比较困难,如 struts 增加了对 action 执行前后的处理,在每个请求上展示层需要配置文件标注、请求和forward, ,随着系统业务的扩展,配置文件将不断增大而难以维护,且配置文件的每次更新都将导致重新部署整个项目。2.2 开源速成框架的业务逻辑层设计在开源速成框架的业务逻辑层中,集中处理了系统的所有业务逻辑及事务管理,通过组织业务逻辑并向外界提供业务服务达到层间的解耦,通过对数据访问层提供的服务和数据层

14、进行数据交互。速成 ioc 框架的设计原则是让业务更单一、粒度更小、低耦合和组件化,相比于 spring,该速成 ioc 框架简化的实现了业务逻辑、相关的事务管理以及其生命周期的维护。速成 ioc 框架根据业务需求划分了业务服务模块和业务逻辑模块,事务管理可配置作用于该业务服务模块中服务接口的实现类上,业务逻辑模块中的接口及实现尽量要求业务功能单一,以便业务重用。一个业务服务模块的接口可以调用一个或多个业务逻辑模块的接口,以便实现业务逻辑的组装,达到完成一个完整业务的功能。事务管理设计使用了一套与 threadlocal 的相关类,管理和维护了事务的完整性,解决了事务中多线程的并发性和安全性。

15、借鉴 spring的 ioc 依赖注入的思想,管理业务服务模块和业务逻辑模块间的访问、组装以及事务,业务对象或者组件的属性能方便的通过自己的 setter 方法实现注入,图 1 中的 ioc.xml 配置文件描述了业务对象或者组件间依赖关系和事务配置,该配置文件会在 j2ee 容器启动过程中进行相关的初始化。当业务逻辑层被 web 表示层的速成 mvc 中 c 的 handler 实现调用时,速成 ioc 框架则会依据容器中已经初始化过 ioc.xml 配置文件信息,通过获取应用的上下文信息,匹配相关业务服务模块的业务服务并调用相应具体业务逻辑模块中业务实现类进行操作,同时开启事务管理,如果该

16、逻辑模块的业务实现涉及到数据库访问,那该业务实现类将调用数据访问层提供的接口(dao)或者服务以获取相关的业务数据,组装后给业务服务模块,同时关闭事务管理,并将业务数据返回给速成 mvc 中的 handler。2.3 开源速成框架的数据访问层设计对于数据访问层,必须解决数据库无关性和实体对象的持久性。在速成 orm 框架中,数据存取层规范了对数据库的操作,屏蔽了访问数据库的差异性,并向外界提供统一的访问方法和服务,因此要求稳定、高效和安全。实体对象持久层实现了对象与数据库的数据映射关系,实体对象采用 pojo 模式来表示, pojo(plain old java objects)即简单的 java 对象,实际就是普通javabeans,包含了业务逻辑或持久逻辑等。图 1 中 dao(data access object)模式中对数据的访问(增删改查)是构建在数据库存取层和实体对象持久层之上的,orm. xml 配置文件描述了数据源信息及部分实体对象映射信息。在速成 orm 框架的设计中,daofactory 设计用来根据不同的业务对象产生相关业务 dao 实现

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号