首页 > 范文大全 > 正文

轻量级Java EE在ERP权限管理中的应用探

开篇:润墨网以专业的文秘视角,为您筛选了一篇轻量级Java EE在ERP权限管理中的应用探范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:在实际的Java EE平台中,使用SSH(Struts 2+Spring+Hibernate)框架整合开发是最流行的开发平台,这种开发平台也被称为轻量级java ee企业应用平台。通过研究Struts 2、Spring和Hibernate框架的体系结构,探索整合SSH开发了一个B/S多层架构的erp权限管理系统,验证了轻量级Java EE在信息系统开发中的可行性,为企业深化ERP权限管理,开发高效率、低成本的应用系统提供了有效途径。

关键词:Java EE Struts 2 Spring Hibernate SSH

一、SSH框架

2006年,Sun公司提出了Java EE(Java Platform,Enterprise Edition)的概念,并同步出现了两个主要规范JSF 1.2和EJB 3.0。它是能够为我们帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序,提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。

随着经典Java EE平台广泛采用,在企业级应用开发领域,并没有在Sun所推荐的以EJB为核心的Java EE应用架构中看到其所承诺的效果,实际情况恰恰相反,EJB在大部分实际应用中带来的坏处远远超过了它带来的好处。

于是,Java EE社区全面开始了对EJB的批评与反思,整个Java EE业界开始寻求一种更加简单、更加方便使用的轻量级Java EE架构。最终,Struts 2、Spring、 Hibernate三个开源框架的组合(通常被称作SSH)以能够运行在普通Web容器中而不需要EJB容器的支持,且一样具有稳定的性能和极高的可扩展性、可维护性,成为目前最为流行、运用最广的轻量级Java EE平台。

(一) Struts 2

早在2000年5月,Craig R. McClanahan就向Java社区提交了一个Web框架,这就是后来的Struts。2001年6月,Struts 1.0正式。2006年,WebWork与Struts这两个优秀的Java Web框架的开发团队,决定合作开发一个新的、整合了WebWork与Struts的优点,并且更加优雅、扩展性更强的框架,命名为“Struts 2”,原先Struts的1.x版本产品称为“Struts 1”。

(二) Spring

Spring框架由Rod Johnson开发,2003年了Spring框架的第一个版本。Spring框架的核心是控制翻转IoC(Inversion of Control)/依赖注入DI(Dependence Injection)和面向切面AOP(Aspect-Oriented Programming)机制。

(三)Hibernate

在Java EE应用程序中,采用面向对象编程,用对象描述实体;而数据源层往往是关系型数据库系统,用二维表存储数据。为解决面向对象的应用程序和面向关系的数据库系统之间的“阻抗不匹配”,需要ORM(Object-Relational Mapping)把Java EE应用程序中的对象映射到关系型数据库中的二维表,用于实现实体对象的持久化并封装数据访问的细节。实现ORM功能的组建有很多,其中JBoss组织的Hibernate是目前最常被使用的组件。Hibernate第一个正式版本于2011年末,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

二、ERP权限审核系统

(一)功能需求

技术方面:考虑到目前局域网比较完善,以及今后维护方便,系统应采用C/S(浏览器/服务器)架构。

功能方面:实现事务码、通用角色、本地角色、ERP用户、不相容事务代码的增加、删除、修改、查询功能。通用角色、本地角色、ERP用户三个层级不相容情况审核。

(二)系统设计

系统功能设计分为四个层级:

领域模型:建立类Tcode、CommonRole、LocalRole、UserInfo、Incompatibility,同时,将上述类的共有字段提炼出来,建立其父类BaseObject。

持久层:建立接口IBaseDAO,实现操作数据库的增加、删除、修改、查询操作,并通过泛型参数,实现多元化的对象操作。

业务层:建立接口IBaseService,实现操作持久层的增加、删除、修改、查询操作,通过泛型参数,实现多元化的对象操作。

