UML软件工程组织

基于Java EE技术和SOA架构的电力营销系统的设计与实现
作者:郇长武/李锐/王建林   出处:计算机与信息技术

0 引言

经过多年的电力信息化建设,电力企业已经建成了一系列服务于生产、营销、客户服务、企业管理、财务管理等各个领域的计算机信息系统。这些系统各自实现了相关领域的初步信息化,但也为企业信息化造成了“信息孤岛”的局面,系统之间缺乏联系,信息无法共享,成为了电力企业信息化进一步发展的显著瓶颈。基于这样的考虑,企业对电力营销管理信息系统的需求重点已经逐渐转向“开放、标准、集成”,对应用集成、跨平台、WEB技术等投入了更大的关注。而Java EE技术的成熟和SOA架构的出现,正迎合了这些特点,成为目前构建企业级应用的主流方案。

作为电力企业主要的对外业务系统,电力营销管理信息系统在企业信息化建设中的重要地位自不待言。本文从信息系统战略计划[1]、软件系统工程[2]的角度,阐述了Java EE体系结构和面向服务架构(SOA),提出了业务组件化、服务化、应用分层的设计思想,对电力营销系统涉及的关键技术、系统功能模块和特点进行了介绍。

1 系统总体架构设计

1.1 Java EE体系架构

Java EE(Java 2 Platform, Enterprise Edition)是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构,是一个基于组件的体系结构,定义了一套标准来简化多层分布式企业应用程序的开发,它定义了一套标准化的组件,并为这些组件提供了完整的服务。

Java EE体系架构将表示逻辑、业务逻辑与数据逻辑相分离,使系统的并行操作、网络计算能力大为提高,系统的整体性能得以优化,并采用先进的软件分层设计思想,支持基于框架的开发,降低开发难度和成本,同时降低组件的耦合度,极大地增强软件的可维护性、可扩展性,满足大型管理信息系统的要求。

1.2 面向服务架构

面向服务的体系结构(SOA)是互相通信(例如从一个服务向另一个服务传递数据或协调一个或多个服务之间的活动)的服务的集合,是一个灵活的体系结构,是在计算环境下设计、开发、应用、管理分散的逻辑(服务)单元的一种规范。

将分布在网络中的软件资源看作是各种服务,旨在提供摆脱了面向技术的解决方案,而不必考虑其后台实现的具体技术、具体运行平台、具体物理位置甚至其内部的通讯协议,从而实现更好的业务灵活性,使得企业能够对变化快速和有效地做出响应。

1.3 业务组件化、服务化、应用分层的设计思想

基于Java EE规范的多层体系结构,采用面向服务的体系架构进行应用开发、系统集成,可摆脱面向技术的解决方案的束缚,集中精力于构建电力营销领域的业务模型,从而提高软件复用、加快应用软件的实施。

电力营销管理信息系统逻辑上分为客户层、Web层、业务层和资源层4层[3]。客户层主要负责人机交互; Web层封装了用来服务访问本系统的所有客户端的表示层逻辑;业务层提供业务服务,包括业务数据和业务逻辑,集中了系统大多数业务处理;资源层主要负责数据的存储和组织、数据库的分布式管理等。基于多层分布式组件模型[4],结合面向服务的设计思想,提出如图1所示的业务组件化、服务化的应用分层体系结构。


 图1:应用分层体系结构

应用分层的体系结构,将应用系统中一组类似问题的公共设计和部分实现抽象出来,以业务组件、SOA服务的形式部署运行于J2EE应用服务器上,提供的服务完全抽象了访问的细节[5],大大提高了软件复用性和软件开发的效率,它强调的是软件设计的复用性和系统的可扩展性。因此,业务组件化、服务化的应用分层体系结构是新一代电力营销管理信息系统设计和实现的关键。

新一代电力营销管理信息系统在应用整合方面具有显著的SOA特性,在与企业内外部的应用系统的集成方面优先采用Web服务的方式。业务组件化设计在最大程度上减少了业务模块之间的耦合程度,促进了软件的重用,使得业务系统能够敏捷地适应业务规则的变化。采用Web服务进行应用系统集成则在于保证了松散耦合与跨平台的突出优势,这两个特性克服了企业应用在异构平台集成及集成安全性、灵活性方面的突出要求。

2 系统实现关键技术

