陳洋
摘要:綜合分析送電線路設(shè)計中電氣、結(jié)構(gòu)和測量等多個專業(yè)業(yè)務邏輯和功能的特點,采用SOA的組件模型建立和層次劃分技術(shù),通過對比基于CAD/GIS的電力勘測設(shè)計軟件,證明了面向服務的架構(gòu)方案相對于傳統(tǒng)面向?qū)ο蟮募軜?gòu)方案具備更靈活和獨立自治的特點,并在項目的開發(fā)過程中驗證了所提出架構(gòu)方案的可行性。
關(guān)鍵詞:SOA;送電線路;三維協(xié)同設(shè)計
1引言
架空送電線路設(shè)計是由電氣、結(jié)構(gòu)、測量、水文、地質(zhì)和技經(jīng)等多個專業(yè)的設(shè)計人員,協(xié)作設(shè)計出的一條從起點變電站到終點變電站的高壓鐵塔和導線走向、并從技術(shù)和經(jīng)濟上綜合最優(yōu)的路徑。送電線路設(shè)計三維協(xié)同設(shè)計系統(tǒng),是在三維GIS平臺上,利用三維影像地圖、三維模型和實時動畫等模擬真實場景,為所有設(shè)計人員提供一個共享的可視化環(huán)境,并且為各個專業(yè)提供定制化服務,共同設(shè)計出最佳運行線路的軟件系統(tǒng)。
近年來,送電線路的信息化設(shè)計手段已逐漸豐富。例如,基于CAD或GIS的電力勘測設(shè)計軟件:為電氣專業(yè)設(shè)計人員提供二維CAD或三維GIS視圖下的選線或排塔功能;桿塔結(jié)構(gòu)設(shè)計軟件:輔助結(jié)構(gòu)專業(yè)設(shè)計人員設(shè)計出符合荷載條件、安全的桿塔;工程造價軟件:為技術(shù)經(jīng)濟專業(yè)人員提供估算、概算和預算等經(jīng)濟計算的軟件;導地線機械特性計算程序:為電氣專業(yè)人員進行導地線弧垂及張力的計算程序。這些信息化手段為線路設(shè)計提供了不少便利,提高了工作效率。但是市面上相似功能的專業(yè)軟件種類繁多,并且大部分電力設(shè)計院會根據(jù)自己的需求定制開發(fā),導致同樣功能的軟件存在標準不一、接口無法對接等問題,重復耗費了人力、物力。另外各個專業(yè)軟件比較封閉,需要輸入的內(nèi)容重復率高,比如工程基本資料等通用信息需要各專業(yè)重新配置載入系統(tǒng);而輸出內(nèi)容格式又通常不符合下一專業(yè)的期望。在線路設(shè)計中許多工作是多個專業(yè)設(shè)計人員協(xié)同設(shè)計完成,這些獨立的信息化軟件不能夠進行信息交流和成果共享,更缺乏實時協(xié)同設(shè)計的功能。
為了提高架空送電線路工程設(shè)計的效率和質(zhì)量,統(tǒng)一成果轉(zhuǎn)化標準,實現(xiàn)接口無縫對接等,國內(nèi)外學者和機構(gòu)進行了大量的研究和實踐。本文針對其調(diào)研結(jié)果,深入分析架空輸電線路的設(shè)計流程以及各專業(yè)的設(shè)計工作,提出了一種基于SOA服務、WebService接口協(xié)議,面向GIS三維可視化的架空送電線路協(xié)同設(shè)計平臺的架構(gòu)方案。
2 SOA與WebService
面向服務架構(gòu)(Service-OrientedArchitecture,SOA)是一種系統(tǒng)設(shè)計方法,包括組件模型建立和層次架構(gòu)搭建兩部分。建立組件模型是指將業(yè)務功能分解成更小的功能單元,然后通過聚合技術(shù),將相似的單元組合為大的功能模塊,稱之為組件,組件之間定義了良好的接口和契約進行外部交互。其中,組件接口也稱之為服務,其獨立于硬件平臺、編程語言和操作系統(tǒng)。
建立好組件模式之后,SOA會通過搭建層次架構(gòu)對組件和服務進行有效管理和調(diào)用。層次架構(gòu)從上到下分為5層,即表現(xiàn)層、業(yè)務處理層、服務層、組件層和數(shù)據(jù)層。表現(xiàn)層是系統(tǒng)與用戶的交互界面,用戶請求通過該層傳入下一層;業(yè)務處理層建立系統(tǒng)的業(yè)務模型,使用計算機語言對業(yè)務邏輯進行完整描述;服務層是SOA的核心層,起承上啟下作用,其屏蔽了組件層的細節(jié),向業(yè)務處理層提供接口服務;組件層是平臺相關(guān)的,實現(xiàn)了具體的功能操作;數(shù)據(jù)層是基礎(chǔ)數(shù)據(jù)及信息集成層。
SOA架構(gòu)強調(diào)的是組件間和層間的松散耦合,以及獨立的接口服務。WebService是目前最適合實現(xiàn)SOA架構(gòu)的技術(shù)。WebService利用標準化的XML消息傳輸機制,該技術(shù)隱藏了服務實現(xiàn)的細節(jié),允許通過獨立與服務實現(xiàn)、獨立于軟硬件平臺及獨立于編寫服務所用的編程語言的方式使用該服務。
WebService具有獨立的功能實體、大數(shù)據(jù)量低頻率訪問和基于文本的消息傳遞3個特點。1)獨立的功能實體。動態(tài)改變一個服務的提供方時無須影響客戶端的應用程序配置。這是由簡單對象訪問協(xié)議SOAP、Web服務描述語言WSDL和通用描述-發(fā)現(xiàn)-集成UDDI實現(xiàn)的。體現(xiàn)了WebService面向組件、松散耦合的特點。2)大數(shù)據(jù)量低頻率訪問。通過使用WSDL和基于文本的SOAP請求,實現(xiàn)能一次性接收大量數(shù)據(jù)的接口。使得WebService能向上提供大量接口。3)基于文本的消息傳遞。WebService的核心技術(shù)SOAP、UDDI和WSDL均以XML形式表達,WebService的一切都是建立在XML技術(shù)之上,這保證了使用WebService體系結(jié)構(gòu)的平臺無關(guān)性、語言無關(guān)性和人機交互性能。WebServices的這種松散耦合、面向組件和跨技術(shù)平臺的特點,使其能很好地滿足SOA的需求[1]。
3基于SOA的送電線路三維協(xié)同設(shè)計系統(tǒng)架構(gòu)設(shè)計
根據(jù)SOA的設(shè)計思路,可以將架空送電線路設(shè)計過程拆分成功能明確的組件集。例如,電氣、結(jié)構(gòu)和測量等所有專業(yè)都有基礎(chǔ)數(shù)據(jù)需要管理,只是數(shù)據(jù)類型不同;例如,電氣專業(yè)的導線、金具串等數(shù)據(jù),結(jié)構(gòu)專業(yè)的桿塔、基礎(chǔ)(承重構(gòu)件)等數(shù)據(jù),其數(shù)據(jù)的管理方法是相同的(增加新數(shù)據(jù)、刪除一條或多條數(shù)據(jù)、修改舊數(shù)據(jù)等,經(jīng)分解再組合之后形成數(shù)據(jù)處理組件,對外部組件提供的就是數(shù)據(jù)處理的接口服務)。同樣電氣、結(jié)構(gòu)及測量等專業(yè)都會使用CAD操作方法,組合后便得到CAD操作集組件,對外提供CAD操作的接口服務。最終獲得本文的層次架構(gòu),如圖3.1所示[2]。
從圖3.1中可以看出,SOA將數(shù)據(jù)和操作分開,系統(tǒng)中所有數(shù)據(jù)存放于數(shù)據(jù)層中,操作全部封裝于組件層中。這樣做的好處是便于數(shù)據(jù)的分類管理,也保證軟件代碼的復用,提高了軟件開發(fā)的效率。傳統(tǒng)的架空送電線路設(shè)計工作是以設(shè)計人員面對面交流為主導的協(xié)同模式,使用各專業(yè)之間信息不互通的軟件完成的。這些軟件之間都是獨立的信息孤島,不存在架構(gòu)上的設(shè)計工作。圖3.1與傳統(tǒng)的線路設(shè)計工作比較而言,很明顯地體現(xiàn)出了協(xié)同設(shè)計上的優(yōu)勢,并且便于維護和擴展。
4核心服務的劃分及技術(shù)實現(xiàn)
對架空送電線路設(shè)計過程中服務的劃分嚴格遵循SOA高內(nèi)聚低耦合的特性,即功能都是內(nèi)部相關(guān),與外部服務基本無耦合關(guān)聯(lián)。各個服務的變化對其他服務產(chǎn)生最小的影響。服務粒度。粒度過大,系統(tǒng)的復雜性比較低,性能較高但靈活性減弱,服務的復用性不高;粒度過小,雖然服務復用性好,可以方便地編排裝配新的業(yè)務流程,但編排更復雜。綜合高內(nèi)聚低耦合和服務粒度粗細原則,本系統(tǒng)根據(jù)業(yè)務將送電線路劃分為17個服務(見圖3.1)。主要介紹4個核心服務:GIS操作集服務、設(shè)計計算服務、同端多模塊同步服務和自動建模服務。
4.1 GIS操作集服務
本平臺三維可視化環(huán)境是基于GIS環(huán)境的,因此向設(shè)計人員提供GIS二維和三維操作集服務。對設(shè)計人員提供的GIS操作集服務,任何使用GIS環(huán)境進行線路可視化設(shè)計的設(shè)計人員都會調(diào)用到該服務。Common2DTool提供二維GIS地圖展示服務,包含對二維GIS環(huán)境下的地圖、模型等進行放大、縮小、漫游、點選和距離量算等操作;Common3DTool提供三維GIS地圖多視角展示服務,包括點位量算、高度量算、面積量算、空間分析、點選和空間漫游等操作;Edit2DTool提供二維GIS地圖編輯服務,包括接受編輯、停止編輯、添加(刪除/編輯/保存)圖層、添加(刪除/編輯/保存)點線面對象、管理二維避讓區(qū)和管理二維交跨物等功能;Edit3DTool提供三維GIS地圖編輯服務,包括添加(刪除/編輯/保存)三維模型、添加(刪除/編輯/保存)圖層、管理三維避讓區(qū)和管理三維交跨物等功能;SystemCoordManager提供坐標系統(tǒng)管理服務,包括新建(刪除)二維/三維坐標系統(tǒng)、新建三維橢球體和管理投影類型等功能。
4.2設(shè)計計算服務
設(shè)計計算服務顧名思義是為設(shè)計人員提供計算服務的。CalculationSingleton為上層設(shè)計人員提供設(shè)計計算服務,使用GetInstance創(chuàng)建設(shè)計計算的對象,然后調(diào)用相應的設(shè)計計算函數(shù),例如電氣設(shè)計人員調(diào)用計算服務中的風偏角計算函數(shù),結(jié)構(gòu)設(shè)計人員調(diào)用計算服務中的桿塔荷載計算函數(shù),在這里使用了面向?qū)ο蟮亩鄳B(tài),即根據(jù)前端設(shè)計人員輸入的計算參數(shù)的不同智能判斷后臺執(zhí)行的計算函數(shù);CalResult提供輸出設(shè)計計算結(jié)果服務,在這里使用WebService標準化的XML傳輸機制,將計算結(jié)果均序列化為數(shù)據(jù)流形式,因此消除了不同設(shè)計計算結(jié)果輸出內(nèi)容及格式的差異,在前端根據(jù)響應位置的不同智能反序列化為設(shè)計人員需要的計算結(jié)果。
4.3同端多模塊同步服務
同端多模塊同步服務主要指二維GIS與三維GIS同步、二維GIS與二維CAD同步及三維GIS與二維CAD同步,設(shè)計人員可以同時在同步窗口中進行線路設(shè)計。SyncModules便是提供同端多模塊同步服務的接口,包括建立同步連接,同步添加、同步刪除、同步編輯和同步刷新等功能。
4.4自動建模服務
三維GIS操作環(huán)境下,會有桿塔、金具和地物等模型,自動建模服務為用戶提供參數(shù)化自動建模服務。ModelAnalyze即為設(shè)計人員提供自動建立桿塔、金具等模型的服務接口。
5架構(gòu)方案分析
取架空送電線路設(shè)計軟件中典型的子系統(tǒng),以電氣專業(yè)使用的基于CAD或GIS電力勘測軟件為例,解釋所采用的基于SOA與WebService架構(gòu)方案為送電線路的協(xié)同設(shè)計和資源共享提供了一種新思路。對比這些傳統(tǒng)的送電線路子系統(tǒng),基于SOA構(gòu)建的軟件架構(gòu)還擁有易擴展和松散耦合的優(yōu)勢,WebService技術(shù)又為前端設(shè)計人員封裝了后臺操作的復雜性,并為設(shè)計人員提供了清晰的服務接口。雖然基于CAD或GIS電力勘測軟件本身是供電氣專業(yè)人員使用的,但是要在其上增加結(jié)構(gòu)專業(yè)或其他專業(yè)的功能則十分困難,傳統(tǒng)的面向?qū)ο笤O(shè)計方法使電力勘測軟件成為一個信息孤島,各構(gòu)件間緊密耦合。而SOA架構(gòu)將各個通用模塊劃分成獨立的服務,前端需要何種服務便調(diào)用相應的接口。例如,電氣專業(yè)的三維路徑選擇功能會調(diào)用GIS操作集服務中的三維操作接口、設(shè)計計算服務的電氣計算接口以及數(shù)據(jù)處理服務的數(shù)據(jù)處理接口。如果需要增加新功能,只需要調(diào)用通過WebService技術(shù)封裝的SOA服務接口便可以擴展出新的邏輯單元和功能模塊。同樣,若要維護舊功能模塊,只需要重新更新服務的邏輯便可實現(xiàn)。
6結(jié)語
與傳統(tǒng)的軟件系統(tǒng)結(jié)構(gòu)相比,基于SOA的架空送電線路協(xié)同設(shè)計平臺在電氣、結(jié)構(gòu)、測量、水文、地質(zhì)和技經(jīng)等多個專業(yè)的基礎(chǔ)上建立協(xié)作,綜合多專業(yè)的業(yè)務邏輯和功能,將其分解組合成為更小的邏輯和單元模塊,并通過聚合技術(shù),構(gòu)建具備獨立功能的業(yè)務邏輯單元,使得服務間相互松散耦合?;赟OA和WebService技術(shù),在現(xiàn)有軟件產(chǎn)品的基礎(chǔ)上,設(shè)計出了面向服務的送電線路協(xié)同設(shè)計平臺軟件體系架構(gòu),該體系架構(gòu)分為展現(xiàn)層、業(yè)務處理層、服務層、組件層和數(shù)據(jù)層,其中業(yè)務邏輯層分為7個邏輯單元,組件層包含17個獨立的服務單元,各個服務間符合高內(nèi)聚、低耦合的特點。基于SOA的軟件架構(gòu)便于舊功能的維護和新功能的擴展。并且,在隨后的架空送電線路協(xié)同設(shè)計平臺的應用過程中,充分證明了本架構(gòu)在技術(shù)上的可行性和應用上的高效率。下一步工作將致力于對各個專業(yè)功能的完善和補充。
參考文獻
[1] 熊曉光. 輸電線路三維數(shù)字化設(shè)計平臺建設(shè)與應用研究[J]. 電力勘測設(shè)計,2013(3):66-70.
[2] 高妙仙,胡天碩. 輸電線路設(shè)計智能一體化系統(tǒng)設(shè)計[J]. 科技經(jīng)濟導刊,2017(12):26-27.
(作者單位:中國能源建設(shè)集團甘肅省電力設(shè)計院有限公司)