基于Flex和Java技术的工业能效监测管理系统设计与实现

2017-12-06 05:30刘晓琳郑成贺章晶晶黄盛亮
电子测试 2017年21期
关键词:能效浏览器架构

刘晓琳,郑成贺,章晶晶,黄盛亮,张 薇,褚 渊

(1.国网(北京)节能设计研究院有限公司,北京,100032;2.国网信通亿力科技有限责任公司,福建福州,350003)

基于Flex和Java技术的工业能效监测管理系统设计与实现

刘晓琳1,郑成贺2,章晶晶1,黄盛亮2,张 薇1,褚 渊1

(1.国网(北京)节能设计研究院有限公司,北京,100032;2.国网信通亿力科技有限责任公司,福建福州,350003)

本文主要对基于Flex和Java的RIA技术进行探讨,针对当前工业能耗的建设和发展趋势,构建工业能效监测管理系统,阐述了本系统的设计过程和如何运用Blazeds集成Flex和Java技术开发RIA的企业级应用系统。

Flex;Java;工业能耗

0 引言

本文论述的基于Flex和Java框架技术的工业能效监测管理系统,主要实现对各种能源介质进行集中监控、统一调度;通过监控台对各类供能用能环节进行监控管理;提供能源调度高级决策支持信息等。集动力能源监控、调度和信息管理于一体,保证能源可以科学合理地调度,从而达到提高利用率的效果。对系统的开发设计过程做了全面的介绍,比如如何使用Blazeds集成Flex和Java技术开发一个基于RIA的企业级应用,达到节约能源、提高利用率、实现信息共享的效果。

1 基于Flex和Java的RIA技术探索

1.1 RIA技术分析

所谓RIA,又叫作富网络应用,是一种网络应用,可以像桌面程序一样操作。而在RIA问世前,许多网络应用的构建,都使用了静态页面。

RIA通过网络发布,对于用户来说,功能十分强大。而Ajax技术使RIA进入了新的使用时代,不用刷新,就可以将用户请求发送给服务器。软件开发人员正是运用这些技术来构建系统框架,设计出相应的应用程序,如微软Silverlight、JavaScript库、AdobeFlash4、ICEfaces,以及HTML5等。其中AdobeFlashBuilder4兼容性和实用性是最强的,它可以跨平台运行,用可安装于任何浏览器之中。在所有的浏览器和操作系统上都可以完美地地运行。浏览器拥有不同的处理代码和引擎管理和处理的代码,可以对JavaScript进行管理,而Adobe的Flash引擎仅有一个,用户只有使用AdobeFlash浏览器插件才能进行安装使用。AdobeFlashPlayer作为一种功能强大的架构,能满足软件设计和运行,并可进行RIA的创建,为用户提供直观的在线体验。

1.2 Flex前端UI设计技术

Flex技术采用的是可视化的开发方式,这种技术是基于一种XML语言的衍生版本MXML来实现的。Flex技术中有着多种组件,通过对这些组件进行使用能够实现web应用等一些程序,包含的内容有:WebServervice、列表中的字段排序,图标形式的数据统计等功能。在Flex中内建有许多种动画效果,可以对这些动画效果进行灵活的运用,实现一个美观间接地人机交互界面。Flex技术,和一些传统基于HTML语言的一些应用架构,如PHP、JSP、ASP等,有着许多模板,在进行页面的postback过程中,可以对这些模板进行调用,实现一次载入。使用这一方式,Flex应用的工作流程被大大简化,并且就Flex文件结构来看,也是一种代码与页面设计相分开的模式。

1.3 Blazeds集成Flex和Java

针对Java技术开发的服务器端应用,一般通过集成Blazeds,再充分利用AMF协议并能轻易与Flex技术开发之下的前段应用进行数据信息的交互。

BlazeDS本质上是一种运行于系统服务器的一种java远程调用,承担着web信息传递的技术,在这两部分中,包含了对于AMF以JAVA形式进行实现的部分,通过这样一种情结构,能够方便地来对远程服务器端上的一些JAVA对象进行数据交互,并且同时也依靠着一技术能够实现在客户端之间的信息交流。BlazeDS远程调用技术,通过对POJO,spring等服务进行使用,BlazeDS的作用近似等于JAVA程序中的RMI,通过对BlazeDS的配置,能够为Flex应用程序提供相应的JAVA接口程序类,对JAVA方式进行调用。

