对J2EE进行裁减,组成一个高效、松藕合的轻量级的架构,应基于两个原则:层次尽量分工明确,层次之间耦合度尽量低。在基于网络的科研管理系统中,在表现层使用Struts,业务层使用Spring,持久层使用Hibernate。
Struts是用于实现Web项目中UI层的开源产品,是MVC模式的经典实现案例。Struts将业务数据、页面显示、动作处理进行分离,有利各部分的维护;Struts采用Front Controller模式来实现动作处理,使所有动作请求经过一个统一的入口进行分发,方便在入口中加入一些全局控制代码的实现,如安全控制、日志管理、国际化编码等;通过Struts提供的ActionForm封装Web form中的元素,使重用Web表单成为可能;借助Struts Validator框架帮助完成Web层的验证工作,通常情况下不再为每个Web页面写验证代码,只需通过配置即可;用ActionForm类封装与用户互动的数据元素;用Action类实现逻辑(显示逻辑)、动作处理、链接转向,实现MVC中的Controller;借助Struts标签完成数据呈现,实现MVC中的View;ActionForm,Action,Validator的连接关系在struts-config.xml配置文件中定义;Struts运行在servlet容器中,加入容器配置文件Web.xml。
业务逻辑层Spring,通过控制反转、AOP应用、面向接口编程,降低业务组件之间的耦合度,增强系统扩展性。Spring 框架是一个分层架构,由七个定义良好的模块组成。其中最重要的模块是核心容器。核心容器定义了创建、配置和管理bean的方式,提供Spring框架的基本功能。核心容器的主要组件是BeanFactory,它是工厂模式的实现。BeanFactory使用控制反转(IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
以科研管理系统中的项目管理的实现原理为例来说明基于SpringSide的软件开发过程:作为领域对象的项目(Project)显示在Web页面(JSP、HTML等),通过struts对它进行的操作请求发送到相应的Action,在Action中通过Spring提供的服务定位器调用服务,Spring根据配置文件中的内容管理相应的业务逻辑Bean,业务逻辑调用Hibernate与数据库交互。 3SpringSide架构技术
SpringSide以Spring Framework为核心,以Ruby On Rails的简约风格整合Java社区的众多开源项目,为开发Java企业应用提供了一个方便起点。它所整合的Full-Stack 的开源构件库,包括了WebService、JMS、工作流、安全、报表、规则引擎、搜索引擎、定时任务等企业应用特性,以构件式的开发架构,配合Ant脚本与SpringSide-IDE(Eclipse插件),作为一个一站式的快速Java开发框架。
SpringSide由Core、Examples、Tools三部分组成。以JDK5和Spring2.0作为架构的基础。Entity POJO类由Hibernate Annotation注释ORM关系,因为POJO属性与数据库默认一一映射,所需的注释很少。Manager类采用No Dao、No Interface的紧凑模式,继承HibernateEntityDAO基类,用泛型声明自己管理的Entity Class。Struts Action采用Pragmatic的新模式:DispatchAction 每个Controller 响应一组相关操作,LazyValidatorForm免去FormBean定义,同样采用了StrutsEntityAction基类。View层采用JSP2.0,并结合Prototype.js、Dojo 简化Javascript与Ajax 应用。
作为Java企业应用框架,SpringSide深度结合了JBPM 工作流引擎、JBossRules规则引擎、Birt报表引擎,Lucene/Compass搜索引擎,Acegi安全与权限管理,XFire Web服务与ActiveMQ JMS与ESB项目组成的SOA架构的构件式架构。
RoR是一种简约态度,使用最主流的Spring+ Struts+ Hibernate架构,配合JDK5就可以极少的代码行数完成CRUD式的模块。
4基于SpringSide的开发过程
4.1 架构环境
架构包括的内容有J2EE容器(Servlet 2.4规范)、Struts包、Spring Framework包、Hibernate包、相应数据库的JDBC驱动器包。架构运行在J2EE容器上,可以在任何符合Servlet 2.4
科研管理系统基于当前流行的 J2EE 框架技术 SpringSide 进行开发,包括 Struts、Spring 、Hibernate 等开发工具和环境。 2 J2EE 架构的裁剪 J2EE;SpringSide;科研管理;...
计算机大学毕业论文-基于Springside的科研管理系统开发_管理学_高等教育_教育专区。摘要 提出了一种网络环境下,基于 J2EE 框架技术,借助分层思想,使用组件 服务,...
基于Struts+Spring+Hibernate+Ajax技术的科研管理系统设计_专业资料。科研管理系统业务流程复杂,形势变化繁复,使用J2EE框架技术开发是最佳选择之一。基于开源的Struts+...
基于SpringSide的可定制数据采集系统的设计与实现_自然科学_专业资料。第 9卷...开发的, 作者简介 :廖 宁(93,,1一)男 广东兴宁人 ,8 硕士研究生 . 研究...
SpringSide交叉报表构造模型研究 分析SpringSide构造报表的方法,给出一种由原始查询数据构造交叉报表的算法;为了加快软件开发效率,基于软件重用思想,给出两个通用交叉...
基于主题数据库的科研项目管理系统研究与开发_专业资料。科研项目管理系统服务于科研院所。通过该科研项目管理系统,能够提高科研管理水平,加强科研课题的规范管理,以及...
基于ASP.NET的科研信息管理系统开发_专业资料。高效的科研管理是实现校园信息化中的重要一环.以ASP.NET和SQL Server2000为技术支持,基于B/S架构模式,用软件工程...
基于SpringSide的BookStore项目开发的流程_计算机软件及应用_IT/计算机_专业资料。基于 SpringSide 的 BookStore 项目开发的流程 韩祥斌一、更换数据库管理系统 以 ...
基于SpringSide的安全框架的应用与扩展_专业资料。分析基于SpringSide的安全框架,主要说明如何在SpringSide框架下对资源进行认证和授权,进一步通过对SpringSecurity2.0...
SpringSide开发实战( 4):打通数据持久层的 任督 2脉疯狂代码 http://CrazyCoder.cn/ :http:/CrazyCoder.cn/Java/Article47072.html 在这里将创建个简化用户...
热门文档