2.1 Java EE技术

Java EE是开发可伸缩的、具有负载平衡能力的多层分布式跨平台企业应用的理想平台。Java EE的核心是一组规范和指南,定义了一个使用Java语言开发多层分布式企业应用系统的标准平台。Java EE体系内的EJB、Java Servlet、JSP、JDBC、JNDI、JTS/JTA、JMS等技术,为构建基于B/A/S(浏览器/应用服务器/数据库服务器)纯三层架构的电力营销系统提供了成熟的企业级平台。Java EE有效地满足了电力行业信息化深化的需求。

2.2 XML技术

XML 是一种元标记语言。采用 XML 技术,可以自定义描述一个电力营销管理信息系统需要的标记。XML 的扩展性和灵活性允许它描述不同种类应用软件中的数据,在电力营销系统建设的应用设计开发中采用XML作为描述数据的通用标准,作为应用的数据载体和数据交换媒介,集成已有信息系统的不同来源数据,新设计开发的应用系统也采用XML,保持系统数据的开发性和易集成性。

2.3 Web应用框架

采用开放源码的应用框架(如Struts)作为电力营销系统的Web基础框架,该框架是符合模型-视图-控制(MVC)模型2及基于Java EE和XML技术的企业级Web应用框架。MVC结构是交互式应用程序广泛使用的一种体系结构,其核心就是做到多层应用的松散耦合,为基于组件驱动的Web编程提供极好的支持,为业务组件化奠定了良好的基础。

2.4 工作流服务

基于工作流联盟(WFMC)的工作流系统参考模型实现工作流平台,由过程建模工具、组织建模工具、系统监控工具、消息服务、系统接口、工作流调度引擎组成,为电力营销管理信息系统提供流程服务。通过抽象流程管理,使得业务过程各个步骤中的资源得到更合理的分配和利用,更好地监督、控制业务的流转情况。

2.5 权限管理服务

采用通用的权限管理平台为电力营销管理信息系统提供基于角色和策略的安全访问控制。通过权限管理服务设置权限项目、角色、用户、部门及相互间关联等,以完成授权。为业务系统提供组件接口,以实现验证用户身份、查询用户权限等功能。

2.6 图库一体化服务

基于Java开发,遵循MVC模式实现的图库一体化服务,实现了图形显示与业务逻辑的分层,为电力营销管理信息系统提供图形管理服务,为用电客户建立包括电源、变压器、电表、互感器等计量装置的拓扑图,反映其直观的拓扑接线方式。

2.7 电费计算服务

通过对业务和技术的总结提升,系统在一套稳健的数据模型——电费电价模型(电价模型、电量电费模型、电费计算模型)的基础上,采用基于交易中间件的三层体系结构,为电力营销管理信息系统提供电量、电费计算服务,保证计费处理的稳定、高效。

2.8 收费管理服务

通过总结实际工程项目的多种收费方式(坐收、走收、银电联网等),统一了大厅收费、与各家银行的接口协议,基于交易中间件实现统一的收费管理服务,为电力营销管理信息系统提供收费服务,保证收费处理的稳定、高效。

2.9 报表管理服务

采用通用的智能报表平台为电力营销管理信息系统提供报表管理服务,通过报表的模版定义,采用数据仓库的思想和模型,形成报表基础事实库,引入了维度、事实表、数据集的概念和通用化设置,实现了营销报表制作的实用化。

3 系统功能模块和特点

3.1 业扩管理

以工作流平台为支撑,覆盖了关口、趸售表计、高低压用户业扩业务的办理流程,实现了业扩业务的信息化流转,满足了业扩新增、日常变更等业务的要求。主要实现工作单管理、客户档案信息管理、供用电合同管理、业扩费用管理、综合查询、统计报表等功能。

3.2 计量管理

以计量资产生命周期管理为核心,实现日常计量器具由购置计划、资产进仓、校验到待装配、运行、报废等不同运行状态的全过程流程化管理,并与各种器具校验设备建立了数据接口。主要实现资产管理、内勤修校、运行管理、计划管理、标准装置和人员管理、统计报表、综合查询等功能。

3.3 电量电费管理

