J2EE技术实现城市本地公众信息平台

时间:2022-10-04 10:40:42

J2EE技术实现城市本地公众信息平台

摘要:该文主要通过介绍J2EE各类框架技术的特点,提出了基于五层Web应用框架整合结构的结构理论。并在此理论结构的基础上实现了公共信息服务平台的建设,为类似的电子政务平台的建设提供理论参考。

关键词:J2EE;框架技术;公众信息服务;电子政务

中图分类号:TP393文献标识码:A文章编号:1009-3044(2010)21-5892-02

在网络信息技术高速发展的大环境下,各类信息以海量的形式充斥在我们的生活、工作及学习周围,但由于这些信息的重复性,数据的准确度不高,社会公众很难准确、快捷的获取个人想要得到的本地数据和信息,对人们的网络生活造成极大的负面影响。因而由政府牵头整合政府、市场、企业等多方面资源,共同建设一个统一、开放、跨平台、系统结构层次清晰的公共信息服务平台,并以灵活多样的形式为本地公众提供准确、权威的信息服务已经成为当地互联网应用的的一种趋势和重要需求。

基于J2EE技术标准体系的框架技术的特点使其能够快速、有效地支持各类大中型Web应用建设,同时在大中型Web应用中,必然存在多个层次,需要使用几个不同的框架来支持。那么如何整合各层框架,让每个层在一种松耦合的方式下互相协作,这是在这一类型项目的建设中必须解决的一个实际问题。本文将介绍一个以Spring框架为核心,结合Struts及Hibernate框架的一种高效构建大中型Web应用的框架整合理论,并在此理论的基础上阐述了城市公众信息服务平台应用的设计思路和关键实现技术。

1 J2EE框架技术特点

目前随着软件开发技术的发展,可重用、可移植、易扩展,而且是经过良好测试具有较高稳定性及可用性的软件产品,越来越受到技术人员的青睐。因为这意味着技术人又可以有充裕的时间用来分析和构建业务逻辑,而不必花费太多的经历在繁杂的代码工程上面。于是人们将相同类型问题的解决途径进行抽象,抽取成一个具有标准意义的应用框架,而J2EE正是这样的一个框架。

1.1 Spring框架

Spirng框架是一个以控制反转(IOC)模式和面向方面编程(AOP)思想为核心的轻量级框架,主要用于对中间层业务组件的管理。常用的中间件解决方案EJB是一种重量级的容器,主要有以下缺点:必须实现EJB的接口,对业务逻辑组件侵入性很大;应用依赖于EJB容器,不能单独运行,另外启动时间长,测试复杂、配置很困难,而Spring则不然。

首先,Spring是一种轻量级的框架,是基于组件化、模块化的结构。它有分层的体系结构,因而针对Spirng开发的组件不需要任何外部库,也可以选择某个模块独立使用,从而避免了EJB复杂、启动时间长的缺点。

其次,Spring也是一个IOC容器。IOC模式是Spring的核心,它的本质是由容器控制业务对象的协作关系,而非传统的用程序编码在业务对象直接控制,控制权由程序代码转移到外部容器。通过IOC模式可以很容易地管理和替换业务对象。

另外,Spring又是比较全面的框架,它并没有象EJB一样从底层开始全面实现J2EE的功能模块。Spring提供了大多数的层次功能模块,但它并不是从头开始实现的,它通过对其它框架技术的支持来实现各层功能。它包括SpringCore核心层、MVC模块、SpringDAO、SpringORM、上下文控制、Web表示层、面向方面编程7个功能模块。

1.2 Hibernate框架

Hibernate是一种专业的对象关系映射(O/R)工具,通过Hibernate的O/R映射配置,可以用对象化的方式处理数据库表中的记录。Hibernate通过Properties文件建立数据库连接,通过映射文件(.hbm.xm1)将数据库表映射为Java类,表中的每条记录对应为类的实例,而数据列值映射为实例的属性。Hibernate将这些实例以持久对象(Persistentobject)形式向中间业务层提供服务。

1.3 Struts框架

Sturts框架很好地实现了MVC设计模式的理念。它通过ActionServlet实现对象的集中控制,并利用Struts-conifg.xml文件,巧妙地实现了视图、控制、模型层次之间的分离,使得页面设计与改变真正做到与代码无关。

2 整合框架的Web应用架构

通过对上述各种框架技术的介绍可知,如果单独以上任何一个框架技术来实现大中型的Web应用,会存在效率不高,解决问题不彻底等问题,而以Spring框架为核心,充分利用其开放性、模块化以及对业务对象、事务管理等特点,整合Sturts、Hibernate框架,可以构造出五层Web应用架构,分别为:客户层、Web层、业务层、持久层、企业资源层5个层次。整合出的Web应用架构如图1所示。

