《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 設(shè)計(jì)應(yīng)用 > 基于Flex的電力營銷系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于Flex的電力營銷系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
來源:微型機(jī)與應(yīng)用2013年第22期
張亞明, 李秦偉
(貴州大學(xué) 計(jì)算機(jī)科學(xué)與信息學(xué)院,,貴州 貴陽550025)
摘要: 詳細(xì)介紹了基于Flex的電力營銷系統(tǒng),重點(diǎn)論述了系統(tǒng)的設(shè)計(jì)原理和實(shí)現(xiàn)方法,。基于Flex的企業(yè)應(yīng)用具有邏輯清晰、代碼簡潔、擴(kuò)展性強(qiáng),、安全性高等特點(diǎn),極大地減輕了開發(fā)人員編寫靜態(tài)頁面的壓力,。提出了業(yè)務(wù)組件化,、服務(wù)化、應(yīng)用分層的設(shè)計(jì)思想,,為實(shí)現(xiàn)該領(lǐng)域內(nèi)信息標(biāo)準(zhǔn)化奠定了基礎(chǔ),具有一定的科研和應(yīng)用價(jià)值,。
Abstract:
Key words :

摘  要: 詳細(xì)介紹了基于Flex電力營銷系統(tǒng),,重點(diǎn)論述了系統(tǒng)的設(shè)計(jì)原理和實(shí)現(xiàn)方法?;贔lex的企業(yè)應(yīng)用具有邏輯清晰,、代碼簡潔、擴(kuò)展性強(qiáng),、安全性高等特點(diǎn),,極大地減輕了開發(fā)人員編寫靜態(tài)頁面的壓力,。提出了業(yè)務(wù)組件化、服務(wù)化,、應(yīng)用分層的設(shè)計(jì)思想,,為實(shí)現(xiàn)該領(lǐng)域內(nèi)信息標(biāo)準(zhǔn)化奠定了基礎(chǔ),具有一定的科研和應(yīng)用價(jià)值,。
關(guān)鍵詞: Flex,; WebServiceFreeMarker,;富客戶端,;電力營銷

    隨著信息化的高速發(fā)展,新時(shí)期的電力系統(tǒng)面臨著許多挑戰(zhàn),,這就要求電力系統(tǒng)必須加快自身信息化的腳步,。新時(shí)期信息化建設(shè)的重中之重是以客戶為中心,提高用戶的滿意度,;同時(shí)要對關(guān)鍵指標(biāo),、工作質(zhì)量、服務(wù)水平實(shí)施全過程管控,,防范經(jīng)營風(fēng)險(xiǎn),,完善內(nèi)控機(jī)制,糾正工作偏差,。
    本文通過借助Flex技術(shù)極大地提高了客戶端體驗(yàn), 實(shí)現(xiàn)了電力系統(tǒng)的信息共享, 提供了多方位的查詢與統(tǒng)計(jì)功能, 很大程度上方便了數(shù)據(jù)的日常管理工作[1],,提高了整個(gè)電力生產(chǎn)流程的規(guī)范化管理。
