《电子技术应用》
您所在的位置:首页 > 其他 > 设计应用 > 基于Flex的电力营销系统的设计与实现
基于Flex的电力营销系统的设计与实现
来源:微型机与应用2013年第22期
张亚明, 李秦伟
(贵州大学 计算机科学与信息学院,贵州 贵阳550025)
摘要: 详细介绍了基于Flex的电力营销系统,重点论述了系统的设计原理和实现方法。基于Flex的企业应用具有逻辑清晰、代码简洁、扩展性强、安全性高等特点,极大地减轻了开发人员编写静态页面的压力。提出了业务组件化、服务化、应用分层的设计思想,为实现该领域内信息标准化奠定了基础,具有一定的科研和应用价值。
Abstract:
Key words :

摘  要: 详细介绍了基于Flex电力营销系统,重点论述了系统的设计原理和实现方法。基于Flex的企业应用具有逻辑清晰、代码简洁、扩展性强、安全性高等特点,极大地减轻了开发人员编写静态页面的压力。提出了业务组件化、服务化、应用分层的设计思想,为实现该领域内信息标准化奠定了基础,具有一定的科研和应用价值。
关键词: Flex; WebServiceFreeMarker富客户端;电力营销

    随着信息化的高速发展,新时期的电力系统面临着许多挑战,这就要求电力系统必须加快自身信息化的脚步。新时期信息化建设的重中之重是以客户为中心,提高用户的满意度;同时要对关键指标、工作质量、服务水平实施全过程管控,防范经营风险,完善内控机制,纠正工作偏差。
    本文通过借助Flex技术极大地提高了客户端体验, 实现了电力系统的信息共享, 提供了多方位的查询与统计功能, 很大程度上方便了数据的日常管理工作[1],提高了整个电力生产流程的规范化管理。
1 Flex技术简介
    Flex是一种支持RIA开发和部署的技术,主要面向企业级的应用。借助于Flex强大的功能,能够开发出更富有交互性和标签的用户界面。Flex框架的基本模型如图1所示。
 从图1中可以看出,Flex应用是由多层结构组成的。Flex编译器可以把MXML、ActionScript以及一些Flex类库编译成SWF文件,由FlashPlayer在客户端执行SWF文件,实现对应用的访问。在企业级应用中,Flex可以将表示逻辑从业务逻辑中分离出来,控制器负责处理用户交互逻辑, 服务器端业务逻辑控制器负责业务逻辑的处理[2]。

    RIA(Rich Internet Application)是丰富互联网应用程序。RIA的目标是将桌面程序的表现力与浏览器的程序方便、快捷地结合在一起。开发者可以在浏览器程序上部署C/S客户端的程序,得到比传统HTML更强大的表现力。
    RIA有多样的数据模型和丰富的界面元素两个主要特点。RIA将部分原本需要在后台程序处理的问题转移到客户端,同时提供了比HTML更丰富的界面表现元素,密集、响应速度快和图形丰富的页面元素与数据模型结合在一起,为用户提供更好的使用体验[3]。
2 系统设计
 系统设计主要分为数据库设计和系统功能设计两个部分。数据库设计的核心是做到海量空间数据与属性数据的无缝组织[4];功能模块设计的关键是建立科学、高效、开放的电力营销展示系统, 以满足电力部门日常管理的业务需求。
2.1 数据库设计
    本系统支持对用电历史信息的查询,支持对电量、电价、电费、线损等服务信息的查询以及编辑、添加和删除等操作。考虑到今后功能的扩充,建议采用 Oracle 10g作为系统的数据库,在物理部署上为独立的数据库[5]。
    系统数据部署如图2所示。

2.2 系统总体架构
    为了对现有营销等相关业务的监控,保证各单位按照相关要求提供满意的服务,系统利用Flex技术构建了基于Internet的业务数据展示系统。
    在整个系统中,表现层占据了至关重要的位置,因为它是直接面向最终用户的。本系统通过采用Flex富客户端的表现形式,致力于提升用户交互体验的感受。
    在中间层,Web服务器层通过调用WebService响应客户请求,实现用户登录与管理、数据统计与展示以及日志记录管理等功能。
    数据层是由Oracle数据库组织管理的数据。
    系统总体架构如图3所示。

2.3 功能模块设计
 根据系统功能架构,功能性需求主要分为关键指标展示、监控管理、工作质量评价、系统管理、数据集成及标准化五部分,如图4所示。

2.3.1关键指标展示功能
    关键指标展示包括电量指标展示、电价指标展示、电费指标展示、线损指标展示、服务指标展示五部分。在关键指标展示部分,主页展示全省供电人口、供电范围等基本信息以及相关主题关键的、汇总的指标,通过各维度的穿透钻取功能向下钻取得到次要的、细节的指标,系统主次分明,层次逐级展开。
2.3.2监控管理功能
 监控管理包括主题监控、综合管理两部分。主题监控包括负荷电量监控、线损管理监控、抄核收监控、客户服务监控、业扩报装监控、用电检查监控、客户停电监控、计量管理监控、信息数据监控、营销稽查监控10个主题;综合管理是对营销监控工作本身的管理,包括监控人员在线情况、整改情况及信息发布等功能。
2.3.3 工作质量评价功能
    工作质量评价是根据监控结果对营销与服务工作质量进行评价并生成评价报告。
