基于corba/xml的电力企业应用集成
时间:2015-12-20 22:19:43 所属分类:智能科学技术 浏览量:
基于CORBA/ XML的电力企业应用集成 鲁杰爽 ,石东源 (华中科技大学电气与电子工程学院, 湖北 武汉 430074) 摘 要:本文探讨采用国际对象管理组织OMG的公共对象请求代理体系CORBA和可扩展标记语言XML对电力企业应用进行集成。遵循IEC61970标准,采用建立在CIM
基于CORBA/ XML的电力企业应用集成
鲁杰爽 ,石东源
(华中科技大学电气与电子工程学院, 湖北 武汉 430074)
摘 要:本文探讨采用国际对象管理组织OMG的公共对象请求代理体系CORBA和可扩展标记语言XML对电力企业应用进行集成。遵循IEC61970标准,采用建立在CIM语义上的CIM XML语言作为数据交换语言,利用CORBA透明的互操作性和CIM XML的模型可扩展性、灵活性,对企业应用进行集成,并在多种数据源之上集成全局数据平台,构建了一个完整的电力企业应用集成框架。该框架具有更好的开放性和灵活性,具有较好的实际集成工程实用价值。
关键词:应用集成; 互操作;开放;IEC61970;公共对象请求代理体系;可扩展标记语言
1 引言
当前,电力系统自动化的发展趋势是各级主站以EMS/DMS调度自动化为基础向全局自动化发展,以保证整个电网安全经济高效地运行。然而不同时期针对不同业务需求而开发的各种应用系统之间的异构性(体现在硬件平台异构、操作系统异构、开发语言异构、网络平台异构)造成这些相对封闭的“自动化孤岛”相互之间很难交换共享数据。
其次,这些应用系统开放性差,体现在系统随应用发展的可扩展性较差、应用系统与支撑平台的相容性较差、系统的网络互联应用接口开放性较差、系统升级困难。
再次,电力市场条件下,电网将经常运行在安全极限状态以追求最大经济效益,为确保电网安全,控制中心和各电力公司之间需交换大量信息如电网模型等,以监视系统状态和进行安全经济分析,为此而开发的新应用系统将不断涌现。
为了适应激烈的市场竞争,电力企业更加需要一个既集成优化原有各应用系统,又能满足当前和未来需求的应用集成系统,以获取实时的市场信息。如何将历史遗留应用与现有应用集成优化运行,以交换共享数据和资源,提高企业整体效益,如何保证开发的应用系统的开放性,即可移植性、可扩展性、易获得性和互操作性[1],以便与外系统实现互连互操作,是企业当前急待解决的问题。
应用集成的提出就是为了实现异构环境下分布式应用之间的互连互操作。对企业应用进行集成应遵循一些原则:建立统一数据模型;遵循标准接口规范;采用中间件集成标准进行集成。
2 电力企业应用集成应遵循的原则
2.1 建立统一数据模型和遵循标准接口规范
应用集成的核心是数据模型。各个应用要正确无误地互操作,必须对所交换信息的语义有一致的理解。理想的应用集成应该“同根生”,即在已有的各种私有数据模型之上,建立统一的数据模型,然后在此基础上开发图形系统,管理信息系统等底层系统,并提供一些操作原语或API接口函数,构建企业系统平台,在此平台基础上再开发各种应用。这样开发出来的各种应用天生就能够互连互操作,无需集成。但这样工程浩大,浪费资源。
比较现实的集成方法,应采用基于消息总线的集成策略[2],为企业内交换的公共信息建立统一数据模型。在消息总线上交换的消息采用公共信息模型(即各应用组件的接口级语义上基于公共信息模型),各个应用内部的信息描述仍然可以采用私有数据模型。这样可以有效保护企业的先期投资,同时也可以避免点对点集成带来的数据格式转换接口程序数目繁多和“死锁”问题。
集成的关键是遵循标准接口规范,它规定了交换信息的内容以及组件相应的动作。只有所有组件都实现了规定的标准接口来访问公共数据或与其它组件交换信息,才能整体形成一个“即插即用”的企业应用集成框架。
当前,IEC组织制定的国际标准IEC61970[3]中包括了公共信息模型CIM和两个级别的组件接口规范CIS,为电力企业应用集成提供了有利条件。其中CIM定义了电力工业标准对象模型,用于电力工程、规划、管理、运行和商务等应用的开发和集成,它提供了描述电力对象及其关系的标准,为各种应用提供了公共交换信息的一致语义。CIM采用面向对象的方法建模电力系统各种资源及其关系,定义了相应的类名及属性、以及各个类之间的关系。这些类被分别划分到许多包中,如Core包包含了PowerSystemResource、Conducting Equipment等基类,其它包中的类大多从它们派生而来。Wire包中的类则描述了输电网和配电网模型,Topology包中的类对电力对象的连接关系建模。
当然CIM还在不断完善之中,实际集成工程也需要在CIM模型之上进行模型扩展,以包含特定数据来满足实际工程需求。电力企业应用集成应从长远的角度考虑,遵循标准IEC61970非常重要[4],只有这样才能保证集成系统完全的开放性,最终降低系统集成成本和保护先期投资。否则集成系统只会变成更大一些的“自动化孤岛”。
2.2 采用中间件标准进行应用集成
要实现应用组件间的互操作须借助于互操作中间件。中间件提供了标准的能够互操作的组件执行环境,这对于集成系统的开放性也很重要[5]。目前主流对象中间件技术标准有CORBA、COM/DCOM、Java Bean等,考虑到电力企业应用系统的跨平台性,优先采用CORBA标准。如文献[6]指出,经过性能测试,在组件粒度不太小的情况下,CORBA完全能够满足调度自动化系统的各应用组件的实时通信要求。
基于corba/ xml的电力企业应用集成 :
CORBA是一种面向对象的组件技术和分布式对象计算的体系结构,提供了一个可供软件在异构网络中跨操作系统和平台进行交互操作的标准[7]。其核心是对象请求代理ORB,负责异构环境下各分布式应用组件(对象)之间的通信,实现对象之间透明地发送请求和接收响应。CORBA的思想是采用说明性的标准的接口定义语言IDL将对象接口与对象实现部分相分离。CORBA定义了IDL与各种编程语言之间的映射,以屏蔽语言的差异。对象的实现部分和调用可以采用具体不同编程语言完成,但对象的操作接口必须统一用IDL来定义,所有对象都通过IDL向总线描述自己提供何种功能和服务。而客户程序只要知道服务对象操作接口,就可以向ORB请求调用该对象的服务。ORB为客户和对象实现建立连接,它截获客户调用请求、寻找目标服务对象、激活对象并向其传递参数、调用对象实现方法并返回结果。至于服务对象在何位置、使用何种编程语言、处于何种操作系统、处于何种执行状态以及采用何种网络协议通信等细节全部被ORB隐藏起来,实现“透明”的互操作。
CORBA提供了标准的分布式Client/Server组件框架,是应用集成的基础。应用组件只要按CORBA标准开发,就可以即插即用地插入软件总线集成而实现互操作。而且CORBA还提供了完整的各种企业应用级标准基础服务如生命周期服务、持久服务、名字服务、事件服务、并发控制服务、对象贸易服务、消息服务等。应用可以调用这些服务组件实现所需功能,有助于实现集成系统所需的标准的事件通知、请求/响应等消息总线接口。
论文基于CORBA/ XML的电力企业应用集成
总之,电力企业应用系统集成应遵循上述原则(如图1所示):即将平台交换信息基于CIM,数据库模式定义采用CIM,以中间件作为系统集成框架,遗留应用按照CIS接口标准封装为组件后再接入系统,新应用遵循CIM和CIS标准以面向对象的组件方式开发即插即用,所有应用整体形成开放的企业应用系统集成框架,实现数据共享和互操作。这样不仅实现了遗留系统的优化集成,保护了先期投资;而且集成的系统具有良好的开放性,易于集成移植新应用和动态升级。
3 建立在XML语言上的公共信息模型
3.1 可扩展标记语言XML[8]
XML是一种原标记语言,用户可以为自己的数据创建自己的标记,制定自己的标记语言,以统一、开放、基于文本的数据模式描述不同应用或数据源中的私有数据,屏蔽环境和数据结构的差异。
XML主要有三个要素:文档类型定义DTD或模式Schema、可扩展样式单语言XSL、可扩展链接语言XLL。DTD类似于数据库的模式,它规定了XML文档自定义标记的词汇表及规则集。XML文档首先要遵循XML的基本语法(即形式良好的XML文档),还要符合DTD的规定(即有效的XML文档)。所有的XML文档遵循同一个DTD,就能保证数据语义的一致性,实现数据的交换共享。
3.2 建立基于CIM语义的CIM XML语言
CIM只是一种抽象的模型,可以利用XML描述CIM并作为公共信息交换的格式,即以CIM作为语义制定电力行业的CIM XML语言。
由于CIM 的复杂性和版本变化性, DTD无法适应。而资源描述框架RDF[9]提供了一种容纳多种元数据标准的框架,能够解决上述问题。RDF提供实体-关系的数据模型RDF Data Model,通过资源属性及其相应值来描述特定的资源以及资源间的关系,用RDF Schema定义描述资源时用到的属性类及其意义,并用RDF Syntax来加以描述。
用统一建模语言UML描述的CIM模型可以直接映射到RDF 模型(类映射为资源,类属性映射为资源属性,类之间的继承关系映射为subClassOf属性),并利用XML 语言加以描述,即可获得XML文档形式的CIM RDF Schema[10]。CIM RDF Schema 一旦确定,则CIM XML语言已经确定,只要所有的XML文档遵循该CIM RDF Schema,就能保证所有应用对XML文档数据语义理解的一致性,实现数据的交换共享。国内外互操作试验已证明:遵循CIM RDF Schema,从一家电力公司的系统模型数据生成的XML文档可以被另外一家电力公司的系统正确地导入导出。(详情见文献[11])
应用集成的工作主要集中在如何建立公共交换信息模型,集成系统的可扩展性主要取决于模型的可扩展性。基于XML的公共信息模型可以扩展,使得系统具有很好的可扩展性。具体主要表现在:
首先,能够适应CIM版本的变化。当前CIM虽已成熟,但仍在不断完善之中。为适应变化,可将XML文档中的cim名字空间相应地重新加以声明。如:xmlns:cim="xml的电力企业应用集成 :
其次, CIM XML语言和CIM RDF Schema均可扩展,可以在CIM中扩展自定义模型以增加自定义的数据,满足用户特定需求。如用户需要处理故障信息(CIM没有定义),可将自定义的故障信息模型进行映射,在CIM RDF Schema中增加自定义模型相应的类和属性,并在其前面附加事先声明的自定义模型的名字空间前缀,以表示该标记属于不同的名字空间词汇集,避免标记的命名冲突。这样相应地,一个CIM XML文档就可以同时保存公共信息模型和自定义模型的数据,如下XML片断所示。
当带有各种前缀标记的XML 文档被处理时,原有应用只处理自己相关标记而忽略带有未知前缀的标记,不会影响其运行,而这些自定义标记数据就可以由相应的应用(如故障信息处理)来专门处理。因而,开发集成新应用变得更加灵活且容易实现。
4 一种开放的电力企业应用集成框架设计
兼顾集成后系统的实时性不受影响等实际工程要求和适应电力市场的开放要求,参照对象管理组织OMG对象管理体系结构,建立一种基于CIM XML的电力企业应用系统集成框架如图2所示:
4.1 集成框架的主要特点
(1)CORBA为各个应用提供透明的互操作,使用具有模型可扩展的CIM XML传输数据,两者的组合使得系统具有更大的开放性和灵活性。首先XML能够描述各种有结构或不规则数据,XML文件不仅可以同时容纳多种数据源或多个应用生成的数据,而且由于自描述可以独立于具体应用和语言。其次,XML文件的传输很方便,已成为Internet的数据交换标准。再者,XML数据很方便处理。当XML文件传送到客户机上,面向对象语言可以通过其接口对其进行解析和读写操作;也可以采用不同的XSL样式单对同一XML数据实现不同方式的显示, XSLT(XSL转换)还能从XML文件中抽取、计算、重新组合成用户所需数据,即能实现接口数据转换,做到“同一数据,多次使用”,减少网络流量。最后,XML文件类似“移动的数据库”,存储了结构化数据,具有信息的保值性。XML文档查询语言如XML-QL,能够对XML文档进行类似于SQL对数据库的查询操作。总之,使用具有模型可扩展的CIM XML作为传输数据的载体,就为灵活地开发各种应用提供了有力支撑。
(2)部分接口数据XML化[12]。XML数据本身可以通过其标记表达一定的语义,当接口功能需求发生变化时,有可能通过改变或增加XML数据来表达相应的语义,而无需更改接口,极大地减少开发接口的工作量。理想情况下,所有应用的接口参数都要XML化, XML数据转换层实现将各种数据转化为XML数据,或者从XML数据中解析出所需的数据,总线上公共交换信息为单一的XML数据。为不影响原系统的实时性,对实时应用如SCADA两种接口并存,只增加XML接口,对实时要求不高的应用的所有接口参数都进行XML化。
(3)建立全局虚拟数据库平台。传统调度自动化系统由多个应用系统和多个数据库服务器组成。其中EMS系统[13]主要由SCADA、能量管理EMS、网络分析NAS、调度员培训DTS四个子系统组成。每个子系统又由多个子应用和一个私有数据库组成,子应用都从子系统私有数据库中取得原始数据,并将计算后结果送回,彼此通过私有数据库交换数据而紧密联系。四个子系统之间还相互交换数据,如SCADA为其它子系统提供实时的开关信息、量测数据等原始数据。但这四个私有数据库相互独立,难以获得它们的全局数据视图,故将四个数据库进行数据集成,形成一个全局虚拟数据库平台,而运行在四个数据库上的原有各应用仍然继续独立运行,其实时性丝毫不受影响。全局虚拟数据库对外提供一个全局数据视图的公共接口,为实时信息发布、全局网络安全分析等新应用提供全局数据,所有外部应用都通过它来访问全局数据。
4.2 全局虚拟数据库的组成及原理
全局虚拟数据库主要由各应用私有数据库的数据转换层和全局数据集成层以及相应的接口、ORB组成。它利用ORB透明传递调用请求和返回结果的通信机制,将各私有数据库紧密联为一体。
数据转换层实现两个功能:将子数据库中数据的模式定义转换为数据集成层的全局子模式;实现子数据库中数据和XML数据的双向映射转换。
数据集成层是关键,结构如图2所示,它包括:
(1)安全认证模块:负责对客户的身份和访问权限进行验证,对全局虚拟数据库的各子数据库实施各级安全访问控制和修改权限设置等安全策略。
(2)全局查询语法检查模块:检查全局查询XML-QL语法的合法性及所查询的数据是否存在。
基于corba/ xml的电力企业应用集成 :
(3)全局查询优化模块:首先到内部XML文档库中查询是否存在所需数据,有则直接将该XML文档返回给客户。否则,对全局查询进行优化并产生相应的结果XML文档模板。
(4)全局查询分解模块:负责将客户的全局查询分解为在各个子数据库上能够执行的子查询。
(5)全局事务管理模块:负责产生对各子数据库的查询请求,调用相应XML接口,执行各子查询,同时对调用进行超时控制。在该过程中如果有一个请求失败或超时,则向客户返回错误信息。只有所有调用请求成功,才将各个子查询结果传给数据合并模块,以保证全局查询事务的ACID特性(原子性、一致性、隔离性、永久性)。
(6)数据合并模块:利用全局查询优化模块产生的XML模板,对各子查询返回的XML数据进行合并,生成XML文档并返回给请求查询的客户。
(7)全局模式管理模块:负责提供并管理该虚拟数据库的全局模式及其相关信息。作为核心组成模块,全局查询语法检查模块依赖它进行语法检查;全局查询优化模块依靠它进行查询优化并产生结果XML文档模板;全局查询分解模块根据它进行子查询分解。全局模式由全局模式管理模块调用各私有数据库相应接口而获得的各个全局子模式进行模式合成而建立。模式合成要处理各子模式中元素同名不同义、同义不同名、同名不同结构等问题,这与各子数据库的具体模式紧密相关。
(8)内部XML文档库:存放固定和经常被查询的XML文件,以提高查询的效率和响应实时性。全局虚拟数据库的工作原理流程如图中箭头方向所示。另设有虚拟全局数据库系统管理员接口和操作界面,通过相应的管理程序就可以管理维护虚拟数据库,如模式管理模块中全局模式的创建和维护,以及用户安全权限的设置等。
XML的“树状”层次结构能描述各种有结构或不规则数据,可作为通用数据接口,对各种异构数据源进行集成。全局虚拟数据库可扩展,图中仅对EMS的四个私有数据库进行了集成,实际上同样可以根据需求集成其它的关系数据库、层次数据库、XML文档等异构数据源,提供全局数据视图。
5 结束语
电力企业向一体化发展是必然趋势,应用集成是企业发展的迫切需求。CORBA跨平台的传输能力和XML的灵活性已经过实践证明,两者的最佳组合将使企业集成系统具有更大的开放性。XML已成为 Internet交换数据的标准,许多数据库产品如Oracle、微软的SQLServer已经或将支持XML数据的直接存储,未来电子商务也将采用XML文档作为数据交换标准。数据的XML化就是数据的标准化,企业数据平台建立在XML上,就为将来与外部系统的互联互操作和电力市场支持系统的建立提供了良好的基础。目前CIM XML在电力应用系统集成的研究刚刚起步,仅限于为交换电网模型数据而基于CIM XML的数据整体导入导出,两者的结合将成为电力企业一体化研究的重要方向。
参考文献
[1] 刘锦德.对于开放系统内涵的澄清[J].计算机应用,1997,17(6):1-3.
[2] Becker D,Falk H,Gillerman J.Standards-Based Approach Integrates Utility Applications[J].IEEE Computer Applications in Power,2000,13(4):13-20
[3] Draft IEC 61970,Energy Management System Applica-tion Program Interface(EMS-API),1999 [S].
[4] Clermont S. Lessons learned:interfacing existing external systems to new EMS [J]. Power Industry Computer Applications, 1999. PICA '99. Proceedings of the 21st 1999 IEEE International Conference ,1999: 227 -231.
[5] Vaahedi E, Chang A Y, Mokhtari S.A future application environment for BC Hydro's EMS[J]. IEEE Transactions on Power Systems, 2001,16(1): 9-14.
[6] Huang Haifeng. Study of applying CORBA-based distributed object technology to next generation of power dispatching automation system[J].Power System Technology, 2002. Proceedings. PowerCon 2002. International Conference on , 2002: 621-624.
基于corba/ xml的电力企业应用集成 :
转载请注明来自:http://www.zazhifabiao.com/lunwen/dzxx/znkxjs/28263.html