一种面向多监测终端厂家服务的调用方法*

2020-06-18 09:08:18徐京京马素霞王海威
计算机与数字工程 2020年4期
关键词:调用厂家电能

徐京京 马素霞 王海威

(华北电力大学控制与计算机工程学院 北京 102206)

1 引言

《2018~2023年中国电能质量治理产业市场前瞻与投资战略规划分析报告》近日由中国前瞻产业研究院发布,据预估,今年我国电能质量治理市场规模预计将达1187亿元,并且此后将保持每年百亿元的稳定增长态势。随着风电、光伏发电等可再生能源发电的快速发展,电气化铁路、城市轨道交通建设的加速,新能源汽车充电桩的大规模使用和各种新型电子设备的出现,由此产生了一系列新的电能质量问题,也加剧了以往一些长期存在的电能质量问题。在此背景下,电能质量智能信息系统在电网资源全面数字化、数据传送及共享等方面将面临更严峻的考验。

为实现数据在国家电网及其各子公司间的流转、共享,加强国网系统与各监测终端厂商设备实时、准实时和非实时通讯,提出建立统一的数据交换通道和据交换规则,使得来自不同系统、不同数据格式的数据能够进行上传访问、共享[1]。经过探索,Web服务在解决这一问题上表现突出。不同监测设备厂家通过Web服务,将监测终端采集到的数据提供给电能质量智能信息系统等分析设备;电能质量智能信息系统对个数据指标进行分析计算,将结果以Web服务的形式上传到国网监测平台,其他用户也可以从服务获取分析数据,做可视化展示等二次应用开发[2~3]。

Web服务的良好表现使得其得到越来越多的关注,应运而生的是多种多样的服务描述方式、服务传输协议、服务框架等,服务的多样性使其不可避免地存在语法、语义、描述结构异构的问题[4]。服务的多样性同样给用户端调用服务带来了很大的挑战[5]。作为服务的请求者和生产者,电能质量智能信息系统为国网监测平台提供服务接口,同时调用解析不同设备厂家提供的服务。在实际与厂家对接的工作中,总是在接口联调上耗费巨大的精力,因此,采用更加通用和自动化的服务检测访问方法是十分有必要的[6~7]。针对这一问题,本文研究了面向多监测终端厂家服务的调用方法将面向不同厂家的调用方法集成,根据用户请求某厂家数据,通过Web服务调用,自动匹配调用服务,返回XML结果。它提供一套调用接口,用户无需了解Web服务的具体内容和差异,并且允许以类似的方式调用各种设备厂家开发的Web服务。

2 现有Web服务分析

目前主流的Web服务风格有两种,一种是RPC(Remote Procedure Call,远程过程调用)风格的,还有就是REST(Representational State Transfer,表现层状态转化)式的[8]。远程过程调用风格的两大代表是XML-RPC和大Web服务。尽管XML-RPC的应用依然存在,作为一种遗留技术,已被SOAP取代[9]。

REST风格比RPC风格轻量且响应快。RPC请求都是HTTP协议的POST方法,其方法信息协议包含在SOAP协议包或HTTP协议包中。REST方法信息存在于HTTP方法中(如GET、PUT),无需引入SOAP消息传输层。相比之下RPC方法的通用性差一些。从服务的作用域方面看,RPC包含于协议包中,不能直观看到,而REST采用URI显示定义作用域,更加直观明了。RPC风格的关注服务器到客户端之间的调用,不关注基于哪个网络层的协议,这种面向方法的调用过程对应的是REST的面向资源状态的调用。目前主流的框架有SUN的JAX-WS,Apache的CXF、Axis1、Axis2、Wink,Jboss RESTEasy,Dubbo等。适用于SOAP风格的框架有RESTEasy、Wink、CXF、Axis2;适用于SOAP的框架有Xfire、Axis2、CXF、Axis1等。

2.1 REST风格服务

REST数据格式可以为HTML、XML、Json格式,根据国际电工委员会(IEC)发布的IEC6970系列国际标准中应用最为广泛的XMLWeb服务组建模型[10],本文所解析的均为XML格式数据。

RESTful(REST式的)Web服务,定义了数据CRUD(Create Read Update Delete,增查改删)的元操作,与之对应的HTTP方法是GET(获取资源),POST(新建资源也可以用于更新资源),PUT(更新资源),DELETE(删除资源),通过HTTP方法,就可以完成对数据的增删查改操作。由于研究服务调用方法,本论文主要关注GET从服务器取出资源(一项或多项)和POST在服务器新建一个资源[11~12]。

