劉國華 西北電力設計院
[摘 要]隨著電力系統的發展和自動化水平的提高,用戶往往要運行多套系統,每套系統中要運行多個應用,這些應用和系統常常是分步實施的,必然存在系統的更新升級,帶來軟件穩定性、重復建設等問題。為此,介紹了中間件技術的概念、中間件的分類和中間件技術在電網調度自動化系統中的應用。
[關鍵詞] 中間件技術 電網調度自動化系統
隨著電力系統的發展和自動化水平的提高,用戶往往要運行多套系統,每套系統中要運行多個應用,這些應用和系統常常是分步實施的,必然存在系統的更新升級。傳統的應用系統升級存在以下問題:(1)當用戶對老的系統更新換代時,由于運行平臺不兼容,用戶原來的一些運行穩定可靠的軟件不能再運行,用戶長期積累的數據資料和二次開發的工作不能再保留;(2)當用戶對系統中的某一部分的功能進行擴展時,如果用第三方軟件,由于接口專用,要重復建設一些軟件,如一些用戶運行有多家應用軟件,浪費了用戶的資金和時間;(3)當用戶進行后期功能的招標時,由于第三方軟件的接口問題,往往使用戶選擇原來系統的廠家,不能選擇最好的應用軟件。因此,應用中間件技術對用戶的意義是深遠的。
一 什么是中間件
計算機技術迅速發展。從硬件技術看,CPU速度越來越高,處理能力越來越強;從軟件技術看,應用程序的規模不斷擴大,特別是Internet及WWW的出現,使計算機的應用范圍更為廣闊,許多應用程序需在網絡環境的異構平臺上運行。這一切都對新一代的軟件開發提出了新的需求。在這種分布異構環境中,通常存在多種硬件系統平臺(如PC,工作站,小型機等),在這些硬件平臺上又存在各種各樣的系統軟件(如不同的操作系統、數據庫、語言編譯器等),以及多種風格各異的用戶界面,這些硬件系統平臺還可能采用不同的網絡協議和網絡體系結構連接。如何把這些系統集成起來并開發新的應用是一個非,F實而困難的問題。
為解決分布異構問題,人們提出了中間件(middleware)的概念。中間件是位于平臺(硬件和操作系統)和應用之間的通用服務,如圖1所示,這些服務具有標準的程序接口和協議。針對不同的操作系統和硬件平臺,它們可以有符合接口和協議規范的多種實現。

