Web Services应用于电力GIS的探讨

时间:2022-08-10 04:16:32

Web Services应用于电力GIS的探讨

摘 要:近几年GIS在电力系统得到了广泛的应用。Web Services的出现,将改变在Web上进行软件设计的方法,也将引起电力GIS体系的变革。通过对电力GIS单个事例的剖析,给出一个基于Web Services的WebGIS三层系统构架模型并进行论述。基于Web Services开发的电力GIS具有系统扩展性强、代码重用度高的特点。其同时也是解决目前WebGIS系统所面临的问题的有效途径。

关键词:电力地理信息系统;网络服务;XML;系统构架模型

中图分类号:TP311文献标识码:B文章编号:1004373X(2008)2010004

Discussion of Web Services in Electric Power GIS

LIU Yating1,ZHANG Rui1,WANG Ning2

(1.Xi′an Electric Power College,Xi′an,710032,China;2.Xi′an Power Supply Bureau,Xi′an,710032,China)

Abstract:GIS has been used widely in electric power system in recent years.The emergence of Web Services changes the design mode and brings the innovation of electric power GIS system.This paper analyzes a single case of electric power GIS deeply,introduces and discusses a three tier system truss model based on Web Services technology.Electric power GIS based on Web Services technology has strong system expansibility and high code repetition use,so it is the effective method to resolve the question faced on the WebGIS recently.

Keywords:electric power GIS;web services;XML;system structure model

随着我国城市经济建设和社会的快速发展,用电负荷日益增长,电网运行的控制及管理工作变得比以往任何时期都更为复杂。电力GIS由于能及时、全面、准确地获取电力企业的各种资源信息,并加以提炼、分析,为电力企业的管理者和决策者提供辅助决策支持,而得到广泛应用。

近几年来,随着网络技术的不断发展, GIS(地理信息系统)与Internet 两者的结合成为WebGIS。当WebGIS出现以后,它在电力系统中应用的范围更加广泛,使电力系统信息实现共享更加方便,信息共享程度不断提高,更加方便了电力系统信息的可视化管理。WebGIS在电力系统中的应用主要体现在以下几个方面:输变电管理(线路设计、线路操作及空间分析)、配电管理(配电网络的设计、线路负荷统计与预测、变配电站、开关站操作及空间分析、遥测信号对站内设备实时变位、配电潮流分析、供电可靠性分析等)和用户服务支持等。

但是随着应用的深入可以看到,由于Web的种种限制和GIS本身的一些特点,事实上WebGIS的实现技术存在着很大的问题。首先,它们都不能实现异构空间数据互操作以及实现跨平台的问题,因而,也不是真正意义上的开放的万维网地理信息系统;其次,由于Web本身将内容的表现和运行逻辑结合在一起,所以,对于一个WebGIS应用,从设计、开发、应用到维护,都很难以连贯、有效的方式完成软件的整个生命周期;再者,以上述方式和模型构建的WebGIS是紧密藕合的,对Web开发人员来说,系统的开发、调试、维护都很困难,要实现对系统的扩展更是困难重重。

这些问题,有些则是GIS软件特有的问题,有些是Web软件特有的问题。所以,必须从GIS和Web这两方面同时入手来解决WebGIS的这些问题。目前有W3C和OGC等2大类型的标准化组织在研究和解决这些问题,他们提出了Web Services的概念,只有通过Web Services,才能有效地解决WebGIS中的问题。

1 Web Services技术分析

Web Services是使用Web Services技术创建的具体应用实例,而Web Services则是用于构架Web Services的整体技术框架。

Web Services可以从多个角度来定义。从技术方面讲,一个Web Services是可以被URL识别的应用软件,其接口和绑定由XML描述和发现,并可与其他基于XML消息的应用程序交互。

从功能角度讲,Web Services是一种新型的Web应用程序,具有自包含、自描述以及模块化的特点,可以通过Web、查找和调用。其实现的功能可以是响应客户一个简单的请求,也可以是完成一个复杂的商务流程。一个Web Services配置好后,其他应用程序和Web Services就可以直接发现和调用该服务。

1.1 Web Services的工作流程

Web Services的工作流程如图1所示。

第一步,客户端向提供UDDI服务的服务中心请求查找服务,得到WSDL文档的URL地址。客户端如果知道WSDL文件的URL地址,可以跳过这一步。

第二步,客户端根据URL向Web Services的提供者请求服务说明文件WSDL。

第三步,客户端根据服务说明,向Web Services的提供者请求这个服务,并得到服务的结果。

通过这一系列的交互,客户端完成了对服务的使用。

1.2 Web Services的协议