表现层:由两部分构成,一部分用于收集信息和展示处理结果,包括添加(save)、修改(update)、查询(query)、更改成功(success)、查询结果(view)5个jsp页面;另一部分是对收集信息和处理结果进行封装的action,包括类TcodeAction、CommonRoleAction、LocalRoleAction、UserInfoAction、IncompatibilityAction、CheckTcodeBase,同时,将上述前5类的共用的功能提炼出来,建立其父类BaseAction。

(三)系统实现

1、开发环境

Eclipse 3.7.1 + Java EE SDK 1.7 + Struts 2.2.1 + Spring 3.0.5 + Hibernate 3.4.0 + MySQL 5.5.20 + Tomcat 7.0。

2、搭建SSH集成环境

建立名为serp的Java Web项目,建立三个业务层和领域模型的包,将所需的jar包拷贝到WebContent/WEB-INF/lib下,并对web.xml进行配置,增加对Struts2和Spring的支持。限于篇幅,该处及后面的具体代码未详细列出,如有需要,可向作者获取。

3、领域模型的实现

该部分内容位于model包下,实现领域模型Java类,与数据库的表建立映射。BaseObject类包含共性的id、idName、idDescription等属性及其setter和getter方法,并覆写hashCode、equals、toString、compareTo方法。CommonRole类包含个性的roleName、roleTitle、position、tcodes等属性及其setter和getter方法。映射文件CommonRole.hbm.xml建立数据库表与Java类的映射。

4、持久层的实现

该层将接口类和实现类相分离,使其实现方式可以随时更改为其它方式,增加了维护灵活性。IBaseDAO接口定义saveObject、updateObject、deleteObject、queryObject等方法。BaseDAOHibernateImpl实现IBaseDAO接口。

5、业务层的实现

该层同样将接口类和实现类相分离,使其实现方式可以随时更改为其它方式,增加了维护灵活性。IBaseService接口定义saveObject、updateObject、deleteObject、queryObject等方法。BaseServiceSpringImpl实现IBaseService接口。

6、表现层的实现

(1)jsp页面的实现

该部分主要用于实现信息的收集及处理结果的展示。globalMessages.properties用于页面显示内容的定制,增加其适用性。首页index.jsp用于显示具体的功能模块,包括事务代码、通用角色、本地角色、ERP用户、不相容事务码的信息维护和通用角色、本地角色、ERP用户的不相容审核。通用角色清单显示页面viewcommonrole.jsp用于显示查询到的通用角色清单。

(2)action的实现

该部分主要用于对收集数据及处理结果的封装。Stuts.xml用于实现处理类的调度。applicationContext.xml用于具体处理的实现。BaseAction类包含共性的operateFlag、successString、opearateResult、baseService等属性及其setter和getter方法,并增加generateSql、operate方法用于处理查询语句的处理。CommonRoleAction类包含个性的commonRole、commonRoles等属性及其setter和getter方法,并覆写execute方法。

(四)部署运行

在Eclipse中部署程序,然后在浏览器中输入访问页面,即可看到程序效果,实现ERP权限的在线管理。

(五)总结

在实际的Java EE平台中,使用SSH2(Struts 2 + Spring + Hibernate)框架整合开发是最流行的开发平台,这种开发平台也被称为轻量级Java EE企业应用平台。与经典的基于EJB核心的Java EE应用相比,基于SSH2的轻量级Java EE应用简化了经典的Java EE应用的难度,在保留经典Java EE应用架构、高度可扩展性、高度可维护性的基础上,降低了Java EE应用的开发、部署成本,具备了快速、高效、易于使用的特点。本文通过研究Struts 2、Spring和Hibernate框架的体系结构,探索整合SSH开发了一个B/S多层架构的ERP权限管理系统,验证了轻量级Java EE在信息系统开发中的可行性,为企业深化ERP权限管理,开发高效率、低成本的应用系统提供了有效途径。

参考文献:

[1]杨磊.新手学Java Web开发.北京:北京希望电子出版社,2010.

[2]李刚.轻量级Java EE企业应用实战(第3版)——Struts 2+Spring 3+Hibernate整合开发.北京:电子工业出版社,2012.

[3]The Apache Software Foundation.Struts 2.http://.

[4]Jboss Community.Hibernate.http://.

[5]Spring source Community.Spring.http://.