在一个完整的BlazeDS应用架构中,一般包含着两个方面的内容:前段由客户端程序组成,后台则有J2EE程序组成。图1中所示为其架构示意图。

图1 BlazeDs架构

在J2EE中对BlazeDS进行使用,需要进行一些预处理操作,具体的操作内容有以下几个步骤。

(1)复制BlazeDS对应的jar文件包,复制在WEB-INF/lib目录之下。

(2)对 WEB-INF/flex目 录 BlazeDS的config文件进行修改配置。

(3)在WEB-INF/web.xml文 件对BlazeDS相关组件进行定义,主要 包 括MessageBrokerServlet与sessionlistener。

图2 系统功能层级图

2 系统需求分析

2.1 系统运行环境

开发平台:JDK1.6、AdobeFlexBui lder4、MyEclipse6.5、Tomcat7.0、Oracle数据库。

发 布 平 台:JDK1.6、Windows2008 Server、Oracle数据库。

客户端:需要安装FlashPlayer插件,浏览器可以是IE6,火狐,谷歌等常用主流浏览器。

2.2 具体要求

(1)以统一的技术平台进行构建,确保工业能效监测管理系统框架底层和功能设计方面进行统一。

(2)为了使总体架构能适应将来的工业能效监测管理系统,在设计时必须坚持以下几种原则:灵活性、可扩展性、先进性。

(3)针对工业节能子系统,实现对各种能源介质(水、电、煤、油、气等)进行集中监控;对于能源的供应环节,如水厂、供配电、电站,一定要通过监控台做重点管理,保证能源能科学地调度,最大限度得到利用,也使工业生产中对于能源的分配利用实现了最优化,使工业生产能稳定有序,实现效益的最大化,从而真正实现能源利用的最佳使用。

(4)采用目前最常见的B/S架构模式,“一级部署,多级应用”是该系统最大的特点,而对于用户来说,想要对系统进行访问和登录,只要通过浏览器就可以,而想要升级,只能通过服务器端。

2.3 系统功能架构设计

鉴于BlazeDS基于服务器端的应用程序这一特点,通过对实际情况进行考察,所得出系统功能应用图层如下图2所示。

3 系统设计

3.1 系统总体架构

依托国网节能公司能源服务运营管理系统,工业能效监测管理系统监测工业企业能耗数据,并将工业能耗数据上传至能源运维管理服务器中。下图3所示为本系统的整体架构。

3.2 功能架构设计详情

为了使系统更接近“高内聚,低耦合”的目标,也为了更方便地完成 开发、维护,增强扩展性,本文将系统分为表示层、业务逻辑层和持久层三层架构。

图3 系统总体架构图

(1)三层架构之用户表现层:在这一层中,主要负责一些交互界面的设计开发,能够对用户的输入输出进行相应,本层主要采用的技术是Flex,使用MXML语言进行编写,能够使得界面变得美观易用,并且通过ActionScript脚本语言对一些处于表现层的客户端逻辑进行表现,同时需要对一些第三方组件进行应用,提高整体开发效率,并且在客户易用性上得到一定的保障。

(2)三层架构之业务层:在这一层中,主要是对用户表现层中所接受到的数据信息等进行业务上的处理,并且还承担着对数据层进行一些数据调用的作用。在这一层中,又可以分成控制层和服务层,控制层负责对用户在表现层进行的操作进行响应,并且对这些操作进行分类,将其通过服务层传递给数据层,从中取出想要的数据进行使用。本系统中,将采用基于JAVA的一种框架技术Spring来进行设计开发,其中将数据层进行注入到系统的业务服务层种,通过控制层对其进行调用后,将所得结果进行一系列的处理,最终使用面向切面程序编程AOP技术来对业务层中的各项程序进行分层。

(3)三层架构之数据层:本层主要是对数据库的一些操作进行封装,是一种与数据库进行信息交互的逻辑处理层,在本系统中,将使用Ibatis技术来及西宁实现,通过SQL语言进行使用,完成POJO与SQL之间的映射关系设计,具有很强的灵活性。