1 Flex技術(shù)簡介
    Flex是一種支持RIA開發(fā)和部署的技術(shù),,主要面向企業(yè)級的應(yīng)用,。借助于Flex強(qiáng)大的功能,能夠開發(fā)出更富有交互性和標(biāo)簽的用戶界面,。Flex框架的基本模型如圖1所示,。
 從圖1中可以看出,F(xiàn)lex應(yīng)用是由多層結(jié)構(gòu)組成的,。Flex編譯器可以把MXML,、ActionScript以及一些Flex類庫編譯成SWF文件,由FlashPlayer在客戶端執(zhí)行SWF文件,,實(shí)現(xiàn)對應(yīng)用的訪問,。在企業(yè)級應(yīng)用中,F(xiàn)lex可以將表示邏輯從業(yè)務(wù)邏輯中分離出來,,控制器負(fù)責(zé)處理用戶交互邏輯,, 服務(wù)器端業(yè)務(wù)邏輯控制器負(fù)責(zé)業(yè)務(wù)邏輯的處理[2]。

    RIA(Rich Internet Application)是豐富互聯(lián)網(wǎng)應(yīng)用程序。RIA的目標(biāo)是將桌面程序的表現(xiàn)力與瀏覽器的程序方便,、快捷地結(jié)合在一起,。開發(fā)者可以在瀏覽器程序上部署C/S客戶端的程序,得到比傳統(tǒng)HTML更強(qiáng)大的表現(xiàn)力,。
    RIA有多樣的數(shù)據(jù)模型和豐富的界面元素兩個(gè)主要特點(diǎn),。RIA將部分原本需要在后臺程序處理的問題轉(zhuǎn)移到客戶端,同時(shí)提供了比HTML更豐富的界面表現(xiàn)元素,,密集,、響應(yīng)速度快和圖形豐富的頁面元素與數(shù)據(jù)模型結(jié)合在一起,為用戶提供更好的使用體驗(yàn)[3],。
2 系統(tǒng)設(shè)計(jì)
 系統(tǒng)設(shè)計(jì)主要分為數(shù)據(jù)庫設(shè)計(jì)和系統(tǒng)功能設(shè)計(jì)兩個(gè)部分,。數(shù)據(jù)庫設(shè)計(jì)的核心是做到海量空間數(shù)據(jù)與屬性數(shù)據(jù)的無縫組織[4];功能模塊設(shè)計(jì)的關(guān)鍵是建立科學(xué)、高效,、開放的電力營銷展示系統(tǒng), 以滿足電力部門日常管理的業(yè)務(wù)需求,。
2.1 數(shù)據(jù)庫設(shè)計(jì)
    本系統(tǒng)支持對用電歷史信息的查詢,支持對電量,、電價(jià),、電費(fèi)、線損等服務(wù)信息的查詢以及編輯,、添加和刪除等操作,。考慮到今后功能的擴(kuò)充,,建議采用 Oracle 10g作為系統(tǒng)的數(shù)據(jù)庫,在物理部署上為獨(dú)立的數(shù)據(jù)庫[5],。
    系統(tǒng)數(shù)據(jù)部署如圖2所示。

2.2 系統(tǒng)總體架構(gòu)
    為了對現(xiàn)有營銷等相關(guān)業(yè)務(wù)的監(jiān)控,,保證各單位按照相關(guān)要求提供滿意的服務(wù),,系統(tǒng)利用Flex技術(shù)構(gòu)建了基于Internet的業(yè)務(wù)數(shù)據(jù)展示系統(tǒng)。
    在整個(gè)系統(tǒng)中,,表現(xiàn)層占據(jù)了至關(guān)重要的位置,,因?yàn)樗侵苯用嫦蜃罱K用戶的。本系統(tǒng)通過采用Flex富客戶端的表現(xiàn)形式,,致力于提升用戶交互體驗(yàn)的感受,。
    在中間層,Web服務(wù)器層通過調(diào)用WebService響應(yīng)客戶請求,實(shí)現(xiàn)用戶登錄與管理,、數(shù)據(jù)統(tǒng)計(jì)與展示以及日志記錄管理等功能,。
    數(shù)據(jù)層是由Oracle數(shù)據(jù)庫組織管理的數(shù)據(jù)。
    系統(tǒng)總體架構(gòu)如圖3所示,。

2.3 功能模塊設(shè)計(jì)
 根據(jù)系統(tǒng)功能架構(gòu),功能性需求主要分為關(guān)鍵指標(biāo)展示、監(jiān)控管理,、工作質(zhì)量評價(jià),、系統(tǒng)管理、數(shù)據(jù)集成及標(biāo)準(zhǔn)化五部分,如圖4所示,。