围绕电费档案展开电费的抄、核管理,根据业扩子系统和计量子系统提供的基础数据建立一套客户档案,准确、及时地计算出电量电费并生成应收记录,以月为单位生成每月的电费档案和应收档案,为电力企业的售电、电费回收、工作考核提供基础数据。主要实现日常业务管理、抄表管理、电费计算与核查、统计报表和综合查询等功能。

3.4 收费管理

将营销系统收费数据(应收、实收、抹帐、违约金减免等)进行帐务化处理,应收与实收对应关系明确,规范了电力营销系统的电费收缴管理。主要实现客户缴费管理、预收管理、帐务管理、票据管理和统计查询等功能。

3.5 需求侧管理

主要实现用电分析、业务分析、负荷分析、节电分析、综合分析以及市场分析等功能。将营销系统内与营销系统外的相关数据,经过数据清洗、过滤、聚集和抽取,形成需求侧数据分析的数据集市,形成面向分析主题的分析数据。

3.6 用电检查管理

主要实现用户主要电气设备管理、电工档案管理以及用户的预防性试验管理,用电安全检查管理、营业普查管理、用户违章用电及窃电处理、用户用电事故管理等功能,并实现查处违章窃电用户、电量电费退补业务的流程化管理。

3.7 线损和购电管理

主要实现线损考核指标维护、线损统计关系维护、线损统计、报表打印等功能,实现了线损指标考核管理和线损“四分”管理的报表统计要求。同时,以趸售、购电等特殊计费户的电量电费计算、统计管理为核心,量身定制了各类用户各个不同的“个性化”的电费计算、电费收费、报表统计功能,实现了趸售、购电的全过程管理及特定的统计报表要求。

3.8 工作质量管理

主要实现业扩专业考核、计量专业考核、电费专业考核、用电检查考核、线损考核、统计报表考核、营销专业考核、工作标准考核等功能。利用多种分析手段和评价体系、考核措施,形成考核结果,并以表格、图形、报表展示,对考核结果异常的通过颜色等方式进行提醒,从而实现对各级单位监督和考核。

3.9 辅助决策管理

以前面若干业务子系统的业务数据为基础,提供了电量、电费、线损、业扩、计量等方面的分析、预测功能。针对不同的主题,可分成多种度量和维度对各类数据切片和钻取,以灵活、多变的形式展现分析和统计结果。并提供多种预测模型,对电量、均价进行预测。

4 结语

本文论述了基于Java EE技术和面向服务架构(SOA)的电力营销管理信息系统的设计和实现技术方案。该技术方案已成功地应用于系统的设计和开发,并应用于工程项目实践。该方案目前已在天津市电力公司、山东青岛供电公司、广东汕头供电局、广东佛山供电局等10多个电力企业成功实施,并准备在广东电网公司本部和试点单位东莞供电局项目进一步扩展,构建“一体化大营销系统”,实现全省横向统一、纵向集中、应用集成的目标。

参考文献

1 John W. Satzinger,Robert B.Jackson,Stephen D.Burd著.系统分析与设计(Systems Analysis and Design in a Changing World),北京:机械工业出版社(Beijing:China Machine Press),2003

2 Mark J. Christensen,Rachard H. Thayer 著。软件工程最佳实践:项目经理指南(The Project Manager’s Guide to Software Engineering’s Best Practices).北京:电子工业出版社(Beijing:Publishing House of Electronics Industry),2004

3 裴辉东,梁云风.电力营销管理信息系统的应用框架设计和实现技术.电力系统自动化,2004,28(11):83~86

4 Ricbard Monson-Haefel 著.Enterprise JavaBeans第四版(Enterprise JavaBeans).北京:中国电力出版社(Beijing:China Electric Power Press),2005

5 Craig A. Berry,John Carnell,Matjaz B.Juric等著.实用J2EE设计模式编程指南(J2EE Design Patterns Applied).北京:电子工业出版社(Beijing:Publishing House of Electronics Industry),2003

作者介绍

郇长武(1974—),男,天津大学工程硕士,国家系统分析师,长期从事电力行业信息化、电力企业管理信息系统、计算机技术应用和企业信息管理方面的研究。

李锐(1975—),男,硕士,国家系统分析师,长期从事电力行业信息化、电力企业管理信息系统、计算机技术应用和企业信息管理方面的研究。

王建林(1973-),男,天津大学工程硕士,工程师,长期从事电力系统自动化、电力信息一体化方面的研究。


版权所有:UML软件工程组织