圖1 中間件
中間件應具有如下的一些特點:
滿足大量應用的需要;運行于多種硬件和OS平臺;支持分布計算,提供跨網絡、硬件和OS平臺的透明性的應用或服務的交互
支持標準的協議;支持標準的接口 ;由于標準接口對于可移植性和標準協議對于互操作性的重要性,中間件已成為許多標準化工作的主要部分。對于應用軟件開發,中間件遠比操作系統和網絡服務更為重要,中間件提供的程序接口定義了一個相對穩定的高層應用環境,不管底層的計算機硬件和系統軟件怎樣更新換代,只要將中間件升級更新,并保持中間件對外的接口定義不變,應用軟件幾乎不需任何修改,從而保護了企業在應用軟件開發和維護中的重大投資。
二 中間件的類型
目前中間件技術的應用非常廣泛。在不同的應用領域,中間件所提供的功能不盡相同。
目前流行的中間件有以下幾種:
1、面向消息的中間件
消息中間件是一種基于消息傳遞的通信軟件,基于TCP/IP或其他網絡協議,在一個分布式網絡環境中,提供各種端到端的數據通信服務。 包括實時數據傳輸(同步、異步)、可靠隊列、事件服務、消息生命周期等各種功能。適應各種網絡結構和通信媒介。
消息中間件適用于需要進行數據交換的各種網絡應用系統當中。
2、交易管理中間件
交易管理中間件是一個分布式應用系統開發、部署和管理的支撐平臺,在一個分布式聯機事務處理系統中,對業務處理流程、系統資源、應用程序進行有效的管理,從而保證數據一致性,提高系統效率和可靠性,使應用系統便以擴展,并縮短開發周期。
交易管理中間件是開發三層結構應用系統的基礎支撐平臺。適用于各種并發處理大量業務系統中。
3、對象中間件
對象中間件是一種基于面向對象技術實現的中間件,同時支持各種分布式對象的應用開發。主要用于解決面向對象、性能、數據一致性、應用集成等關鍵任務需求。對象中間件將面向對象技術與分布式計算結合起來,用戶可以方便地在復雜的分布式環境中建立自己的面向對象應用。
對象中間件適合應用在各種分布式對象處理系統中。
4、應用服務器(web 中間件)
應用服務器是為了滿足目前日益增長的Internet應用的需要。Internet應用,尤其是以Internet為基礎的電子商務應用,要求實現信息的采集、管理、發布、交換、處理等。傳統的Internet技術不能很好的滿足要求,需要一個支撐平臺完成對Internet應用的開發、管理和部署。
三 中間件在電網調度自動化系統(SCADA/EMS/DMS)中的應用
許多新的SCADA系統采用基于網絡的分層結構實現,并獨立出來數據采集系統和數據處理系統,系統將在一個廣域網環境中實現對電網調度的集中安全監控和管理,因此如果SCADA系統能夠基于中間件實現成三層結構的應用模式,將會在系統的開發周期,效率、安全、可靠性、擴展性方面得到很大的提高。并會對以此為基礎的EMS和DMS系統提供更好的支撐。
SCADA系統數據類型一般都有以下幾種:實時數據、歷史數據、日志和報警、事故追憶、裝置報告等事件記錄。網絡上的遠程數據服務常有3種模式:“同步請求—應答”模式、“數據訂閱”模式、“事件變化通知”模式。在數據的服務過程中, HMI(Human Machine Interface)始終是服務的接收方(客戶),服務任務始終是服務的提供方,中間件負責屏蔽數據的多重來源。對于上層顯示而言,不用關心面對的是哪個服務任務以及任務運行在何處。
中間件在一臺計算機上只存在一個,但可以為一個或者多個HMI應用任務提供數據服務功能,如圖2所示。

對應于SCADA系統提供的三種數據訪問模式,中間件在組成上由多個COM組件構成,相應的包容器包括:實時數據遠程服務組件、歷史數據遠程服務組件、事件信息遠程服務組件。包容器除了支持基于DCOM的組件外,還包含SOCKET網絡連接等其它功能,以便于和采集站進行數據通訊。中間件只向上層應用任務公開訪問接口。包容器之間相互完全獨立,只是在歷史數據服務組件和事件信息服務組件中將調用實時數據服務組件提供的某些功能,但調用方式與上層應用任務完全相同。
總的來說,中間件的實現增強了SCADA系統的開放性和可配置性,具有以下特點:
1) 技術成熟性:數據訪問中間件的實現采用比較成熟的軟件組件技術(DCOM),不僅實現了整個系統配置的靈活性,同時,也由于技術的成熟性而一定保證了整個系統的穩定性能。
2) 系統擴展性:中間件的實現給系統帶來的靈活的配置性,保證了整個系統的柔韌性和靈活性,也給系統后期良好的擴展性帶來了可能。
3) HMI應用的實現:中間件的實現屏蔽了網絡細節和數據來源,使得上層HMI應用可以只專注于數據的處理,給上層HMI任務的實現帶來了很大的方便。
四 結束語
綜上所述,中間件技術的日趨完善,為電網調度自動化系統軟件的體系結構注入了新鮮的活力,改變了傳統的客戶/服務器的兩層應用模式,簡化了應用程序的開發復雜性,提高了軟件可重用性、可移植性,節約了投資,將對分布式SCADA系統應用系統的開發、管理和部署帶來巨大好處,在不久的將來,中間件將會成為象操作系統和數據庫一樣,成為開發各種電網調度自動化系統的必選基礎軟件。
參考文獻:
[1] 何克忠,李偉,《計算機控制系統》,清華大學出版社
[2] 潘愛民,《COM原理與應用》,清華大學出版社