RESTful架构风格所有的资源,都可以通过URI定位,每个资源至少有一个URI与之对应,最典型的URI即URL,而且这个定位与其他资源无关,也不会因为其他资源的变化而改变。

2.2 基于SOAP的Web服务

基于SOAP+WSDL的Web服务允许不同种类的应用程序通过标准HTTP协议调用服务生产者发布的服务方法。在二进制层操作是过去大部分远程调用技术都要求的。而Web服务通过使用SOAP、HTTP、XML等组件,隔离服务请求方和服务提供方,利用服务接口连接双方,服务实现与接口分离,调用方无须了解服务提供者方法的具体实现细节,因此Web服务是较为松散耦合的,基于SOAP服务的数据交换是以XML格式通过HTTP进行,调用服务的方式有静态、半自动、动态方式[13]。

以往在服务请求方调用Web服务之前,需要掌握接口参数、绑定类型与方式、所需调用服务的功能等信息,通过输入固定类型的消息参数对服务进行调用。用户请求端需要人为的对WSDL进行解析,确定所需要的服务的功能,特别是服务调用参数及其类型,在调用服务时,封装这些消息参数,调用所需要的方法,发送请求到服务器端,这种调用服务的方式是静态绑定的方式,弱化了服务松散耦合的优点[14]。因此,增加服务请求方和服务提供方耦合,使得一旦服务提供者更改服务的某些细节,请求方不得不重复修改、解析读取来保证自己的程序不出错。为了降低耦合,降低人力成本,本文采取动态绑定与调用SOAP服务的方法。

3 Web服务调用模块

3.1 调用基于REST的Web服务

对于面向资源的RESTful风格服务,需要使用URI协议标识各个资源并发布出接口,服务请求者访问所请求的资源需要访问具有指定性和描述性的标识,经由HTTP,实现资源的表述从服务器到用户端的转移。

图1 调用RESTful服务图

3.2 动态调用基于SOAP的Web服务

SOAP服务是面向方法调用过程的,相比静态调用方法需要提前约定服务功能、接口参数、绑定类型,动态访问尽量减少人为参与,即无需了解WSDL中参数的结构和定义,而是事先建立一个相关知识库,根据请求设施约束,匹配所访问的方法。

调用流程如图2所示。

1)请求服务。

2)请求信息经匹配器处理,生成用户请求。

3)从知识库提取服务描述,将两个描述进行匹配。

4)选择适合的绑定类型、端口。

5)对WSDL描述的服务参数和用户提供的服务参数进行映射。

6)调用操作的名称以及操作需要的一个输入消息进行调用。

7)返回调用结果。

图2 调用SOAP服务图

4 面向多监测终端厂家服务的调用方法

如图3所示,面向多监测终端厂家服务的调用方法将面向不同厂家的调用方法集成,根据用户请求某厂家数据,通过Web服务调用模块,自动匹配调用服务,返回XML结果。对应地,本方法主要提供给国网电能质量智能信息系统与各监测终端厂家,进行数据对接,返回的XML,经解析存入电能质量智能信息系统PQES数据库。

图3 系统物理结构图

5 结语

服务是一种安全且降低耦合数据对接方法,然而不同的厂家有着不同开发能力和开发习惯,进行数据服务接口对接又弱化了服务的优点。根据上述描述可以看出,Web统一对接问题是普遍存在且急需解决的问题。本文研究了面向多监测终端厂家服务的调用方法将面向不同厂家的调用方法集成[15],根据用户请求某厂家数据,通过Web服务调用,自动匹配调用服务,返回XML结果。它提供一套调用接口,用户无需了解Web服务的具体内容和差异,并且允许以类似的方式调用各种设备厂家开发的Web服务。目前测试的服务数量还比较有限,下一步的工作是集成更多的服务调用方法。

猜你喜欢
调用厂家电能
苹果皮可以产生电能
核电项目物项调用管理的应用研究
电能的生产和运输
海风吹来的电能
LabWindows/CVI下基于ActiveX技术的Excel调用
测控技术(2018年5期)2018-12-09 09:04:46
百万级水产经销商是怎么练成的!哪种经销商最受厂家青睐,最易获取资源?
当代水产(2018年12期)2018-05-16 02:49:38
澎湃电能 助力“四大攻坚”
人大建设(2018年2期)2018-04-18 12:17:00
基于系统调用的恶意软件检测技术研究
美小运载厂家签多次发射协议
太空探索(2016年12期)2016-07-18 11:13:43
“上下床厂家”玩转“互联网+”
上海商业(2016年22期)2016-06-01 12:10:15