摘 要:分析了在電力市場(chǎng)環(huán)境下,當(dāng)前SCADA系統(tǒng)信息集成的局限性,將基于XML Web service的面向服務(wù)架構(gòu)(SOA)技術(shù)引入其中,設(shè)計(jì)基于SOA的SCADA系統(tǒng)調(diào)度端平臺(tái)架構(gòu),實(shí)現(xiàn)分布式服務(wù)功能交互。
關(guān)鍵詞:SOA,SCADA系統(tǒng),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 引言
調(diào)度自動(dòng)化系統(tǒng)是運(yùn)用計(jì)算機(jī)、通信和控制技術(shù),對(duì)調(diào)度中心管轄的設(shè)備,進(jìn)行數(shù)據(jù)采集、監(jiān)視和控制,以實(shí)現(xiàn)自動(dòng)測(cè)量、自動(dòng)信號(hào)、自動(dòng)控制和自動(dòng)調(diào)節(jié)等功能。主要由數(shù)據(jù)采集及監(jiān)控、狀態(tài)估計(jì)、安全分析、潮流優(yōu)化和經(jīng)濟(jì)調(diào)度等模塊組成。隨著電網(wǎng)技術(shù)和計(jì)算機(jī)技術(shù)的發(fā)展,在調(diào)度自動(dòng)化系統(tǒng)中需要集成來自不同廠商的硬件設(shè)備、操作系統(tǒng)、數(shù)據(jù)庫(kù)平臺(tái)和網(wǎng)絡(luò)協(xié)議等,由此帶來的異構(gòu)性給應(yīng)用軟件的互操作性、兼容性以及升級(jí)能力造成了嚴(yán)重問題。形成大量分散異構(gòu)的“信息孤島”,針對(duì)此現(xiàn)象,本文提出一種基于SOA的分布式架構(gòu)在調(diào)度自動(dòng)化系統(tǒng)中的應(yīng)用設(shè)想。
1 當(dāng)前SCADA系統(tǒng)介紹及其局限性
從集中式,經(jīng)開放式向分布式發(fā)展的過程。到目前為止,電網(wǎng)能量管理系統(tǒng)的調(diào)度系統(tǒng)的發(fā)展已經(jīng)歷經(jīng)三代,這三代系統(tǒng)的結(jié)構(gòu)可以歸納為主機(jī)終端結(jié)構(gòu)、客戶一服務(wù)器結(jié)構(gòu)(即C/S結(jié)構(gòu))和功能分布式結(jié)構(gòu)3種,如圖1-a,圖1-b和圖1-c所示 。
[align=center]
[/align]
目前廣泛使用的是C/S結(jié)構(gòu)。傳統(tǒng)的C/S結(jié)構(gòu)是對(duì)以前單機(jī)系統(tǒng)得擴(kuò)展,解決了執(zhí)行效率和多用戶同時(shí)使用的問題,這種模式盡管有以下優(yōu)點(diǎn):可通過網(wǎng)絡(luò)環(huán)境發(fā)布信息、分布數(shù)據(jù);特性良好的人機(jī)界面;使用分布式管理,均衡了負(fù)載;性價(jià)比高等,但經(jīng)過一段時(shí)間的使用和推廣后,一些缺點(diǎn)也逐漸顯露,如不同應(yīng)用使用不同客戶端軟件,維護(hù)工作量大,每一次的升級(jí)都意味著要全部更新所有客戶端,大部分應(yīng)用依賴特定系統(tǒng)開發(fā)平臺(tái),可移植性,可擴(kuò)展性差導(dǎo)致靈活度不夠,無法滿足應(yīng)用軟件規(guī)模的擴(kuò)大和各種軟件集成的迫切要求,也不能適應(yīng)復(fù)雜多變的軟、硬件環(huán)境。為了解決這些問題,對(duì)原有系統(tǒng)結(jié)構(gòu)進(jìn)行改進(jìn),出現(xiàn)了分布式多層應(yīng)用程序架構(gòu),這種架構(gòu)最大優(yōu)點(diǎn)就是將用戶表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)層剝離,每層獨(dú)立,表示層負(fù)責(zé)用戶界面和外部接口邏輯,業(yè)務(wù)層負(fù)責(zé)核心的商業(yè)規(guī)則和業(yè)務(wù)邏輯,數(shù)據(jù)層負(fù)責(zé)讀取和更新存儲(chǔ)器中的數(shù)據(jù),即通常所謂的三層架構(gòu)。
調(diào)度自動(dòng)化系統(tǒng)不僅要能夠完成監(jiān)控要求,還要和其他應(yīng)用子系統(tǒng)如安全分析子系統(tǒng),優(yōu)化和經(jīng)濟(jì)調(diào)度子系統(tǒng)進(jìn)行互連和互操作。對(duì)于這一點(diǎn),傳統(tǒng)的C/S模型是無能為力的。而分布式對(duì)象模型可以提供分布式異構(gòu)環(huán)境下應(yīng)用系統(tǒng)互連和互操作的標(biāo)準(zhǔn),使得系統(tǒng)在具有很好的開放性的同時(shí),也提供了很好的可擴(kuò)展性,便于新的應(yīng)用模塊的擴(kuò)展。
2 SOA與Web service技術(shù)概述
SOA(Service-Oriented Architecture),如圖2所示。它是一種體系架構(gòu),它將應(yīng)用程序的功能單元稱為服務(wù),這些服務(wù)之間通過定義良好的接口和契約聯(lián)系起來。接口采用中立的方式進(jìn)行定義,獨(dú)立于實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語(yǔ)言。服務(wù)映射到業(yè)務(wù)功能,實(shí)現(xiàn)服務(wù)的組件通常映射到業(yè)務(wù)實(shí)體和操作它們的業(yè)務(wù)規(guī)則。實(shí)現(xiàn)服務(wù)的軟件實(shí)體通常是粗粒度的,松散藕合的,基于消息通信模型的。
Web Service為分布式系統(tǒng)提供了支持,其平臺(tái)和語(yǔ)言中立性使得跨平臺(tái)的互操作,系統(tǒng)地整合更加容易,其技術(shù)的成熟化使得SOA架構(gòu)思想得到很好的應(yīng)用。從目前研究應(yīng)用的幾大軟件廠商共同協(xié)商的標(biāo)準(zhǔn)來看,Web Service技術(shù)無疑是最方便的。Web Service的關(guān)鍵技術(shù)如下。
[align=center]
圖2 SOA架構(gòu)[/align]
2.1 SOAP
簡(jiǎn)單對(duì)象訪問協(xié)議SOAP(Simple Object Access Protocol)執(zhí)行和調(diào)用服務(wù)間的通信。當(dāng)Web service建好以后,需要調(diào)用它時(shí),SOAP提供了標(biāo)準(zhǔn)的RPC方法調(diào)用Web service。SOAP規(guī)范定義了SOAP消息的格式,以及怎樣通過HTTP協(xié)議來使用SOAP,它是基于XML的,繼承了XML的開放性和可擴(kuò)展性,可解決多個(gè)應(yīng)用之間的一致性問題。
2.2XML
XML是web serivces的核心基礎(chǔ)技術(shù),是SOAP實(shí)現(xiàn)的關(guān)鍵所在,是Web服務(wù)平臺(tái)中表示數(shù)據(jù)的基本格式,是Web服務(wù)通信協(xié)議的數(shù)據(jù)編碼方式。主要優(yōu)點(diǎn)與平臺(tái)無關(guān)。XML解決了數(shù)據(jù)表示的問題,但它沒有定義一套標(biāo)準(zhǔn)的數(shù)據(jù)類型,更沒有說怎么去擴(kuò)展這套數(shù)據(jù)類型。W3C制定的XML Schema(XSD)就是專門解決這個(gè)問題的一套標(biāo)準(zhǔn)。它定義了一套標(biāo)準(zhǔn)的數(shù)據(jù)類型,并給出了一種語(yǔ)言來擴(kuò)展這套數(shù)據(jù)類型。
2.3 WSDL
WSDL(Web Service Description Language)Web服務(wù)器描述語(yǔ)言是用XML文檔來描述Web服務(wù)的標(biāo)準(zhǔn),是Web服務(wù)的接口定義語(yǔ)言,由Ariba、Intel、IBM、MS等共同提出,通過WSDL,可描述Web服務(wù)的三個(gè)基本屬性:
·服務(wù)做些什么——服務(wù)所提供的操作(方法)
·如何訪問服務(wù)——和服務(wù)交互的數(shù)據(jù)格式以及必要協(xié)議
·服務(wù)位于何處——協(xié)議相關(guān)的地址,如URL
WSDL使得描述服務(wù)成為可能,同時(shí)也讓客戶能夠以標(biāo)準(zhǔn)的方式對(duì)這些服務(wù)進(jìn)行調(diào)用,而不需要知道更多的底層協(xié)議,如SOAP和HTTP等。
2.4 UDDI
UDDI(Universal Description , Definition, and Integration,統(tǒng)一描述、定義和集成)用來發(fā)布、查找服務(wù)。用戶可以在上將其服務(wù)進(jìn)行注冊(cè),以便其它用戶訪問。目錄入口是一個(gè)描述了服務(wù)及其如何提供服務(wù)的禮文件。目錄也包含了一些搜尋用戶需要的服務(wù)方法,并提供信息、聯(lián)系方式和鏈接的技術(shù)數(shù)據(jù),以滿足需要的服務(wù)。同時(shí),通過提供的標(biāo)準(zhǔn)接口,用戶可以發(fā)布自己的服務(wù)供其他實(shí)體調(diào)用,也可以查詢特定服務(wù)的描述信息,并動(dòng)態(tài)地綁定到該服務(wù)上。
3 基于SOA的調(diào)度系統(tǒng)總體架構(gòu)設(shè)計(jì)
第一層是電力信息系統(tǒng)層,根據(jù)服務(wù)契約從每個(gè)現(xiàn)有的信息系統(tǒng)(EIS)中分離出實(shí)現(xiàn)一定業(yè)務(wù)功能的基本服務(wù)。在信息系統(tǒng)層,將企業(yè)現(xiàn)有的EIS封裝成一個(gè)或多個(gè)Web基本服務(wù),對(duì)外提供統(tǒng)一的接口(如一個(gè)或多個(gè)WSDL)。將它們?cè)瓉硪愿鞣NAPI形式暴露的接口用WSDL重新描述,然后使用HTTP +SOAP的消息傳輸方式作為與外界交互的橋梁。在SCADA調(diào)度系統(tǒng)中可以劃分的系統(tǒng)功能有:報(bào)文處理,數(shù)據(jù)采集,數(shù)據(jù)維護(hù),子站和監(jiān)視等。第二層是傳輸層,采用企業(yè)服務(wù)總線(ESB)作為傳輸連接服務(wù)的“橋梁”。ESB所提供的基于標(biāo)準(zhǔn)的連接服務(wù),可將應(yīng)用中實(shí)現(xiàn)的功能或者數(shù)據(jù)資源轉(zhuǎn)化為服務(wù)請(qǐng)求者能以標(biāo)準(zhǔn)的方式來訪問的服務(wù)。服務(wù)提供者首先把提供的Web服務(wù)發(fā)布到企業(yè)私有的UDDI,同時(shí)在ESB上配置一些基礎(chǔ)的元數(shù)據(jù),如Web服務(wù)容器類型、調(diào)用方式(動(dòng)態(tài)/靜態(tài))等,當(dāng)有一個(gè)請(qǐng)求Web服務(wù)時(shí),ESB把該Web服務(wù)作為一個(gè)功能提供給要使用的系統(tǒng),每個(gè)功能通過唯一的標(biāo)識(shí)號(hào)標(biāo)識(shí),則系統(tǒng)只需要向ESB發(fā)送該Web服務(wù)的數(shù)據(jù)接口標(biāo)準(zhǔn)的SOAP消息,ESB就會(huì)自動(dòng)的執(zhí)行該Web服務(wù),并把處理結(jié)果發(fā)送給服務(wù)請(qǐng)求系統(tǒng)。第三層是服務(wù)層,原企業(yè)應(yīng)用系統(tǒng)提供的通常是細(xì)粒度的API接口,經(jīng)過Web封裝是將API用基于XML的WSDL重新描述,此基本服務(wù)依然是細(xì)粒度的,而SOA思想中要求服務(wù)單元是粗粒度的,在服務(wù)層重新組合基本服務(wù),使服務(wù)具有一定粗粒度。SCADA系統(tǒng)基礎(chǔ)服務(wù)網(wǎng)管服務(wù)、安全服務(wù)、數(shù)據(jù)服務(wù)。第4層是業(yè)務(wù)層。在這一層中利用已經(jīng)封裝好的各種服務(wù)來構(gòu)建電力系統(tǒng)中的具體的業(yè)務(wù)流程。第五層是表示層,這是暴露給客戶或合作伙伴使用的服務(wù)接口,以Web服務(wù)的形式提供。
[align=center]
圖3 SOA架構(gòu)的SCADA調(diào)度系統(tǒng)結(jié)構(gòu)圖[/align]
4 結(jié)論
本文拋磚引玉地介紹了面向服務(wù)的體系結(jié)構(gòu)(SOA)在SCADA的應(yīng)用, 采用基于XML的Web Service技術(shù)為異構(gòu)系統(tǒng)之間實(shí)現(xiàn)無縫的連接和集成,在系統(tǒng)內(nèi)部使用傳統(tǒng)的緊耦合系統(tǒng)架構(gòu)而在系統(tǒng)之間采用松耦合的系統(tǒng)架構(gòu),這樣既可以保持同構(gòu)系統(tǒng)內(nèi)部的體系獨(dú)立完整,又能實(shí)現(xiàn)異構(gòu)系統(tǒng)互相通信集成而構(gòu)成整體,實(shí)現(xiàn)電力信息的共享和整合,促進(jìn)電力系統(tǒng)信息集成的應(yīng)用與管理水平的提升
參考文獻(xiàn)
1 楊樸,游大海等.SCADA系統(tǒng)的XML Web服務(wù)實(shí)現(xiàn).電力系統(tǒng)及其自動(dòng)化學(xué)報(bào).2003年8月第15卷第4期
2 麻麗娜,苑津莎等.基于Web services的電力企業(yè)應(yīng)用集成技術(shù)研究與實(shí)現(xiàn).電力系統(tǒng)通信.2005,(11).
3 桂友武,黃煙波.用SOA與Web services進(jìn)行企業(yè)集成的框架設(shè)計(jì).信息技術(shù).2007,(10)
4 許衛(wèi)兵,孫佐,陳繼軍.面向服務(wù)架構(gòu)(SOA)的電力系統(tǒng)信息集成研究.中國(guó)儀器儀表.2007,(6)
5 董文煒.基于SOA的分布式Web應(yīng)用系統(tǒng)的研究.西北工業(yè)大學(xué)碩士論文.2007
6 吳家菊,劉剛等.基于Web服務(wù)的面向服務(wù)(SOA)架構(gòu)研究.現(xiàn)代電子技術(shù).2005,(14)
7 宋朝青.利用分布式組件對(duì)象模型構(gòu)建SCADA系統(tǒng)網(wǎng)絡(luò)模型.電力系統(tǒng)自動(dòng)化.2000,(9)
8 凌曉東.SOA綜述.計(jì)算機(jī)應(yīng)用與軟件.2007,(10)