基于SOA的分布式系统在SCADA系统调度端应用研究
摘 要:分析了在电力市场环境下,当前SCADA系统信息集成的局限性,将基于XML Web service的面向服务架构(SOA)技术引入其中,设计基于SOA的SCADA系统调度端平台架构,实现分布式服务功能交互。 关键词:SOA,SCADA系统,XML, Web service Abstract: With the rapid development of power market , there is limitation when current SCADA system share information with other information systems . In order to solve this problems above , this paper pulls in SOA architecture based on XML Web service , and design the new architecture of SCADA system management platform , in order to comply the distributed function. Key word: SOA, SCADA system, XML, Web service 0 引言 调度自动化系统是运用计算机、通信和控制技术,对调度中心管辖的设备,进行数据采集、监视和控制,以实现自动测量、自动信号、自动控制和自动调节等功能。主要由数据采集及监控、状态估计、安全分析、潮流优化和经济调度等模块组成。随着电网技术和计算机技术的发展,在调度自动化系统中需要集成来自不同厂商的硬件设备、操作系统、数据库平台和网络协议等,由此带来的异构性给应用软件的互操作性、兼容性以及升级能力造成了严重问题。形成大量分散异构的“信息孤岛”,针对此现象,本文提出一种基于SOA的分布式架构在调度自动化系统中的应用设想。 1 当前SCADA系统介绍及其局限性 从集中式,经开放式向分布式发展的过程。到目前为止,电网能量管理系统的调度系统的发展已经历经三代,这三代系统的结构可以归纳为主机终端结构、客户一服务器结构(即C/S结构)和功能分布式结构3种,如图1-a,图1-b和图1-c所示 。 [align=center][/align] 目前广泛使用的是C/S结构。传统的C/S结构是对以前单机系统得扩展,解决了执行效率和多用户同时使用的问题,这种模式尽管有以下优点:可通过网络环境发布信息、分布数据;特性良好的人机界面;使用分布式管理,均衡了负载;性价比高等,但经过一段时间的使用和推广后,一些缺点也逐渐显露,如不同应用使用不同客户端软件,维护工作量大,每一次的升级都意味着要全部更新所有客户端,大部分应用依赖特定系统开发平台,可移植性,可扩展性差导致灵活度不够,无法满足应用软件规模的扩大和各种软件集成的迫切要求,也不能适应复杂多变的软、硬件环境。为了解决这些问题,对原有系统结构进行改进,出现了分布式多层应用程序架构,这种架构最大优点就是将用户表示层、业务逻辑层、数据层剥离,每层独立,表示层负责用户界面和外部接口逻辑,业务层负责核心的商业规则和业务逻辑,数据层负责读取和更新存储器中的数据,即通常所谓的三层架构。 调度自动化系统不仅要能够完成监控要求,还要和其他应用子系统如安全分析子系统,优化和经济调度子系统进行互连和互操作。对于这一点,传统的C/S模型是无能为力的。而分布式对象模型可以提供分布式异构环境下应用系统互连和互操作的标准,使得系统在具有很好的开放性的同时,也提供了很好的可扩展性,便于新的应用模块的扩展。 2 SOA与Web service技术概述 SOA(Service-Oriented Architecture),如图2所示。它是一种体系架构,它将应用程序的功能单元称为服务,这些服务之间通过定义良好的接口和契约联系起来。接口采用中立的方式进行定义,独立于实现服务的硬件平台、操作系统和编程语言。服务映射到业务功能,实现服务的组件通常映射到业务实体和操作它们的业务规则。实现服务的软件实体通常是粗粒度的,松散藕合的,基于消息通信模型的。 Web Service为分布式系统提供了支持,其平台和语言中立性使得跨平台的互操作,系统地整合更加容易,其技术的成熟化使得SOA架构思想得到很好的应用。从目前研究应用的几大软件厂商共同协商的标准来看,Web Service技术无疑是最方便的。Web Service的关键技术如下。 [align=center] 图2 SOA架构[/align] 2.1 SOAP 简单对象访问协议SOAP(Simple Object Access Protocol)执行和调用服务间的通信。当Web service建好以后,需要调用它时,SOAP提供了标准的RPC方法调用Web service。SOAP规范定义了SOAP消息的格式,以及怎样通过HTTP协议来使用SOAP,它是基于XML的,继承了XML的开放性和可扩展性,可解决多个应用之间的一致性问题。 2.2XML XML是web serivces的核心基础技术,是SOAP实现的关键所在,是Web服务平台中表示数据的基本格式,是Web服务通信协议的数据编码方式。主要优点与平台无关。XML解决了数据表示的问题,但它没有定义一套标准的数据类型,更没有说怎么去扩展这套数据类型。W3C制定的XML Schema(XSD)就是专门解决这个问题的一套标准。它定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型。 2.3 WSDL WSDL(Web Service Description Language)Web服务器描述语言是用XML文档来描述Web服务的标准,是Web服务的接口定义语言,由Ariba、Intel、IBM、MS等共同提出,通过WSDL,可描述Web服务的三个基本属性: ·服务做些什么——服务所提供的操作(方法) ·如何访问服务——和服务交互的数据格式以及必要协议 ·服务位于何处——协议相关的地址,如URL WSDL使得描述服务成为可能,同时也让客户能够以标准的方式对这些服务进行调用,而不需要知道更多的底层协议,如SOAP和HTTP等。 2.4 UDDI UDDI(Universal Description , Definition, and Integration,统一描述、定义和集成)用来发布、查找服务。用户可以在上将其服务进行注册,以便用户访问。目录入口是一个描述了服务及其如何提供服务的礼文件。目录也包含了一些搜寻用户需要的服务方法,并提供信息、联系方式和链接的技术数据,以满足需要的服务。同时,通过提供的标准接口,用户可以发布自己的服务供其他实体调用,也可以查询特定服务的描述信息,并动态地绑定到该服务上。 3 基于SOA的调度系统总体架构设计 第一层是电力信息系统层,根据服务契约从每个现有的信息系统(EIS)中分离出实现一定业务功能的基本服务。在信息系统层,将企业现有的EIS封装成一个或多个Web基本服务,对外提供统一的接口(如一个或多个WSDL)。将它们原来以各种API形式暴露的接口用WSDL重新描述,然后使用HTTP +SOAP的消息传输方式作为与外界交互的桥梁。在SCADA调度系统中可以划分的系统功能有:报文处理,数据采集,数据维护,子站和监视等。第二层是传输层,采用企业服务总线(ESB)作为传输连接服务的“桥梁”。ESB所提供的基于标准的连接服务,可将应用中实现的功能或者数据资源转化为服务请求者能以标准的方式来访问的服务。服务提供者首先把提供的Web服务发布到企业私有的UDDI,同时在ESB上配置一些基础的元数据,如Web服务容器类型、调用方式(动态/静态)等,当有一个请求Web服务时,ESB把该Web服务作为一个功能提供给要使用的系统,每个功能通过唯一的标识号标识,则系统只需要向ESB发送该Web服务的数据接口标准的SOAP消息,ESB就会自动的执行该Web服务,并把处理结果发送给服务请求系统。第三层是服务层,原企业应用系统提供的通常是细粒度的API接口,经过Web封装是将API用基于XML的WSDL重新描述,此基本服务依然是细粒度的,而SOA思想中要求服务单元是粗粒度的,在服务层重新组合基本服务,使服务具有一定粗粒度。SCADA系统基础服务网管服务、安全服务、数据服务。第4层是业务层。在这一层中利用已经封装好的各种服务来构建电力系统中的具体的业务流程。第五层是表示层,这是暴露给客户或合作伙伴使用的服务接口,以Web服务的形式提供。 [align=center] 图3 SOA架构的SCADA调度系统结构图[/align] 4 结论 本文抛砖引玉地介绍了面向服务的体系结构(SOA)在SCADA的应用, 采用基于XML的Web Service技术为异构系统之间实现无缝的连接和集成,在系统内部使用传统的紧耦合系统架构而在系统之间采用松耦合的系统架构,这样既可以保持同构系统内部的体系独立完整,又能实现异构系统互相通信集成而构成整体,实现电力信息的共享和整合,促进电力系统信息集成的应用与管理水平的提升 参考文献 1 杨朴,游大海等.SCADA系统的XML Web服务实现.电力系统及其自动化学报.2003年8月第15卷第4期 2 麻丽娜,苑津莎等.基于Web services的电力企业应用集成技术研究与实现.电力系统通信.2005,(11). 3 桂友武,黄烟波.用SOA与Web services进行企业集成的框架设计.信息技术.2007,(10) 4 许卫兵,孙佐,陈继军.面向服务架构(SOA)的电力系统信息集成研究.中国仪器仪表.2007,(6) 5 董文炜.基于SOA的分布式Web应用系统的研究.西北工业大学硕士论文.2007 6 吴家菊,等.基于Web服务的面向服务(SOA)架构研究.现代电子技术.2005,(14) 7 宋朝青.利用分布式组件对象模型构建SCADA系统网络模型.电力系统自动化.2000,(9) 8 凌晓东.SOA综述.计算机应用与软件.2007,(10)