王瀚博++許知博
摘要:Web Service作為最流行的遠(yuǎn)程調(diào)用技術(shù),對(duì)配電網(wǎng)企業(yè)信息集成系統(tǒng)意義重大。本文針對(duì)配電網(wǎng)企業(yè)典型網(wǎng)絡(luò)環(huán)境,提出了一種基于SOA的Web Service架構(gòu)設(shè)計(jì)、特征模型和特征規(guī)范,應(yīng)用于配電網(wǎng)企業(yè)信息集成系統(tǒng)建設(shè)。
關(guān)鍵詞:Web Service;架構(gòu)設(shè)計(jì);特征模型;配電網(wǎng)企業(yè)
中圖分類號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)17-0221-02
Implementation and Application of Service Web in Distribution Network
WANG Han-bo, XU Zhi-bo
(Shaanxi Local Power(Group) Co., Ltd., Xi'an 710061, China)
Abstract: Service Web is the most popular remote call technology, which is of great significance to the distribution network enterprise information integration system. In this paper, a Web based Service SOA architecture is proposed, which is based on the typical network environment of the distribution network.
Key words: Service Web; architecture design; feature model; distribution network enterprise
配電網(wǎng)企業(yè)建設(shè)信息集成系統(tǒng)解決信息孤島問(wèn)題,信息集成系統(tǒng)基于面向服務(wù)的體系結(jié)構(gòu)(Service Oriented Architecture, SOA),在網(wǎng)絡(luò)環(huán)境下通過(guò)發(fā)布服務(wù)、注冊(cè)服務(wù)、調(diào)用服務(wù)實(shí)現(xiàn)數(shù)據(jù)交換,因此網(wǎng)絡(luò)服務(wù)(Web Service)設(shè)計(jì)成為決定信息集成系統(tǒng)成敗的關(guān)鍵。
1 Web Service介紹
Web Service作為最流行的遠(yuǎn)程調(diào)用技術(shù),主要用來(lái)解決不同硬件平臺(tái)、不同操作系統(tǒng)、不同軟件架構(gòu)、不同開(kāi)發(fā)語(yǔ)言的應(yīng)用系統(tǒng)交互問(wèn)題,在信息集成系統(tǒng)適配的各種數(shù)據(jù)交換協(xié)議中具有標(biāo)準(zhǔn)化、跨平臺(tái)、開(kāi)放性、易部署等特點(diǎn)[1]。
Web Service技術(shù)是信息集成系統(tǒng)的基礎(chǔ),一個(gè)應(yīng)用系統(tǒng)可以使用Web Service技術(shù)通過(guò)網(wǎng)絡(luò)調(diào)用另一個(gè)應(yīng)用系統(tǒng)的應(yīng)用程序編程接口。Web Service技術(shù)的核心是可擴(kuò)展標(biāo)記語(yǔ)言架構(gòu)(XML Schemas Definition, XSD)、簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(Simple Object Access Protocol, SOAP)和網(wǎng)絡(luò)服務(wù)描述語(yǔ)言(Web Services Description Language, WSDL)。Web Service使用通用描述發(fā)現(xiàn)集成服務(wù)(Universal Description Discovery and Integration,UDDI)實(shí)現(xiàn)服務(wù)的注冊(cè)、發(fā)布和調(diào)用。
1.1 XSD
Web Services使用可擴(kuò)展標(biāo)記語(yǔ)言(Extensible Markup Language, XML)封裝交互的數(shù)據(jù),包括調(diào)用的對(duì)象,對(duì)象的函數(shù)、傳遞的參數(shù),返回的結(jié)果等。XML解決了Web Service數(shù)據(jù)表示的問(wèn)題,但是沒(méi)有定義數(shù)據(jù)類型標(biāo)準(zhǔn),XSD定義了Web Service的標(biāo)準(zhǔn)數(shù)據(jù)類型。使用任何開(kāi)發(fā)語(yǔ)言構(gòu)建的Web Service其數(shù)據(jù)類型必須轉(zhuǎn)換為XSD類型。
1.2 SOAP
Web Services使用SOAP定義交互數(shù)據(jù)格式及傳輸協(xié)議方式。SOAP是一種基于XML和XSD的輕量級(jí)協(xié)議,在Web Service中SOAP通常使用HTTP作為傳輸協(xié)議,因此SOAP 可以看作HTTP與XML的組合。XML是SOAP的編碼方式,SOAP是XML的數(shù)據(jù)格式,一條SOAP消息就是一個(gè)包含Envelope、Header、Body、Fault四類元素的XML文檔。
1.3 WSDL
Web Services使用WSDL描述函數(shù)、參數(shù)、返回值等應(yīng)用程序編程結(jié)構(gòu)。WSDL也是一種基于XML和XSD的輕量級(jí)協(xié)議,一個(gè)完整的WSDL描述包括八類基本元素:消息類型(Type)、消息(Message)、消息參數(shù)(Part)、操作(Operation)、端口(Port)、端口類型(Port Type)、綁定(Binding)和服務(wù)(Service)。
2 Web Service架構(gòu)設(shè)計(jì)
2.1 配電網(wǎng)企業(yè)典型網(wǎng)絡(luò)環(huán)境
配電網(wǎng)企業(yè)典型網(wǎng)絡(luò)環(huán)境一般由調(diào)度數(shù)據(jù)網(wǎng)、管理信息網(wǎng)和公共互聯(lián)網(wǎng)三張網(wǎng)組成[2]。調(diào)度數(shù)據(jù)網(wǎng)從變電站到各單位調(diào)度機(jī)構(gòu),再到第一級(jí)調(diào)度中心,承載生產(chǎn)數(shù)據(jù)傳輸業(yè)務(wù);管理信息網(wǎng)從企業(yè)總部到二級(jí)單位,再到下級(jí)單位,覆蓋供電所營(yíng)業(yè)廳,承載營(yíng)銷、客服、基建、OA、財(cái)務(wù)等系統(tǒng)面向內(nèi)部的數(shù)據(jù)傳輸業(yè)務(wù);公共互聯(lián)網(wǎng)承載門(mén)戶網(wǎng)站等系統(tǒng)面向外部的數(shù)據(jù)訪問(wèn)業(yè)務(wù)。調(diào)度數(shù)據(jù)網(wǎng)與管理信息網(wǎng)和公共互聯(lián)網(wǎng)物理隔離,管理信息網(wǎng)與公共互聯(lián)網(wǎng)邏輯隔離。
2.2 Web Service架構(gòu)設(shè)計(jì)
針對(duì)配電網(wǎng)企業(yè)典型網(wǎng)絡(luò)環(huán)境,基于SOA的Web Service架構(gòu)設(shè)計(jì)如圖1所示。
應(yīng)用系統(tǒng)位于不同的網(wǎng)絡(luò)環(huán)境中,可以作為服務(wù)請(qǐng)求者,也可以作為服務(wù)提供者,或者同時(shí)作為服務(wù)的請(qǐng)求者和提供者。對(duì)于按照Web Service標(biāo)準(zhǔn)開(kāi)發(fā)的新系統(tǒng),可以直接使用SOAP協(xié)議通過(guò)UDDI注冊(cè)、發(fā)布或調(diào)用Web Service;對(duì)于未按Web Service標(biāo)準(zhǔn)開(kāi)發(fā)的舊系統(tǒng),可以通過(guò)XSD編譯器和WSDL編譯器對(duì)服務(wù)進(jìn)行封裝或解析,再使用SOAP協(xié)議通過(guò)UDDI注冊(cè)、發(fā)布或調(diào)用Web Service。
圖 1 基于SOA的Web Service架構(gòu)設(shè)計(jì)
在調(diào)度數(shù)據(jù)網(wǎng)中的應(yīng)用系統(tǒng)需要通過(guò)正反向隔離裝置將Web Service發(fā)布到隔離區(qū)(Demilitarized Zone, DMZ)后再使用HTTP協(xié)議進(jìn)行傳輸。在管理信息網(wǎng)中的應(yīng)用系統(tǒng)可以直接使用HTTP協(xié)議進(jìn)行傳輸。在公共互聯(lián)網(wǎng)中的應(yīng)用系統(tǒng)必須使用網(wǎng)絡(luò)服務(wù)安全協(xié)議(WS-Security SOAP)對(duì)內(nèi)容進(jìn)行加密或解密后再使用HTTPS協(xié)議進(jìn)行傳輸。UDDI在管理信息網(wǎng)上運(yùn)行,是整個(gè)Web Service架構(gòu)的核心。
3 Web Service特征模型
適配圖1所示W(wǎng)eb Service架構(gòu)的Web Service特征模型如圖2所示。
Web Service的特征模型采用了模型——視圖——控制器(Model-View-Controller,MVC)風(fēng)格,將一個(gè)應(yīng)用系統(tǒng)的Web Service模型分為特征、接口和連接子三個(gè)部分,特征和接口通過(guò)獨(dú)立的連接子連接在一起。
MVC風(fēng)格的Web Service特征模型分離Web Service的內(nèi)部信息存儲(chǔ)與外部信息顯示與修改,實(shí)現(xiàn)了Web Service特征與接口的獨(dú)立性,提高了Web Service特征和接口的復(fù)用性。
3.1 接口
接口是Web Service信息通信機(jī)制,是Web Service與外界交互的唯一途徑[3]。特征模型的目標(biāo)是在構(gòu)造Web Service時(shí)可以像使用即插即用的硬件設(shè)備一樣,因此每一個(gè)接口必須符合統(tǒng)一的接口規(guī)約。Web Service和接口之間是多對(duì)多的關(guān)系,即一個(gè)Web Service可以提供一個(gè)或多個(gè)接口,而不同的Web Service又可以提供同樣的接口完成遠(yuǎn)程調(diào)用行為。
Web Service接口分為Get接口和Set接口兩種類型。Get接口是對(duì)MVC中控制器概念的精化,處理輸入的控制流和數(shù)據(jù)流,Get接口的行為影響模型的狀態(tài),是被Web Service使用的接口,即Web Service向其它Web Service請(qǐng)求服務(wù)時(shí)要遵循的接口。Set接口是對(duì)MVC中視圖概念的精化,處理輸出的控制流和數(shù)據(jù)流,Set接口定義了一個(gè)更新過(guò)程,是由Web Service實(shí)現(xiàn)的接口,這意味著Web Service的Set接口是給其它Web Service提供服務(wù)的。
3.2 連接子
連接子顯式地描述了Web Service之間的交互關(guān)系或交互協(xié)議,提供了一種在較高抽象層次上設(shè)計(jì)Web Service特征并提供Web Service服務(wù)的方式。在Web Service特征模型中,連接子有外部接口和內(nèi)部規(guī)約兩個(gè)部分,并可以擁有自己的內(nèi)部結(jié)構(gòu),然而連接子只能有一組相關(guān)聯(lián)的接口,只能在一個(gè)Web Service交互行為中起作用。因此Web Service特征模型中的連接子是一個(gè)中介元素,將接口和模型連接起來(lái),采用連接子的目的是分離模型的核心元素與接口規(guī)范,提高模型的可復(fù)用性,在不同的應(yīng)用中匹配不同的接口,而不必修改模型。
3.3 特征規(guī)范
Web Service的特征規(guī)范被定義為一個(gè)六元組M = 。其中I是標(biāo)識(shí)符(Identifier),用來(lái)區(qū)別不同的特征模型;Ps是發(fā)布服務(wù)(Publishing Service)的集合,表示W(wǎng)eb Service實(shí)現(xiàn)的服務(wù);Is(Invoking Services)是調(diào)用服務(wù)的集合,表示W(wǎng)eb Service滿足的服務(wù);S是Web Service的服務(wù)(Service)集合,描述Web Service服務(wù);P是Web Service的屬性(Property)集合,描述Web Service特征;R是Web Service的角色(Role),描述Web Service端口、連接子與模型的關(guān)系。
4 配電網(wǎng)企業(yè)Web Services設(shè)計(jì)原則
配電網(wǎng)企業(yè)既有一般大型企業(yè)信息化共性特征,又有能源企業(yè)信息化個(gè)性特征,特別是在安全性、可靠性和可用性方面具有更高的要求,因此在進(jìn)行Web Service設(shè)計(jì)時(shí)必須遵循以下原則。
4.1 安全性原則
Web Service往往涉及多個(gè)系統(tǒng),安全性是一個(gè)非常重要的問(wèn)題,在設(shè)計(jì)中要遵循國(guó)家安全等級(jí)保護(hù)制度中的安全規(guī)范,在技術(shù)方案的上也要體現(xiàn)安全性的要求選擇成熟的方案。
4.2 方向性原則
Web Service最終要為業(yè)務(wù)提供服務(wù),因此在設(shè)計(jì)上一定要結(jié)合業(yè)務(wù)的發(fā)展方向,充分考慮到企業(yè)當(dāng)前的應(yīng)用系統(tǒng)現(xiàn)狀以及未來(lái)的業(yè)務(wù)發(fā)展要求。
4.3 開(kāi)放性原則
開(kāi)放的Web Service已經(jīng)成為必然的發(fā)展方向,因此在設(shè)計(jì)上需要對(duì)Web Service的可擴(kuò)展性、動(dòng)態(tài)調(diào)配、靈活部署等方面進(jìn)行分析,使之成為一個(gè)彈性的應(yīng)用系統(tǒng)交互平臺(tái)。
5 結(jié)語(yǔ)
Web Service是實(shí)現(xiàn)信息集成系統(tǒng)的關(guān)鍵技術(shù),基于SOA的Web Service架構(gòu)設(shè)計(jì)、特征模型和特征規(guī)范能夠指導(dǎo)Web Service的開(kāi)發(fā),將有效提升配電網(wǎng)企業(yè)的信息化水平。
參考文獻(xiàn):
[1]沈屹挺.Web Services技術(shù)在企業(yè)應(yīng)用集成中的應(yīng)用研究[D]. 大連:大連海事大學(xué),2007.
[2]趙煒妹.配電網(wǎng)信息集成系統(tǒng)研究[D].北京:華北電力大學(xué),2010.
[3]葉軍,李志蜀,殷鋒,李清.Web services在企業(yè)信息系統(tǒng)集成中應(yīng)用架構(gòu)的研究[J].計(jì)算機(jī)應(yīng)用研究,2007,24(6):295-298.