Web Services是由一系列的协议组成。目前Web Services的协议栈如表1所示。其中,下面两层是先前己经定义好的并且广泛使用的传输层和网络层的标准IP,HTTP,SMTP等。而中间的4层是目前开发的Web Services的相关标准协议,也是Web Services的核心技术,包括服务调用协议SoAP、服务描述协议WSDL,服务发现/集成协议UDDI,以及服务工作流描述语言WSFL。最上层描述的是更高层的待开发的关于路由以及事务等方面的协议。右边的部分是各个协议层的公用机制,这些机制一般由外部的正交机制来完成。

1.3 Web Services对电力GIS的作用

采用Web Services相关的技术实现电力GIS系统,可以很好地解决目前电力GIS中存在的跨平台、软件复用等问题。

(1) 利用XML实现数据类型的标准化

在面向对象系统中,如何表示基本的对象是非常重要的问题。为了表示一个复杂对象如城市配电网,需要这些简单几何体以组合和联合的方式来表示。但是在电力GIS系统中,不仅对描述复杂的复合实体的表示方法不同,而且组成复合对象的基本数据类型的描述也有可能各不相同,对象之间错综复杂的各种关系更无法统一表示。

(2) 利用WSDL实现软件复用

Web Services可以简单地认为是网络上的组件。而且由于组件的功能是以WSDL文件的方式暴露给外界,本身的实现被完全隐藏。同时,由于采用XML/GML定义数据类型,可以表示一些复杂的电力相关地理信息类型,所以电力GIS中的数据模型可以被完全表示出来;根据XSLT不同的数据模型之间也可以很方便地实现转换,对数据的处理与数据放在一起,不同的数据,其内部操作的方式不尽相同,但是因为都遵守一定的接口规范,所以外部调用的方式完全相同。

利用网络组件的方式,在应用程序之间流动的,只是命令和响应,数据和程序都不需要在网络上传输,节省了带宽和计算时间。

(3) 利用WSDL和SoAP实现跨平台

Web Services采用组件化软件的思想,使用标准的协议和接口,用WSDL语言来描述功能接口,屏蔽了具体实现的方式(体系结构、包括硬件、操作系统、语言、运行方式)。由于Web Services的各个功能组件之间采用松散藕合的方式,系统一个节点的更新、崩溃、更换操作系统不会影响到整个电力GIS系统的其他节点。

在Web Services中,采用SoAP/HTTP标准协议实现服务的通信方式。这样就可以利用已有的成功的通信方式,不需要自己再设计一套完全不同的通信方式来进行客户端和服务器端之间的通信。

(4) 利用UDDI实现电力GIS组件的共享

在Web Services中,采用UDDI注册中心的方式来注册和发现服务,使得用户和服务提供者之间的沟通更加容易。服务的注册,发现和绑定模式,使得应用程序对服务不再是静态依赖关系。因为应用程序可以通过UDDI注册中心来动态更新有关服务的元数据,该元数据可以包括服务的版本号、更新时间、服务URL位置、服务功能等信息,从而供应用程序选择和使用。所以服务的动态添加、删除和更新不会对已有的应用程序产生影响。可以利用不同组织,机构或者个人开发的不同GIS组件来构建GIS系统,从而实现电力GIS组件的共享。

2 基于Web Services的电力GIS系统设计

2.1 电力GIS与Web Services的结合

这里以结构较为简单的电力客户服务系统为例,考虑到实际实现过程中可以用到的方法,提出一个WebGIS系统的实现原型如图2所示。

<img src=".cn/qkimages/moet/moet200820/moet20082033-3-l.jpg" hspace="15" vspace="5" align="">

该原型是一个典型的3层结构,各部分的功能如下,

(1) 客户端产品采用VC实现,主要接受用户的操作,将操作结果传递给用户显示;

(2) 应用服务器采用Java实现,根据客户端的请求,向数据服务器发送请求并处理返回的结果,然后再将结果返回给客户端;

(3) 地图数据服务器采用ArcIMS,负责提供地图操作服务;信息数据服务器采用Oracle,负责提供电力客户信息服务。

客户端和远程分别采用MVC结构,客户端与Web中间件通过基于HTTP的SoAP协议通信;而Web中间件与服务器间采用TCP或HTTP协议通信。远程接口是服务的提供者,客户端是服务的使用者,二者可独立演化而互不影响;在控制层做日志,Session管理,用户登录管理和XML信息的调制与解调。

2.2 应用服务器的设计和实现

根据提出的电力客户服务GIS原型系统,这里将应用服务器按照Web Services的标准和规范,把数据服务器所提供的各种操作功能包装成服务并,供客户端调用。

(1) Web Services的部署,开发服务端的位置服务的Web Services组件或模块,如数据调用服务、位置查询服务等。将已开发的系统功能模块在服务端按照Web Services 要求部署,并用WSDL进行描述,提供给远程客户端调用。客户端调用Web服务的实现可以通过3种方式:一种是服务请求方直接访问服务的WSDL文件,利用 Axis 类库生成客户端;第二种是使用WSDL的动态调用接口方式;第三种是通过服务端的部署,指向需要的 Web 服务,如图3是实现对地图操作的Web服务部署。

