摘要:
隨著電力體制的深入改革,在宏觀上怎樣去引導電力信息化的發(fā)展,有大量的工作要做:代碼的標準化、管理的規(guī)范化、信息化安全等。
從省公司、集團公司到國家電網(wǎng)公司,要做到"開發(fā)及推廣應用的統(tǒng)一"極其困難,甚至是不可能的,而信息的互通又是必須要做的工作。在業(yè)務系統(tǒng)中,上下之間的信息要互通;在專業(yè)系統(tǒng)之間、企業(yè)與企業(yè)之間的信息也要互通。要實現(xiàn)互通,我們一直強調(diào)代碼統(tǒng)一、數(shù)據(jù)庫統(tǒng)一、應用統(tǒng)一。確實有的專業(yè)系統(tǒng)為此經(jīng)過多年的努力,做了大量工作,取得了很好的成效,然而從宏觀上看,卻有大量的問題存在。如果我們一直在代碼、數(shù)據(jù)庫、應用的統(tǒng)一上去做大量的工作,可能成效甚少,在這里我們能不能換一種思維呢?
一、問題的提出
原國家電力公司在2001年信息工作會議上提出信息化建設(shè)"四統(tǒng)一"的原則,即統(tǒng)一領(lǐng)導、統(tǒng)一規(guī)劃、統(tǒng)一標準和統(tǒng)一組織開發(fā)。
統(tǒng)一組織開發(fā),主要是指應用軟件平臺。首先,公司統(tǒng)一組織研究制定整體框架,各種主要業(yè)務管理功能,各種業(yè)務的縱向流程、哪一級需要哪些數(shù)據(jù),哪一級保留哪些數(shù)據(jù),使用哪些數(shù)據(jù)。再研究各種業(yè)務之間橫向交換的數(shù)據(jù)流程,主要交換哪些數(shù)據(jù),在哪一級交換哪些數(shù)據(jù)。這里講的數(shù)據(jù)是一種廣義的內(nèi)容,至少包括生產(chǎn)、統(tǒng)計、資金、計劃等方面的數(shù)據(jù)、文件、資料等。這些數(shù)據(jù)之間的接口、數(shù)據(jù)格式、數(shù)據(jù)流向都應重點研究,制定統(tǒng)一的編碼、交換標準。據(jù)此開發(fā)涵蓋以上這些業(yè)務,建立在統(tǒng)一操作系統(tǒng)平臺、統(tǒng)一數(shù)據(jù)庫之上的、可縱橫向運行的集成應用軟件平臺,利用這個平臺在省公司構(gòu)建統(tǒng)一的應用環(huán)境。
在國家電網(wǎng)公司系統(tǒng)范圍內(nèi),如何實現(xiàn)統(tǒng)一組織開發(fā)?從縱向看:就是各個應用子系統(tǒng)的統(tǒng)一,從上至下共用一套數(shù)據(jù)信息,充分體現(xiàn)應用子系統(tǒng)內(nèi)部的數(shù)據(jù)共享;從橫向看:各個應用子系統(tǒng)之間也存在著數(shù)據(jù)共享的問題。能綜合處理好這2方面統(tǒng)一的問題在國外大型企業(yè)中也不多見。因此我們必須從實際出發(fā),針對電力系統(tǒng)應用需求的特點,制定出符合電力系統(tǒng)自身的有特色的統(tǒng)一的軟件平臺方案。
我們從縱向和橫向2個方面認真分析了國家電網(wǎng)公司系統(tǒng)范圍內(nèi)的多個應用子系統(tǒng)的主要功能及使用情況。從縱向看:各個地方的信息化建設(shè)水平參差不齊。在很多業(yè)務上國家電網(wǎng)公司下發(fā)了應用軟件,如:計量、安監(jiān)、財務等,這些應用程序在一定程度上從縱向統(tǒng)一了一些信息的內(nèi)容格式,但是國家電網(wǎng)公司這些直線向下的應用程序基本上是要求基層單位上報數(shù)據(jù)(即報表)而開發(fā)使用的。它的本質(zhì)是數(shù)據(jù)的交換,并不涉及應用真正意義上的業(yè)務,是單獨的一塊。數(shù)據(jù)需要錄入,與基層的一些業(yè)務管理程序之間有重復錄入數(shù)據(jù)的矛盾,資源共享體現(xiàn)不夠。從橫向看:在各個應用子系統(tǒng)之間的數(shù)據(jù)交換都是通過編寫特定的接口程序?qū)崿F(xiàn)的,這些接口程序相互獨立、功能單一,根本無法建立統(tǒng)一的接口標準,同時建立各個應用子系統(tǒng)之間的數(shù)據(jù)共享缺少統(tǒng)一的基礎(chǔ):首先數(shù)據(jù)代碼不統(tǒng)一,在生產(chǎn)子系統(tǒng)與計劃子系統(tǒng)中的單位代碼就不*統(tǒng)一;其次相關(guān)數(shù)據(jù)的定義不統(tǒng)一,如有些宇段在生產(chǎn)子系統(tǒng)中定義為DATA型,而在其他子系統(tǒng)中卻定義為TIMESTAMP型;還有中間件不統(tǒng)一,有些子系統(tǒng)使用*的3層結(jié)構(gòu),但是這3層結(jié)構(gòu)的應用服務平臺不一致,有的用WebLogic系列而有的用WebSphere系列等。而為了處理好這2方面的問題,建設(shè)統(tǒng)一的平臺又相當困難,甚至是不可能的。
國家電網(wǎng)公司在"十五"信息化發(fā)展目標中提出:將按照現(xiàn)代企業(yè)管理系統(tǒng)的理念開展信息標準化工作,制訂統(tǒng)一的信息標準規(guī)范,統(tǒng)一編碼規(guī)范,統(tǒng)一數(shù)據(jù)格式,統(tǒng)一的數(shù)據(jù)存儲、交換、管理方式;統(tǒng)一編制和發(fā)布信息化建設(shè)標準、技術(shù)標準和指導性原則,規(guī)范電力信息化工作。經(jīng)過分析我們認為實現(xiàn)"統(tǒng)一組織開發(fā)"就是要統(tǒng)一信息交換(數(shù)據(jù)交換),制定出統(tǒng)一的交換標準。因此,如何在國家電網(wǎng)公司系統(tǒng)范圍內(nèi)建立起統(tǒng)一的信息交換己經(jīng)成為當務之急。
隨著現(xiàn)代科技的日新月異,IT技術(shù)的不斷更新、層出不窮,以及互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,不斷地給我們啟示,其中zui振奮人心的是XML技術(shù)的出現(xiàn),它的出現(xiàn)為我們的統(tǒng)一信息交換提供了新思路和技術(shù)上的保障。
二、XML技術(shù)的介紹
XML(ExtensibleMarkupLan-guage可擴展的標記語言)是從SGML繼承而來的,XML是SGML的一個子集。XML是一種界定文本數(shù)據(jù)的簡便而標準的方法。XML的標記用來說明你所描述的概念,而屬性則用來控制它們的結(jié)構(gòu)。XML的標記(元素)和屬性都可以由用戶自己來定義,可以被定義地非常簡單直觀,可以使用中文來定義您想要的標記與屬性,讓其他人一看就明白是什么意思。XML的數(shù)據(jù)描述機制意味著它將成為互聯(lián)網(wǎng)上共享信息的強大途徑,因為XML是開放的,它可以在不同的用戶和程序之間交換數(shù)據(jù),而不論其平臺如何;XML的自描述特性使其對于B2B和企業(yè)內(nèi)部網(wǎng)解決方案來說是一種有效的選擇;無需事先協(xié)調(diào)(容易讀懂),我們就可以在程序之間共享數(shù)據(jù)。
在使用XML技術(shù)的時候,DTD(DocumentTypeDefinition)文本類型定義是一個*的部分。DTD是一個簡單的文本文件,它可以是一個獨立的文件,也可以內(nèi)嵌在XML文件中。在DTD中可以定義XML的元素用來描述一些實體,定義一些屬性來描述實體的一些具體特點。DTD文件是可以用來對XML文件進行語法檢查的,同時根據(jù)DTD文件可以構(gòu)造相關(guān)的XML文件。目前在IT業(yè)界,XML的應用非常廣泛,如VoiceXML:它為語音技術(shù)定義了一整套完整的描述規(guī)范,而VoiceXML本身就是一個DTD文件。類似的還有WML(無線標記語言)、CML(化學標記語言)等。
我們在使用XML的時候會碰到顯示的問題,例如將XML文件輸出到測覽器中。如何使XML文件在瀏覽器中的顯示優(yōu)美直觀?我們首先的反應就是用HTML語言來把XML文件中的內(nèi)容描述出來,也就是要實現(xiàn)XML與HTML之間的翻譯。為此在XML的家族中出現(xiàn)了XSL(ExtensibleStylesheetLanguage)可擴展樣式語言。使用XSL可以方便地實現(xiàn):從一種XML術(shù)語轉(zhuǎn)換成另一種,就象翻譯一樣;對XML文檔進行重組、過濾、部分排序;向另一種解釋語言轉(zhuǎn)換。
在一篇討論影響未來生活的技術(shù)的文章中,XML技術(shù)位列第二。可見XML是一項具有巨大生命力的、有廣泛而深遠影響的技術(shù)。在目前的互聯(lián)網(wǎng)上,XML的技術(shù)應用已經(jīng)相當廣泛,尤其是在網(wǎng)上的商店、圖書館等地方。例如:有人想在網(wǎng)上商店中購買一雙鞋,首先他要登陸該,然后選擇想要的鞋的款式,zui后根據(jù)鞋的尺碼、顏色等信息查詢有沒有想要的鞋。在這個的業(yè)務處理中可以充分使用XML技術(shù),使數(shù)據(jù)得到充分的共享,如圖1。
客戶通過瀏覽器發(fā)出請求,在WEBServer上的服務程序接受到請求后把它處理成XML的表單,發(fā)送到DBServerl進行查詢,若查到則結(jié)束查詢,將結(jié)果以XML的形式返回給WEBServer的服務程序,經(jīng)過處理(可直接通過XSL進行轉(zhuǎn)換變成較為美觀的HTML文件)后再返回給客戶,若查不到則到DBServer2上進行查詢,……直到搜索完所有數(shù)據(jù)服務器(這里的數(shù)據(jù)服務器是在不同地方的)。這里采用XML技術(shù)的好處是,中間層開發(fā)不必考慮后臺數(shù)據(jù)庫的平臺,對于返回的XML形式的數(shù)據(jù)由于格式統(tǒng)一因此處理方便,便于移植;對于分布在不同地域的數(shù)據(jù)庫服務器端,則不必考慮發(fā)請求方的技術(shù)細節(jié)和zui終返回數(shù)據(jù)的形式,僅僅需要知道事先約定好的XML的格式或是一個約定好的DTD文檔,使應用相對獨立便于使用不同的開發(fā)工具進行開發(fā)完戊。
三、規(guī)范化的數(shù)據(jù)交換
正是由于上述XML技術(shù)的特點,我們認為國家電網(wǎng)公司實現(xiàn)統(tǒng)一信息交換的*方式是:通過使用XML技術(shù),規(guī)范交換信息數(shù)據(jù)的格式,同時制定出相應的一些標準。那如何把XML技術(shù)使用到信息交換中去呢?由于國家電網(wǎng)公司系統(tǒng)范圍內(nèi)各地區(qū)的信息化建設(shè)很不平衡、參差不齊,因此針對各種情況我們設(shè)計以下幾套方案。
3.1同步方式
實現(xiàn)數(shù)據(jù)在網(wǎng)絡(luò)中的同步傳輸。這種方式主要用于在國家電網(wǎng)公司范圍內(nèi),網(wǎng)絡(luò)質(zhì)量較高的環(huán)境下,可以隨時恨據(jù)XML形式的數(shù)據(jù)請求,得到XML形式的數(shù)據(jù)響應,以完成相應的操作,如圖2。
對于單個數(shù)據(jù)信息的查詢:在定義好相關(guān)的數(shù)據(jù)格式即DTD文檔后,我們只需將查詢條件形成符合數(shù)據(jù)交換標準的XML流,發(fā)送到相應的基層服務器上,由基層服務器上的服務程序處理這個XML流,然后進行查詢,并將獲得的結(jié)果生成符合數(shù)據(jù)交換標準的XML流,發(fā)送到請求端,zui后由請求的程序處理這個返回的XML流,并結(jié)合XSL文件將zui終的結(jié)果返回給用戶。
對于匯總信息的查詢:根據(jù)定義好的相關(guān)數(shù)據(jù)格式即DTD文檔,我們將請求發(fā)送到中間服務器上,由中間服務器上的服務接收并處理成XML流,對若干個基層公司的數(shù)據(jù)進行輪詢,而基層公司的相應處理程序?qū)⒉樵兘Y(jié)果以約定好的XML格式返回XML流,中間服務器上的服務對接收到的XML流進行合并形成一個完整的XML流,發(fā)送給特定的處理程序,zui終得到匯總信息。
對于整個國電系統(tǒng)內(nèi)部同層次之間的相互溝通(跨專業(yè)的數(shù)據(jù)共享):對需要共享的數(shù)據(jù)進行分析,制定共享的格式即DTD文檔,在子系統(tǒng)A使用子系統(tǒng)B的數(shù)據(jù)時,B事先定義好對象及相關(guān)的方法和屬性,A只需調(diào)用B的相關(guān)對象方法和屬性,就能得到包含數(shù)據(jù)的XML流,A對得到的XML數(shù)據(jù)流進行解析就得到了數(shù)據(jù)。
對于2個同級單位之間的數(shù)據(jù)交換:在定義好數(shù)據(jù)交換的標準即DTD文檔后,各單位只要對相關(guān)的數(shù)據(jù)設(shè)定好不同的共享級別,就可以保護本單位的私有信息,在單位A訪問單位B的數(shù)據(jù)時,B的相關(guān)處理程序返回給A一個XML的文檔,在這個XML的文檔中,一些私有數(shù)據(jù)會根據(jù)A的訪問級別確定是否標記為空,這樣可以方便地保護自己的數(shù)據(jù)。
3.2異步方式
實現(xiàn)數(shù)據(jù)在網(wǎng)絡(luò)中的異步傳輸。這種方式主要用于在國家電網(wǎng)公司范圍內(nèi),網(wǎng)絡(luò)質(zhì)量較差的環(huán)境下,可以事先將需要共享的數(shù)據(jù)以XML形式,通過SMTP、SOAP、FTP等方式上傳到的服務器上,需要這些數(shù)據(jù)的地方通過相應的處理程序直接到本地的服務器上去讀取XML文檔,處理后顯示結(jié)果,從而達到異步獲得數(shù)據(jù)。與同步方式相比數(shù)據(jù)不是以流的形式傳遞而是以文件的方式傳遞。對于單個數(shù)據(jù)信息的查詢、匯總信息的查詢、整個國電系統(tǒng)內(nèi)部同層次之間的相互溝通(跨專業(yè)的數(shù)據(jù)共享)、2個同級單位之間的數(shù)據(jù)交換這四種形式,與同步方式相比不需要遠程訪問,只要本地處理就可以了。
在上述2種數(shù)據(jù)傳送方式中,XML數(shù)據(jù)都可以用各種加密方式進行加密并傳輸,這也正是XML技術(shù)安全可靠的體現(xiàn)。
綜上所述,建立基于XML技術(shù)的數(shù)據(jù)交換體系和制定基于XML技術(shù)的數(shù)據(jù)交換標惟,對今后國家電網(wǎng)系統(tǒng)范圍內(nèi)的信息化建設(shè)走上一個新臺階將起到不可估量的作用。在使用統(tǒng)一的數(shù)據(jù)交換標準后,作為國家電網(wǎng)系統(tǒng)的領(lǐng)導管理機構(gòu),國家電網(wǎng)公司在今后的各種信息共享和獲取基層各種信息時,不必再考慮基層單位的信息平臺、生產(chǎn)廠商及數(shù)據(jù)庫等問題,擺脫了大量無標準可施的困境;同時擺脫了無處下手的局面,它為我們提供了一個非常好的切入點,并且具有很強的可操作性。由于XML技術(shù)具有令人振奮的優(yōu)點,使數(shù)據(jù)的交換實現(xiàn)實時統(tǒng)一并且安全保密。同時在使用XML技術(shù)的基礎(chǔ)上,代碼體系的實施就變得可用可不用。
四、建議
在國家電網(wǎng)公司系統(tǒng)范圍內(nèi),實施基于XML技術(shù)的統(tǒng)一數(shù)據(jù)交換的過程中,國家電網(wǎng)公司要站在zui高處,領(lǐng)導、組織、協(xié)調(diào)各個專業(yè)部門與基層單位,制定出一個統(tǒng)一的、明確的數(shù)據(jù)交換體系并形成相應的標準;負責協(xié)調(diào)、監(jiān)督原各個應用子系統(tǒng)中的各種數(shù)據(jù)交換方式的修改,使之符合制定出的數(shù)據(jù)交換標準。而基層單位在國家電網(wǎng)公司的領(lǐng)導下,積極配合、組織制定各種數(shù)據(jù)交換的標準,并在此基礎(chǔ)上修改原各個應用子系統(tǒng)中的各種數(shù)據(jù)交換方式,使之符合制定出的數(shù)據(jù)交換標準。在這個過程中,首先要確定一個交換體系,按輕重緩急來逐步實現(xiàn)一個一個的交換標準,從粗到細、從宏觀到微觀、從單項到綜合、從簡單查詢到綜合分析。具體分以下幾步實施:
*,制定標準的標準,即制定出編制信息交換(數(shù)據(jù)交換)標準的一些規(guī)范,在規(guī)范的基礎(chǔ)上再編制各種信息交換(數(shù)據(jù)交換)的標準;
第二,組織實施,選擇幾個典型的應用子系統(tǒng),編寫出信息數(shù)據(jù)交換的DTD文檔,再選擇幾個典型的基層單位和國家電網(wǎng)公司進行試點,通過編程實現(xiàn)信息數(shù)據(jù)交換;
第三,在第二步成功的基礎(chǔ)上在國家電網(wǎng)公司系統(tǒng)范圍內(nèi)進行信息數(shù)據(jù)交換的全面分析,制定出一整套信息數(shù)據(jù)交換的標準,即DTD文檔;
第四,在國家電網(wǎng)公司系統(tǒng)范圍內(nèi)全面推廣信息數(shù)據(jù)交換的標準。
在制定好信息數(shù)據(jù)交換的標準并且發(fā)布推廣后,要對原有的程序進行升級,在信息數(shù)據(jù)交換的兩端分別進行程序的開發(fā),對于新開發(fā)的應用子系統(tǒng)軟件中的信息數(shù)據(jù)交換要以此為標準。