基于J2EE和Struts技术的电力营销管理信息系统设计与实现

来源:岁月联盟 作者:李跃军 刘毅 袁 时间:2010-08-30
  摘  要 本文设计并实现了一个基于J2EE、Struts三层体系架构的电力营销管理系统。在功能上,该系统不仅实现了一般的电力营销管理系统所需要完成的常用功能,还设计实现了营销业务所需要的相关配套模块,覆盖电力营销业务各个环节,同时还具有一定的综合分析和辅助决策功能。在技术上,B/S的访问存取模式以及基于J2EE、Struts的三层体系架构使得该系统具有很好的可重用性和实用性。    关键词 电力营销管理信息系统;Struts;J2EE;三层体系结构 

1 引言 

    电力营销管理系统负责省、市、县各级电力部门的营销自动化工作。从电力业务的受理、施工、竣工,到计量设备包括电能表、互感器等的管理维护,再到电费的抄表、核算、回收,无不需要电力营销系统的参与。电力营销管理系统使得电力营销业务的自动化程度得到进一步提高。但现有的营销系统存在着诸多问题,包括:系统采用的技术落后过时,不能满足现有需求;营销业务由多个小系统组成,并且各个子系统之间不能连接;由于系统多次维护造成的版本问题等等。设计开发新型的技术先进的、可整合多项营销业务的营销系统成为电力的必然选择。     现有的电力营销系统大部分采用客户机/服务器(C/S)的访问存取模式,而非浏览器/服务器模式。将C/S与B/S模式作一下比较发现:    (1) C/S模式客户连接多时导致性能迅速下降、占用资源多。而B/S模式下多采用分层结构,分布式处理任务,多客户时性能优越。    (2) 客户端与服务器直接相连,安全性差,对客户端性能要求较高[1]。而B/S模式只需要有浏览器即可访问。    (3) 对C/S程序作任何改动都需要重新安装客户端,而B/S程序只需要在服务器端重新部署即可实现所有客户程序的更新。    (4) C/S界面操作速度有一定优势,但存在界面死板、不够美观的弱点,而浏览器页面的元素的多样性使得系统界面更加美观。    总体上,基于B/S应用模式的营销系统更加符合现在的应用环境和技术趋势。同时,J2EE及Struts的发展和成熟,基于Struts和J2EE技术的应用B/S访问模式的营销系统成为普遍受电力营销企业欢迎的系统构建方案。本系统整体架构采用基于J2EE、Struts规范的多层体系结构。系统从整体逻辑上由客户端、应用服务器和数据库服务器组成,应用系统从传统结构向多层结构的迁移,最终结果是提高应用系统的可伸缩性、可重用性、安全性和可维护性。

2 设计思想

    按照J2EE规范,应用体系架构从逻辑部署上可以分成四个层次:客户层、运行在J2EE服务器上的Web层、业务逻辑层和数据持久化层。通过划分层次,使得应用系统结构清晰,每一层具备相对的独立性,提高了应用系统的可维护性和易集成性,也使系统具有了极强的可扩展性和可伸缩性。营销系统在J2EE体系结构的基础上,对处于系统核心的业务逻辑层又划分为营销业务层、支撑服务层、持久化对象服务层等,使系统整体结构进一步清晰化,极大地增强了系统的稳定性和可维护性,可以容易地适应不同供电企业对营销业务的各种需求以及业务变化所导致的需求变更。

3 Struts技术架构

    Struts是一种有效的模块化设计的MVC实现。它由一系列的类(组件)、Serlvet以及jsp tag lib组成[2]。Struts与其它技术一起形成了一个Web框架,共同完成模型、视图、控制器的工作。图1  Struts技术架构    在图1[4]清楚的描述了Struts所包含的对象和消息的传递。首先由客户端(浏览器)发出请求,控制器Servlet接收到请求后根据struts-config.xml等描述文件的配置情况,将请求数据分发给负责逻辑处理的Action,业务逻辑对请求进行后台处理后,形成的模型数据再传递给视图(JSP),客户的浏览器将JSP解析从而获得响应数据[5]    本系统中对Struts的taglib 进行了扩充和封装,形成了功能更强大的bean 标记,html标记,tree标记,dataobject标记等。本系统还对Action相关类进行了扩充和封装, 形成了满足实际需要的Action类。