(2) Web Services的调用,因为本系统的客户端不是基于浏览器,而是独立的应用程序,故本文采用SoAP 方式下的请求和响应。这种方式使得客户端和服务器端松散耦合,大大提高了独立演变的能力。

SoAP 请求:

POST/axis/services/ GetMapService HTTP/1.1

Host:localhost

Content-Type:text/xml;charset=utf-8

Content-Length:length

SoAPAction:

" /axis/services/ GetMapService "

<?xml version="1.0"encoding="utf-8"?>

<SoAP:Envelope xmlns:xsi="/2001/XMLSchema-instance"

xmlns:xsd="/2001/XMLSchema"

xmlns:SoAP="/SoAP/envelope/">

<SoAP:Body>

<GetMapService

xmlns=" /axis/services/">

<strMapService>string</strMapService>

</GetMapService>

</SoAP:Body>

</SoAP:Envelope>

SoAP 响应:

HTTP/1.1 200 OK

Content-Type:text/xml;charset=utf-8

Content-Length:length

<?xml version="1.0"encoding="utf-8"?>

<SoAP:Envelope

xmlns:xsi="/2001/XMLSchema-instance"

xmlns:xsd="/2001/XMLSchema"

xmlns:SoAP=" /axis/services/">

<SoAP:Body>

<GetMapServiceResponse

xmlns=" /axis/services/">

<GetMapServiceResult>boolean

</GetMapServiceResult>

</GetMapServiceResponse>

</ SoAP:Body>

</SoAP:Envelope>

(3) Web Services状态管理,Web Services由于采用HTTP作缺省通讯协议,使得Web Services可以透过各个企业、公司的防火墙,真正实现跨Internet的分布式计算。也因为HTTP,使得Web Services在本质上一些先天的限制,就像其他的Web应用程序一样。在本系统中,借助于HTTP协议的cookie机制和服务器端的session机制实现Web Services状态管理。

3 结 语

基于Web Services体系的电力GIS系统与传统的GIS系统相比,有2大优势:

(1) 开放的数据模型,在该系统中空间数据转换成XML传递到客户端。ML/GML为跨平台的数据访问提供一个数据交换的中间格式,因此,各个异构的GIS系统间可以采用XML/GML作为数据存储和传输的载体进行互操作。而且,XML描述数据本身,人们在网上浏览数据同时也获得了数据本身,从而真正的实现了“所见即所得”。

(2) 开放的数据访问接口,基于Web Services的电力GIS可以使任何用户都跨越系统平台,通过Web来获得所需的服务功能,从而构建自己的应用系统。随着地理信息Web服务规范的完善,基于Web Services的开发模式的大量普及,这种网络构架和开发模式必将成为未来WebGIS应用的主流模式。

XML/Web Services体系是基于XML的数据存储技术和Web Services的系统开发技术相结合的产物。基于Web Services体系设计和开发的WebGIS应用系统具有,系统扩展性强、代码重用度高。这是解决目前WebGIS系统所面临的问题的最有效的途径。

参考文献

[1]张宏,李斌,夏秋勤,等.基于Web服务的GIS系统构想[J].计算机工程,2003,29(10):140-141,157.

[2]孙一中.XML理论和应用基础[M].北京:北京邮电大学出版社.2000.

[3]宋亚超,闾国年,张宏.基于Web Services的网络GIS集成与应用[J].地球信息科学,2004,6(1):48-52.

[4]白峰,李利军.WebGIS的XML解决方案[J].计算机与现代化,2002(12):242-246.

[5]胡海静,王育平.XML技术精粹[M].北京:机械工业出版社,2002.

[6]吴信才.地理信息系统与实现[M].北京:电子工业出版社,2002.

[7]龚健雅.当代GIS的若干理论与技术[M].武汉:武汉测绘科技大学出版社,1999.

[8]陈强,张超.基于Web Service跨平台空间信息服务模型[J].华中科技大学学报:自然科学版,2003(z1):168-170.

[9]Microsoft.XML Web Services Basics./webServices/.

[10]刘建民,许中平,张军伟.WebGIS技术的实现及在电力系统中的应用\.遥感技术与应用,2002,17(4):205-208.

[11]林创根.GIS系统与电力生产应用系统的集成[EB/OL]..2005.

作者简介 刘亚汀 1971出生,西安电力高等专科学校,硕士。主要研究人工智能与虚拟现实技术的研究与应用。

上一篇:广播电视发射系统中滤波器的温度补偿 下一篇:基于MPEG-4视频标准数字视频录像机的设计与实...