2.3.1關(guān)鍵指標(biāo)展示功能
    關(guān)鍵指標(biāo)展示包括電量指標(biāo)展示,、電價(jià)指標(biāo)展示、電費(fèi)指標(biāo)展示,、線損指標(biāo)展示,、服務(wù)指標(biāo)展示五部分。在關(guān)鍵指標(biāo)展示部分,,主頁展示全省供電人口,、供電范圍等基本信息以及相關(guān)主題關(guān)鍵的、匯總的指標(biāo),,通過各維度的穿透鉆取功能向下鉆取得到次要的,、細(xì)節(jié)的指標(biāo),系統(tǒng)主次分明,層次逐級展開,。
2.3.2監(jiān)控管理功能
 監(jiān)控管理包括主題監(jiān)控,、綜合管理兩部分。主題監(jiān)控包括負(fù)荷電量監(jiān)控,、線損管理監(jiān)控,、抄核收監(jiān)控、客戶服務(wù)監(jiān)控,、業(yè)擴(kuò)報(bào)裝監(jiān)控,、用電檢查監(jiān)控、客戶停電監(jiān)控,、計(jì)量管理監(jiān)控,、信息數(shù)據(jù)監(jiān)控、營銷稽查監(jiān)控10個(gè)主題;綜合管理是對營銷監(jiān)控工作本身的管理,,包括監(jiān)控人員在線情況,、整改情況及信息發(fā)布等功能。
2.3.3 工作質(zhì)量評價(jià)功能
    工作質(zhì)量評價(jià)是根據(jù)監(jiān)控結(jié)果對營銷與服務(wù)工作質(zhì)量進(jìn)行評價(jià)并生成評價(jià)報(bào)告,。
2.3.4系統(tǒng)管理功能
   系統(tǒng)管理主要是針對功能節(jié)點(diǎn)資源,、用戶和權(quán)限進(jìn)行設(shè)計(jì)。主要內(nèi)容包括功能節(jié)點(diǎn)管理,、用戶管理和權(quán)限管理三部分內(nèi)容[6],,由于使用本系統(tǒng)的用戶不多,故而弱化角色管理模塊,。
2.3.5 數(shù)據(jù)集成及標(biāo)準(zhǔn)化
    數(shù)據(jù)集成及標(biāo)準(zhǔn)化是將數(shù)據(jù)從業(yè)務(wù)應(yīng)用數(shù)據(jù)庫中提取,、轉(zhuǎn)換并加載到營銷數(shù)據(jù)中心,,是實(shí)現(xiàn)數(shù)據(jù)中心的重要步驟。同時(shí)它還是實(shí)現(xiàn)將數(shù)據(jù)中心中的數(shù)據(jù)向數(shù)據(jù)倉庫,、數(shù)據(jù)集市遷移的主要方式,。
3 系統(tǒng)實(shí)現(xiàn)
3.1 系統(tǒng)關(guān)鍵技術(shù)
3.1.1 WebService的創(chuàng)建與調(diào)用

 WebService是支持使用基于XML的標(biāo)準(zhǔn)(如SOAP、WSDL,、UDDI和其他標(biāo)準(zhǔn))進(jìn)行B2B集成的一種全新范式,。
 WebService作為一種基本的數(shù)據(jù)通信方式,其最大優(yōu)點(diǎn)就是可以消除不同組件模型之間存在的差異,協(xié)同異構(gòu)系統(tǒng)為單個(gè)計(jì)算機(jī)網(wǎng)絡(luò)服務(wù),。
 可以先在eclipse中創(chuàng)建并發(fā)布服務(wù),,然后在Flex的應(yīng)用工程中調(diào)用此Web服務(wù)。通過Flex builder中自帶的WebService工具即可解析wsdl文檔,,從而生成本地調(diào)用類,,或者ActionScript中WebService類和<WebService>組件3種方法來實(shí)現(xiàn)服務(wù)的調(diào)用[7]。
    此系統(tǒng)采用WebService類的方式,下面為首頁關(guān)鍵指標(biāo)展示功能中的一段調(diào)用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();創(chuàng)建了一個(gè)WebService對象ws,。然后通過語句:ws.wsdl=config.ws;/ws.loadWSDL();將配置文件config中的ws屬性值賦予ws對象,這是一個(gè)WebService的地址,。這樣前臺Flex就已經(jīng)通過WebService連接上了后臺的服務(wù)方法,。接下來使用語句:ws.getMainPage.addEventListener(ResultEvent.RESULT,data_resultHandler);/ws.getMainPage("mainPage");調(diào)用WebService的接口, 如果接口有返回值則監(jiān)聽結(jié)果。