在客户层,由JSP页面负责传送请求(Request)和接收响应(Response)。在Web层,Sturts根据ActionServlet接受到的请求,指派对应的Action类。Action对象中的execute方法调用模型中的业务组件,决定“做什么”。在业务层,管理业务组件的SpringIOC容器负责向Action提供业务模型(Mode1)组件,决定“怎么做”和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件提升系统性能和保证数据完整性。业务层通过DAO数据访问对象,向持久层请求数据处理。在持久层,依赖于Hibernate的对象关系映射和对象化的查询语言操作,通过Hibernate的会话,处理DAO组件请求的数据,并返回处理结果。

对照基于EJB的一般Web应用结构,整合框架的Web应用架构中通过Spring提供的轻量级业务组件的管理和IOC容器,实现了对EJB技术的替代和更好的组件重用性,使业务组件间的协作更加松耦合。同时利用Spirng的开放性、模块化以及对Hibernate良好支持等特点,通过引入专门的O/R映射框架Hibernate实现了对关系数据库的对象化,隐藏了数据库的底层细节,便于开发者以统一的面向对象思想来开发应用。另外通过Sturts的MVC模式,开发清晰明确的业务流程和用户交互,实现表现逻辑和业务逻辑的解耦,摆脱了原有的开发模式带来的高耦合性。通过框架的整合不仅集成了各种框架的优势,同时也构造了层次清晰、结构合理的5层Web应用架构。

3 主要实现技术

本架构可采用Tomcat5.0作为Web服务器,Struts框架为1.2版本,Spring框架为1.4版,Hibernate框架为3.0版,根据上述整合框架的Web应用架构来实现平台的结构。

3.1 视图层页面设计

根据前端用户灵活的信息浏览需求,同时又要适应频道运作单位自己管理频道模块的需求,因此,页面设计改动不能影响到其它业务逻辑。在实现中通过Sturts的自定义标签,结合MVC模式,实现页面与业务逻辑分离,做到JSP页面不包含Java代码。

3.2 Web层请求响应控制

通过struts-conifg.xml配置文件把各个浏览页面都对应到每个Action,当页面发出请求后,根据struts-config.xml的配置文件中对应的Action部署,由Action对象调用框架内的业务层组件。

3.3 业务对象的IOC方式管理

Web层的Action只是决定“做什么”,并没有实现“怎么做”,具体的业务逻辑由业务层的业务组件来完成。在应用的实现中,把每一个业务组件包按接口类和实现类分开编码,当需要互相协作时,在代码层只要直接引用协作对象的接口类就可以了。协作对象的实现类统一由Spring容器根据配置文件的说明进行注入。可以分为3个服务组件:信息组件、信息审核组件、信息状态记录组件,在Spring的IOC机制下,利用配置文件和基于接口与实现分离的编码方式可以很好地实现这个组件之间的松耦合协作,减轻了应用对容器的依赖。

3.4 利用Spring框架实现事务管理及与持久层会话

通过Spring配置文件可以直接实现数据源、会话工厂、事务管理和数据访问对象的配置,数据访问对象根据上述Spring配置可以直接和持久层连接,这样在实现有中不用考虑这些功能的具体实现。Hibernate通过转换工具把各类信息保存表转换成相应的对象文件和.xml映射文件,Spring中的数据访问对象,直接对对象文件进行操作,由Hibernate完成数据的持久化。

4 结束语

在Web应用开发的实践中,如何根据项目建设需要,选择一个或多个框架来构建合适的Web应用体系结构是软件工程的首要任务。本文提出的整合框架的Web应用架构,独立了显示模块.轻量化了业务组件,对象化了数据库数据,使得显示模块、业务逻辑模块以及数据处理模块可以通过外部文件的简单配置,高效地重用到其他应用系统中去,大大提高了系统的开方性和开发效率,为开发电子政务、电子商务等类似应用提供了参考模式。

参考文献:

[1] (美)Stephanie Bodoff.J2EE 1.4标准教材[M].2版.北京:电子工业出版社,2000.

[2] 刘京华.Java Web整合开发王者归来[M].北京:清华大学出版社,2003.

[3] 田景熙,洪琢.电子政务信息系统规划与建设[M].北京:人民邮电出版社,2009.

上一篇:Tuxedo中间件在电信计费系统中的应用设计方案 下一篇:基于WEB的民航气象信息服务系统的改造