基于J2EE技术的企业Web信息系统开发平台方案研究


打开文本图片集

摘 要 针对目前Web信息系统开发成本高、效率低、周期长的现状,结合多年系统设计与开发经验,根据公司管理信息系统建设的特点、用途以及应用范围,提出基于J2EE技术,构建Web信息系统快速开发平台的设想。该方案已在实际开发项目中得到了部分使用,并取得了良好的效果。

【关键词】J2EE 信息系统 SSH 开发模式 Web

随着现代信息技术的发展,企业的生产经营管理方式也朝着信息化、网络化的方向发展。当今一个企业信息化水平的高低,将成为企业核心竞争力强弱的重要标志。如何在科学分析企业应用系统开发现状的基础上,不断减少企业开发成本,缩短开发周期,提高系统可靠性、可扩展性和可维护性,已成为企业信息系统开发的一个重要研究课题。

因此,本文按照比较成熟的J2EE架构设计模式,整合Struts2、Spring3、Hibernate3.5以及Freemaker、log4j等优秀开源框架,构建Web开发平台,并在此基础上实现和提供底层技术架构和通用模块。

1 企业信息系统开发过程中存在的问题

随着现代信息技术的发展,企业的生产经营管理方式也朝着信息化、网络化的方向发展。如何在科学分析企业应用系统开发现状的基础上,不断降低企业开发成本,缩短开发周期,提高系统可靠性、可扩展性和可维护性,已成为企业信息系统开发的一个重要研究课题。

当前,公司Web信息系统开发面临需求不断增长而开发人员不足以及技术更新快等问题。本文基于成熟的J2EE架构设计模式,提出构建企业Web信息系统快速开发平台的设想,该平台提供底层技术架构和通用模块,让开发人员更加专注于业务而不是技术本身。

2 平台架构设计

2.1 平台架构设计

平台采用B/S架构,采用分层式设计模式,由表示层、控制层、业务逻辑层、组件层、DAO层与持久层组成。平台架构如图1所示。

2.1.1 表示层

目前,提供页面展示的技术有很多,如RIA、ExtJs等,本平台采用Struts2+jQuery的组合方式。Struts 是一个基于Sun J2EE 平台的MVC框架,主要采用Servlet和JSP技术, 为JavaWeb应用提供了现成的通用框架。

2.1.2控制层

控制层在MVC设计模式中的负责将View层传递过来的请求,并结合Model层,起到上传下达的作用。它是Model层和View层之间连接的桥梁。主要用到的技术有Servlet、ActionFrom等技术。为了减少配置量,提供了一个采用通配符的式的配置,只要遵守相应的命名规范,即可省略相应的配置,达到提高开发效率的目的。

2.1.3 业务逻辑层

业务逻辑层采用Spring开源框架作为容器,Spring是一个轻量级的IOC(控制反转)和AOP(面向切片)的容器框架。通过IOC[2],服务对象的载入和生命周期管理完全由容器控制。Spring做为容器,可以很好的同Struts、Hibernate等其他的开源框架实现融合。主要用到Spring对DAO技术与事务处理技术的支持。如果信息系统需要应用到其他国家,Spring还可以提供国际化支持。

2.1.4 组件层

该层主要提供已封装好的各类组建,包括日志组件、代码自动生成组件、缓存组件等,各组件之间相互独立,遵循“即插即用”的原则,实现灵活运用。

2.1.5 DAO层与持久层

平台数据库访问层采用Hibernate开源框架与DAO(Data Acess Object)联合的方式来实现,对数据库表单的操作通常采用Hibernate的对象方式进行,对复杂的数据库多表或批量操作,就需要采用DAO的方式,以提高系统的灵活性和性能。在该平台的实现过程中,将Hibernate与Spring JDBC相结合,将Java代码与SQL语句相分离。在此基础上,通过c3p0技术与数据库建立连接,保证了数据连接的安全性与会话结束时,连接的及时释放。考虑到业务系统的跨数据库特性,Hibernate提供了Dialect(方言)特性,以支持多数据库之间的移植。

2.2 平台主要组件设计

2.2.1 代码自动生成

代码自动生成功能是解决目前重复工作,提高工作效率的重点之一。在实际的Web系统开发过程中,发现很多类似系统所具有的基本功能都一样,如新增、删除、修改、查询等,每开发一套系统,就需要重新开发。而简单的复制代码,将带来更多的工作量。代码生成主要有两种形式:一是直接生成代码;另一种是生成模板文件,而该模板文件主要以XML的形式存储。

无论是哪种方式,在实际应用中,都包括前台代码(JSP页面)和后台代码两大部分。前台代码主要包含了常用的新增、删除、编辑和查询功能,字段校验功能等;后台代码生成包括生成业务实体对象、Service类、以及SQL查询类。具体的代码生成,需根据详细的编码规范和约定来实现。

2.2.2 异常组件

该平台采用集中异常处理模式,分为两大类:业务异常和系统异常。前者根据约定的异常Key和异常名称,来定位异常;后者开发人员只需要在代码里抛出异常,并跳转到指定的页面,由开发人员统一处理。

2.2.3 日志组件

日志组件是系统开发中不可或缺的跟踪调试工具,特别是对于自动运行的系统后台程序以及没有跟踪调试环境的情况下适用。日志系统对于生产应用系统、管理信息系统,都有举足轻重的作用。有了日志系统,就可以对登录系统的用户、用户所进行的每一个操作,进行记录。在操作失误或者数据丢失的情况下,对数据恢复都有非常现实的意义。

平台提供了统一的日志处理方式,采用Log4j,该产品是Apache基金会所属的一个开源组件,对系统日志处理有着非常详细的设置,一般信息系统的日志功能需求,都能满足其要求。

2.2.4 安全性组件

安全性组件,主要包括身份认证、授权管理以及日志管理三方面:

身份认证:用户根据正确的用户名和密码登录,密码采用MD5加密存储,采用严格的身份认证(如果会话失效会重新登录)。

授权管理:基于用户、角色和组织结构的多级设置,不仅有菜单权限控制,对每一个操作按钮,如新增、删除、编辑、查询、下载等都有精确的控制。

日志管理:记录用户的登录时间以及登录IP,所做的操作,都有详细的记录,方便系统管理。

3 结论

对于非专业化的开发单位而言,运用适当的技术和工具,以提高系统开发的可扩展性,缩短开发周期,降低开发成本,从而能快速响应业务需求,解决实际问题,最终使服务水平和质量得到有效提升,这就是其意义之所在。

本文所阐述的企业Web系统快速开发平台,就是这样一种技术型工具。在本企业多个应用系统设计实现的过程中,该快速开发平台的部分设计思想和组件已得到部分使用和验证。经过项目实践,证明在减少代码量、功能复用、缩短开发周期等方面,应用效果良好。

参考文献

[1]孙卫琴.精通Hibernate:Java对象持久化技术详解[M].电子工业出版社出版,2006.

[2]Rod Johnson.J2EE 设计开发编程指南[M].电子工业出版社,2008.

[3]Craig A.Berry.实用 J2EE 设计模式编程指南[M].电子工业出版社,2009.

[4]孙鑫.Struts2深入详解[M].电子工业出版社出版,2008.

作者单位

中海油田服务股份有限公司 北京市 101149

推荐访问:信息系统 方案 开发 研究 平台