3.1.2  FreeMarker模板引擎的使用
    FreeMarker是一個(gè)模板引擎,。它使用純 Java 編寫,是一個(gè)可用來生成基于模板的文本的工具,。FreeMarker在生成頁面上面更有實(shí)效,尤其是那些遵從MVC模式的應(yīng)用程序[8],。
    FreeMarker通過在模板中密封HTML,,允許應(yīng)用程序的邏輯與圖形設(shè)計(jì)分離。模板用servlet提供的數(shù)據(jù)動態(tài)地生成 HTML,,通常由Java程序準(zhǔn)備要顯示的數(shù)據(jù),,由FreeMarker生成頁面,通過模板顯示準(zhǔn)備的數(shù)據(jù),。
    下面為首頁模板的規(guī)則,,模板是xml文件:
  <?xml version="1.0" encoding="UTF-8"?>
  <page>
    <area>
      <item>
        <content>
        </content>
      </item>
    </area>
  </page>
  簡要解釋一下規(guī)則:<page>是最高級,區(qū)分系統(tǒng)的不同頁面;<area>區(qū)分不同的地區(qū)局頁面;<item>區(qū)分不同的系統(tǒng)服務(wù)內(nèi)容;<content>區(qū)分每種服務(wù)內(nèi)容里不同的項(xiàng)目,。
     下面為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>();定義數(shù)據(jù),。
3.2 系統(tǒng)運(yùn)行效果
    通過采用Flex以及RIA富客戶端的技術(shù),本系統(tǒng)可以在瀏覽器端快速地輸出高質(zhì)量的電力信息展示畫面,,用戶可以靈活,、高效地查詢電力部門的數(shù)據(jù)信息,,從而感受到豐富的交互體驗(yàn)。
    系統(tǒng)首頁的運(yùn)行效果如圖5所示,。

 

 

    在數(shù)字信息化快速發(fā)展的今天,,電力信息能否高效管理和利用極大地關(guān)系到電力行業(yè)的發(fā)展?;贔lex的電力營銷系統(tǒng)屬于先進(jìn)的電力行業(yè)管理系統(tǒng)的范疇, 它對電力部門日常工作有著實(shí)際意義。
參考文獻(xiàn)
[1] 周曦,武小軍.基于Flex的數(shù)字測繪檔案業(yè)務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].城市勘測,2010(z1):28-30.
[2] 胡丹瑞.基于Flex的Web應(yīng)用系統(tǒng)開發(fā)探索[J].電信交換,2009(3):34-41.
[3] 王嘯.基于J2EE的財(cái)務(wù)核算系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].天津:南開大學(xué),,2011.
[4] 柴敏, 范況生,張超,等. 基于GIS的數(shù)字農(nóng)業(yè)空間信息管理平臺設(shè)計(jì)與實(shí)現(xiàn)[J].農(nóng)業(yè)網(wǎng)絡(luò)信息, 2006(2):45-47.
[5] 曾皓.多語種軟件構(gòu)件庫的分類與檢索[D].北京:中國科學(xué)院研究生院,2008.
[6] 管仁煌.基于Web Services的電力計(jì)算信息平臺構(gòu)建方法的研究[D].北京:北方工業(yè)大學(xué),,2008.
[7] 毛震.基于SOA和WebService的數(shù)字圖書館系統(tǒng)研究與應(yīng)用[D].沈陽:東北大學(xué),2009.
[8] 姜英,王嘉.基于Struts2+Spring+Freemarker的自定義框架研究[J].電腦編程技巧與維護(hù),,2013(12):4-5,12.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。