浙江工业职业技术学院 宋正江
Web开发往往涉及技术较多,随着MVC软件开发理论的不断深入,极大地提高了软件可维护性、可阅读性,但同时也增加了软件开发的工作量,提高了软件开发的成本。软件开发框架的出现,改变了这种状态,框架(FrameWork)为Web应用提供了预备的软件架构和相关软件包,可以大大提高开发Web应用的速度和效率。在Java社区,开源项目进行得十分活跃,许多优秀的开源框架更是为我们提供了帮助,结合Struts和Hibernate这两个开源框架来构建应用是一个十分有效的技术选择。本文研究了没有采用EJB技术的基于Struts和Hibernate框架的轻型J2EE软件架构技术和开发方法,并给出了在教学数据分析统计与设备管理系统中的具体应用。
在J2EE的多层次结构中,Web层框架遵循MVC模式的Struts架构,业务逻辑处理有JavaBean操作类完成,数据持久层采用Hibernate框架。本文将该框架架构应用于专业设置数据统计分析系统,利用调研信息输入专业设置信息条,最终生成统计信息报表;将基于改框架搭建石化企业设备管理系统,完成设备基本信息管理、备品备件管理、附属设备管理、故障登记管理等。
Web层中Struts框架的基本结构(见图1),Web层框架采用Struts架构存在以下几个方面优点。
a)可以为一个模型在运行时同时建立和使用多个视图。变化一传播机制可以确保所有相关的视图及时得到模型数据变化,从而使所有关联的视图和控制器做到行为同步。
b)视图与控制器的可接插性,允许更换视图和控制器对象,而且可以根据需求动态地打开或关闭、甚至在运行期间进行对象替换。
c)模型的可移植性。因为模型是独立于视图的,所以可以把一个模型独立地移植到新的平台工作。需要做的只是在新平台上对视图和控制器进行新的修改。
d)潜在的框架结构。可以基于此模型建立应用程序框架,不仅仅是用在设计界面的设计中。
图1 Web层中Struts框架的基本结构
图2 系统架构图
业务逻辑处理层:
该层是业务处理中心,考虑业务逻辑的需要具备灵活性,系统将业务处理类封装成JavaBean,并向上提供调用接口,为以后系统维护、扩展提供了方便。当系统业务发生改变,系统只需要更改相应的业务处理类,其他部分不需要进行修改。
数据持久层:
一般的研发模式,在数据层封装了SQL语句,并采用JDBC直接链接数据库,虽然这种模式相对于封装了JDBC的数据层框架而言,效率较高,但弊端在于相对增加了开发成本,降低了系统扩展性、柔韧性以及复用性,并且在数据库移植方面也大大地减弱。为了提高数据层的可维护性和移植性,系统数据层框架将采用O/RMapping模式的Hibernate框架,它是一个独立的对象持久层框架,Web层框架和数据层框架的耦合是松散的,数据持久层具有可替换性。使用Hibernate框架,使系统真正具有了在不同数据库上部署的能力,同时在开发的过程中使面向对象的开发思想贯穿其中。基于上述各层框架搭建的系统架构如图2所示。
总结:本文首先介绍了WEB应用的分层结构,阐述了这种分层结构的优点;然后分析了Struts和Hibernate这两个框架,最后提出了一个结合Struts和Hibernate的软件架构方案。基于这种架构技术开发的应用系统具有层间松耦合、结构清晰、开发周期短、可维护性好、扩展性好的优点。