2.3.4系统管理功能
   系统管理主要是针对功能节点资源、用户和权限进行设计。主要内容包括功能节点管理、用户管理和权限管理三部分内容[6],由于使用本系统的用户不多,故而弱化角色管理模块。
2.3.5 数据集成及标准化
    数据集成及标准化是将数据从业务应用数据库中提取、转换并加载到营销数据中心,是实现数据中心的重要步骤。同时它还是实现将数据中心中的数据向数据仓库、数据集市迁移的主要方式。
3 系统实现
3.1 系统关键技术
3.1.1 WebService的创建与调用

 WebService是支持使用基于XML的标准(如SOAP、WSDL、UDDI和其他标准)进行B2B集成的一种全新范式。
 WebService作为一种基本的数据通信方式,其最大优点就是可以消除不同组件模型之间存在的差异,协同异构系统为单个计算机网络服务。
 可以先在eclipse中创建并发布服务,然后在Flex的应用工程中调用此Web服务。通过Flex builder中自带的WebService工具即可解析wsdl文档,从而生成本地调用类,或者ActionScript中WebService类和<WebService>组件3种方法来实现服务的调用[7]。
    此系统采用WebService类的方式,下面为首页关键指标展示功能中的一段调用WebService的代码:
    Protected  function
    application1_creationCompleteHandler(event:FlexEvent):void
  {
       ws=new WebService();  
        ws.wsdl=config.ws;  
        ws.loadWSDL();
        ws.getMainPage.addEventListener(ResultEvent.
        RESULT,data_resultHandler);  
        ws.getMainPage("mainPage");    
        private function
     OnGetCity(event:ResultEvent ):void{
       var xml:XML=new XML(event.result);
     }
    上面代码中,首先使用语句:ws=new WebService();创建了一个WebService对象ws。然后通过语句:ws.wsdl=config.ws;/ws.loadWSDL();将配置文件config中的ws属性值赋予ws对象,这是一个WebService的地址。这样前台Flex就已经通过WebService连接上了后台的服务方法。接下来使用语句:ws.getMainPage.addEventListener(ResultEvent.RESULT,data_resultHandler);/ws.getMainPage("mainPage");调用WebService的接口, 如果接口有返回值则监听结果。
3.1.2  FreeMarker模板引擎的使用
    FreeMarker是一个模板引擎。它使用纯 Java 编写,是一个可用来生成基于模板的文本的工具。FreeMarker在生成页面上面更有实效,尤其是那些遵从MVC模式的应用程序[8]。
    FreeMarker通过在模板中密封HTML,允许应用程序的逻辑与图形设计分离。模板用servlet提供的数据动态地生成 HTML,通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据。
    下面为首页模板的规则,模板是xml文件:
  <?xml version="1.0" encoding="UTF-8"?>
  <page>
    <area>
      <item>
        <content>
        </content>
      </item>
    </area>
  </page>
  简要解释一下规则:<page>是最高级,区分系统的不同页面;<area>区分不同的地区局页面;<item>区分不同的系统服务内容;<content>区分每种服务内容里不同的项目。
     下面为freemarker利用模板生成首页页面的代码:
     public String getMainPage(String params) {
      try {    freeMarkerConfigurer.getConfiguration().setObject
     Wrapper(ObjectWrapper.BEANS_WRAPPER);
     Template t =
     freeMarkerConfigurer.getConfiguration().
     getTemplate("temp-mainpage.xml");
  Map<String, Object> root = new HashMap<String,
  Object>();
  }catch (Exception e) {
  e.printStackTrace();
     }
     }
    上面代码中,temp-mainpage.xml即为首页页面的模板文件。通过使用代码:Template t = freeMarkerConfigurer.getConfiguration().getTemplate("temp-mainpage.xml");    加载模板文件。最后通过代码:Map<String, Object> root = new HashMap<String, Object>();定义数据。
3.2 系统运行效果
    通过采用Flex以及RIA富客户端的技术,本系统可以在浏览器端快速地输出高质量的电力信息展示画面,用户可以灵活、高效地查询电力部门的数据信息,从而感受到丰富的交互体验。
    系统首页的运行效果如图5所示。

 

 

    在数字信息化快速发展的今天,电力信息能否高效管理和利用极大地关系到电力行业的发展。基于Flex的电力营销系统属于先进的电力行业管理系统的范畴, 它对电力部门日常工作有着实际意义。
参考文献
[1] 周曦,武小军.基于Flex的数字测绘档案业务管理系统的设计与实现[J].城市勘测,2010(z1):28-30.
[2] 胡丹瑞.基于Flex的Web应用系统开发探索[J].电信交换,2009(3):34-41.
[3] 王啸.基于J2EE的财务核算系统的设计与实现[D].天津:南开大学,2011.
[4] 柴敏, 范况生,张超,等. 基于GIS的数字农业空间信息管理平台设计与实现[J].农业网络信息, 2006(2):45-47.
[5] 曾皓.多语种软件构件库的分类与检索[D].北京:中国科学院研究生院,2008.
[6] 管仁煌.基于Web Services的电力计算信息平台构建方法的研究[D].北京:北方工业大学,2008.
[7] 毛震.基于SOA和WebService的数字图书馆系统研究与应用[D].沈阳:东北大学,2009.
[8] 姜英,王嘉.基于Struts2+Spring+Freemarker的自定义框架研究[J].电脑编程技巧与维护,2013(12):4-5,12.

此内容为AET网站原创,未经授权禁止转载。