3.3 系统通信框架

本系统将通过使用BlazeDs作为Flex与Java通信的基础框架,下面就以本系统中对设备信息进行获取为例进行简单的说明,主要步骤有:

(1)编写JAVA服务,将服务中所定义的函数方法类型设定为public。

(2)在services—config.xml中注册SpringFacotry,配置如下:

(3)在remoting的配置文件中对destination属性进行定义,并且属性每一项的具体值必须与服务器终端的一些属性进行对应,这样就可以通过factory与soruce来把BlazeDs与Spring技术进行结合:

(4)对Remote对象进行实例化,并且将其对象中的result与fault属性进行注册定义,将其设计成为事件处理的侦听器,通过设计方法内容,通过这两个值对异常和返回进行响应。

处理返回响应的方法:

/**

*获取设备列表的回调

**/

privatefunctiongetAssetsResult(event:ResultEvent):v oid{

vardevice:Device=event.resultasDevice;

在上述代码中,Device变量为AS3类下的实例对象,通过[RemoteClass(alias="com.ylkj.pcsip.device.bo.Device")]进行映射到Java端的Device对象,event.result将会进行自动转化成为 AS3对象。

(5)ActionScript脚本文件中对JAVA远程方法进行使用,并且将一些参数进行传递,如deviceRO.getDeviceById(id);

这里getDeviceById对应DeviceBean类中的getDevice ById方法,使用了异步调用方式,这样处理使得,前台的一些操作请求不会对后台的线程进行阻碍,使得系统反应更加流畅。

4 结语

本文基于Flex技术以及相关的JAVA程序应用,实现了针对工业工程项目中的能效检测系统,该系统具备的优点在于,继承了传统基于HTML的web项目基本特点,而且在夜壶界面以及信息交互上有着更好地体验,能够进一步提高系统的性能。通过实际项目的开发,证明RIA技术是目前而言的web应用程序的发展方向,有着极好的发展前景。在系统开发完成之后,对本系统进行了一定的测试,结果表明:本系统初步完成了用户的需求,并且能够对工业监管提高效率,系统稳定性强,交互能力强,效果显著。

[1]赵中枢.基于Flex与BlazeDs在企业开发中的应用[J].福建电脑,2010,26(9).

[2]何媛.基于BlazeDs实现Flex和Java通讯[J].计算机光盘软件与应用,2012(11).

Design and Implementation of Industrial Energy Efficiency Monitoring Management System Based on Flex and Java Technology

Liu Xiaolin1,Zheng Chenghe2,Zhang Jingjing1,Huang Shengliang2,Zhang Wei1,Chu Yuan1
(1.State Grid (Beijing) energy saving design & Research Institute Co., Ltd., Beijing, 100032;2.China Xintong billion technology limited liability company,Fujian Fuzhou, 350003)

This paper mainly discusses the Flex and Java based on RIA technology, in view of the current construction and development trend of industrial energy consumption, construction of industrial energy efficiency monitoring and management system, describes the system design process and how to use Blazeds integrated Flex and Java technology development of RIA enterprise application system.

Flex;Java;industrial energy consumption

刘晓琳(1989--)女,山东烟台人,主要从事配电网设计及节能改造研究工作。

郑成贺(1989--)男,福建宁德人,工程师,主要从事电力信息化建设研究工作。

张薇(1991--)女,山东菏泽人,主要从事工业节能技术研究与工程实施工作。

黄盛亮(1988--)男,福建福州人,工程师,主要从事电力信息化建设研究工作。

章晶晶(1990--)女,安徽滁州人,主要从事工程项目管理工作。

褚渊(1989--)男,山西长治人,主要从事质量评审与技术标准管理工作。

猜你喜欢
能效浏览器架构
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
上海:稳中有进 能效趋优
反浏览器指纹追踪
WebGIS架构下的地理信息系统构建研究
关注能效
环球浏览器
一种基于FPGA+ARM架构的μPMU实现
浅谈实现高能效制造的未来发展趋势
欧盟:LED照明能效标准将实施