4 系统技术架构

    电力营销管理信息系统逻辑上分为客户层、Web层、业务层和资源层4层。客户层主要负责人机交互;Web层封装了用来服务访问本系统的所有客户端的表示层逻辑;业务层提供业务服务,包括业务数据和业务逻辑,集中了系统大多数业务处理;资源层主要负责数据的存储和组织、数据库的分布式管理等。基于多层分布式组件模型,结合面向服务的设计思想,提出业务组件化、服务化的应用分层体系结构。    本系统的系统结构可以由图2来描述。其中Web服务器属于Web层,部署在resin服务器上,它负责管理JSP页面, Struts-config和Action。应用服务器位于业务层,在该服务器上部署着业务处理对象BPO(Business Process Object)。图2  系统体系结构图    用户通过浏览器点击菜单或者输入数据点击查询或提交按钮,向Web层的Web服务器resin提交数据。Struts-config文件负责解释JSP页面之间,JSP页面与Action之间的关系和数据在页面和Form之间的传递。Action由一个个的用户方法组成,接收到用户请求参数后,对参数进行处理封装后,通过调用统一的调用方法,将参数发送给业务层服务器jboss。业务层可以具体划分为三层:营销业务层负责数据预处理并形成具体的业务逻辑,支撑服务层为以EJB的方式访问远程服务提供支撑部件,持久化对象服务层为访问数据库提供支持。应用服务器接收到参数后,解析参数,调用相应的业务方法,并将参数赋值给相应的参数字段。在业务方法中,可以对参数执行再组装,再调用其它的业务方法。业务方法可以是简单的查询、更新、插入、删除语句,也可以是复杂的一系列业务处理,一系列SQL操作。组装后的SQL语句会被发送到Oracle数据库执行查询,更新等操作。业务方法执行完毕后通常会返回一个结果给Web服务器中的Action,Action可以据此将返回的结果传递给相应的页面进行显示。

5 系统构建

    该营销管理系统在以下环境下构建:    (1)数据库服务器端操作系统。    IBM AIX操作系统。    (2)应用服务器。    Windows 2003 server,Jboss4.03     (3)客户端操作系统:Windows系列。    (4)Web服务器 :wiondows2000+Resion 2.11。    (5)数据库:    开发数据库采用ORACLE公司的ORACLE 9。    接口文件格式:文本格式、XML格式。    (6)开发工具。    Eclipse 3.1,VSS6.0。    Action调用后台BPO示例:


图3  Action 示例
    其中paraIn为组装的参数对象。sysInfo和context为系统信息和上下文信息。通过Delegate对象来调用实际的业务操作对象。参数中的字符串用来指定实际要调用的BPO及其方法的位置。后台BPO示例:


图4  BPO示例
    paraIn为后台业务方法要接收的参数对象,DynamicSql对象自动将paraIn中的参数取出,赋值给sql中的变量。最后用return 语句返回给action,Action将返回结果传递给JSP页面在浏览器上显示。    图5为运行页面。


图5  系统运行界面

6 结语

     本系统采用业务组件化、服务化、应用分层的设计思想,基于Java EE规范的多层体系结构,采用面向服务的体系架构进行应用开发、系统集成,可摆脱面向技术的解决方案的束缚,集中精力于构建电力营销领域的业务模型,从而提高软件复用、加快应用软件的实施。本系统Web层采用基于J2EE、Struts的体系结构构建,在功能上满足和达到实际要求。在技术上除了应用了MVC的实现技术Struts外,还实现了对业务方法进行封装,形成了业务处理对象BPO,从而使得业务方法的编写更加方便,复用性更强,使项目的开发更加规范和迅速。

[1]裴辉东. 电力营销管理信息系统的应用框架设计和实现技术[J]. 电力系统自动化,2004,28(11):83-86[2]邱哲,王俊标,马斗. Struts Web 设计与开发大全[M ]北京:清华大学出版社, 2006.[3]Mark J. Christensen, Rachard H. Thayer著. 软件工程最佳实践:项目经理指南( The ProjectManager’s Guide to SoftwareEngineering’s Best Practices). 北京: 出版社(Beijing: Publishing House of Electronics Industry), 2003.[4]Apache Software Foundation. http://struts.apache.org/, 2007[5]孙卫琴.精通Struts 基于MVC 的Web 设计与开发[M].北京:电子工业出版社,2004.[6]伊静,智英杰,刘培玉等. 基于J2EE技术及Struts架构的电力营销系统的设计与实现[J]. 信息技术与信息化,2007,第4期.[7]刘杰. Struts——基于MVC的Web开发框架[J]. 电脑知识与技术. 2007,第18期. [8]Alur D, Crupi J, Malks D. J2EE核心设计模式[M].北京:机械工业出版社,2002.

图片内容