吳曉姝鄭學(xué)偉
遼寧廣播電視大學(xué)(沈陽(yáng) 110034)
基于Web Service的SOAP網(wǎng)絡(luò)管理體系研究與實(shí)現(xiàn)
吳曉姝鄭學(xué)偉
遼寧廣播電視大學(xué)(沈陽(yáng) 110034)
隨著計(jì)算機(jī)網(wǎng)絡(luò)的廣泛使用及各行各業(yè)對(duì)網(wǎng)絡(luò)信息管理松散耦合、良好跨平臺(tái)性的要求,基于SOAP協(xié)議進(jìn)行網(wǎng)絡(luò)管理中的結(jié)構(gòu)化的數(shù)據(jù)管理體系應(yīng)用也越來(lái)越多。本文針對(duì)SOAP、XML、Web Severices等協(xié)議和技術(shù)的特點(diǎn),提出了一個(gè)基于SOAP的網(wǎng)絡(luò)管理系統(tǒng),通過(guò)分析SOAP的請(qǐng)求相應(yīng)機(jī)制對(duì)這一過(guò)程的某些方面優(yōu)化進(jìn)行了一些探討,最后對(duì)研究工作進(jìn)行了總結(jié),并對(duì)今后的工作提出了建議。
SOAP Web Services互動(dòng)操作優(yōu)化
當(dāng)今網(wǎng)絡(luò)規(guī)模的不斷擴(kuò)大,結(jié)構(gòu)也日益復(fù)雜多變,有效的進(jìn)行網(wǎng)絡(luò)管理,變得尤為重要。而SOAP、XML等跨平臺(tái)的協(xié)議和Web Service技術(shù)的問(wèn)世,無(wú)疑使得構(gòu)建一個(gè)跨平臺(tái)、通用性和可擴(kuò)充的互聯(lián)系統(tǒng),對(duì)網(wǎng)絡(luò)上的各種設(shè)備進(jìn)行管理變得容易的多。本文從SOAP、XML、Web Service等協(xié)議標(biāo)準(zhǔn)和技術(shù)的角度出發(fā),探討了網(wǎng)絡(luò)資源管理系統(tǒng)中的互操作問(wèn)題,提出了一個(gè)基于SOAP的網(wǎng)絡(luò)管理體系的網(wǎng)絡(luò)管理體系。
簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議(Simple Object Access Protocol),即SOAP是一種基于可擴(kuò)展的標(biāo)記語(yǔ)言XML簡(jiǎn)單、輕量的協(xié)議,它定義了在松散、分布的環(huán)境中,對(duì)等交換結(jié)構(gòu)化、類(lèi)型化的信息傳輸機(jī)制。由于SOAP是與平臺(tái)無(wú)關(guān)的跨平臺(tái)消息協(xié)議,且沒(méi)有定義底層的傳輸機(jī)制,因此它可以使用很多如超文本傳輸協(xié)議(HTTP),簡(jiǎn)單郵件傳輸協(xié)議(SMTP),多用途網(wǎng)際郵件擴(kuò)充協(xié)議(MIME)等底層傳輸協(xié)議并結(jié)合使用,通過(guò)XML將任何與應(yīng)用程序相關(guān)的數(shù)據(jù)封裝成SOAP消息,并由RPC傳遞到各種系統(tǒng)中。SOAP通信協(xié)議對(duì)信息的共享和對(duì)接變得更加有利。
XML(Extensible Markup Language,即可擴(kuò)展標(biāo)記語(yǔ)言)是提供一種標(biāo)準(zhǔn)規(guī)范來(lái)描述數(shù)據(jù)和交換數(shù)據(jù)的具有結(jié)構(gòu)性的語(yǔ)言,是現(xiàn)今廣泛用來(lái)標(biāo)記數(shù)據(jù)、數(shù)據(jù)處理的有效手段。XML是來(lái)源于標(biāo)記通用語(yǔ)言(SGML),雖然SGML相比于XML定義的功能要強(qiáng)大的多,然而它不適于Web傳輸,且價(jià)格昂貴。
XML不像常用的Access,SQL Server和Oracle等數(shù)據(jù)庫(kù)那樣,提供了強(qiáng)有力的數(shù)據(jù)索引、排序、查找、相關(guān)一致性等數(shù)據(jù)存儲(chǔ)和分析能力,它僅僅是存儲(chǔ)數(shù)據(jù),及其簡(jiǎn)單。此外,XML具有很明顯的跨平臺(tái)性、自描述性、靈活性和可擴(kuò)展性等優(yōu)勢(shì)和特點(diǎn)。
Web service是一個(gè)建立開(kāi)發(fā)互操作分布式應(yīng)用程序的標(biāo)準(zhǔn)、開(kāi)放的平臺(tái),即具有獨(dú)立性,松耦合性,自包含性并基于可編程等特性的web的應(yīng)用程序,并借助XML文檔進(jìn)行服務(wù)描述、請(qǐng)求發(fā)布、發(fā)現(xiàn)、協(xié)調(diào)和配置這些應(yīng)用程序,利用RPC實(shí)現(xiàn)遠(yuǎn)程調(diào)用,使得異構(gòu)平臺(tái)上的應(yīng)用易于集成,實(shí)現(xiàn)了“基于Web無(wú)縫集成”的目標(biāo)。Web service創(chuàng)建的平臺(tái)使人們能夠能在不同平臺(tái)和不同軟件的不同組織間相互交流和分享,被轉(zhuǎn)換為XSD類(lèi)型后打包的系統(tǒng)協(xié)議,即SOAP簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議。
SOAP在Web Service協(xié)議棧中起著核心的作用。SOAP通過(guò)XML在web上傳送結(jié)構(gòu)化數(shù)據(jù),實(shí)現(xiàn)Web Service在不同的系統(tǒng)之間“軟件-軟件對(duì)話(huà)”的方式相互調(diào)用的愿望。SOAP使用XML消息調(diào)用遠(yuǎn)程方法,使web services可以通過(guò)HTTP協(xié)議的post和get方法與遠(yuǎn)程機(jī)器交互。同時(shí)SOAP定義了標(biāo)準(zhǔn)的RPC方法以便于調(diào)用Web service。SOAP提供了規(guī)范的SOAP消息的格式,和怎樣通過(guò)HTTP協(xié)議來(lái)使用SOAP。由于SOAP基于XML和XSD,因此XML也是SOAP的數(shù)據(jù)編碼方式。
網(wǎng)絡(luò)管理結(jié)構(gòu)一般分為集中式和分布式兩種,集中式網(wǎng)絡(luò)管理簡(jiǎn)單、易于實(shí)現(xiàn),通常包括管理者、代理和管理信息庫(kù)三部分。而分布式網(wǎng)絡(luò)管理結(jié)構(gòu)則是由多個(gè)管理者共同實(shí)現(xiàn)網(wǎng)絡(luò)管理系統(tǒng)的功能,它具有層次化,網(wǎng)管能力較強(qiáng)、伸縮性好等特點(diǎn),但結(jié)構(gòu)較為復(fù)雜。對(duì)于網(wǎng)絡(luò)規(guī)模和網(wǎng)絡(luò)流量較大,網(wǎng)絡(luò)設(shè)備管理功能較強(qiáng)的網(wǎng)絡(luò)環(huán)境而言,采用分布式網(wǎng)絡(luò)管理結(jié)構(gòu)能夠更好的管理網(wǎng)絡(luò)。因此基于SOAP的分布式網(wǎng)絡(luò)管理結(jié)構(gòu),將彌補(bǔ)集中式管理模式的不足,降低了網(wǎng)絡(luò)管理流量,從而避免了網(wǎng)絡(luò)擁堵的現(xiàn)象,多個(gè)管理域組成的網(wǎng)絡(luò)管理系統(tǒng)大大的提高了網(wǎng)絡(luò)的可靠性和功能的可擴(kuò)展性,并產(chǎn)生較高的管理效率。
SOAP是基于XML的基礎(chǔ)上實(shí)現(xiàn)分布式網(wǎng)絡(luò)管理的輕量級(jí)協(xié)議,SOAP所有的信息傳遞與交換均是由XML幫他定義完成的。XML無(wú)關(guān)性的優(yōu)點(diǎn),解決了交換數(shù)據(jù)的格式和語(yǔ)義沒(méi)有統(tǒng)一標(biāo)準(zhǔn)的問(wèn)題。SOAP在分布式網(wǎng)絡(luò)管理結(jié)構(gòu)環(huán)境中充當(dāng)了對(duì)等體之間(通過(guò)SOAP消息)進(jìn)行結(jié)構(gòu)化和類(lèi)型化的數(shù)據(jù)交換,定義傳輸機(jī)制的角色。SOAP包括四個(gè)部分:SOAP信封、SOAP編碼規(guī)則、SOAP RPC、SOAP綁定。
SOAP消息是從發(fā)送端到接收端的單向傳輸,所有的SOAP消息常常結(jié)合起來(lái)以執(zhí)行請(qǐng)求/應(yīng)答的模式,并都冠以XML編碼。每條SOAP消息是都包含有一個(gè)必需的SOAP的封裝包及SOAP體塊的XML文檔,和一個(gè)可選的SOAP標(biāo)頭。然后將SOAP綁定到HTTP中,將HTTP的豐富的特征庫(kù)的優(yōu)點(diǎn)和SOAP的樣式、分散的靈活性的特點(diǎn)結(jié)合使用,進(jìn)行信息傳輸。
本系統(tǒng)以Windows 2003作為系統(tǒng)平臺(tái),采用Microsoft SOAP TOOL Kit 2.0發(fā)送、接收、分析SOAP消息,中間層代理通過(guò)SOAP調(diào)用由Tomcat Servlet引擎解析和區(qū)分,根據(jù)不同的服務(wù)由守護(hù)進(jìn)程完成相應(yīng)的功能。網(wǎng)絡(luò)數(shù)據(jù)的處理過(guò)程:
4.1 服務(wù)請(qǐng)求方和服務(wù)提供方都包含一個(gè)SOAP消息監(jiān)聽(tīng)器(SOAP Listener),它專(zhuān)門(mén)負(fù)責(zé)SOAP消息的接收與送;
4.2 運(yùn)行時(shí),首先由請(qǐng)求方的應(yīng)用程序發(fā)出服務(wù)調(diào)用請(qǐng)求,由客戶(hù)端代理程序?qū)⒃撜?qǐng)求轉(zhuǎn)化成符合Web服務(wù)調(diào)用所要求的格式;
4.3 由SOAP消息監(jiān)聽(tīng)器將消息以SOAP請(qǐng)求的形式傳給服務(wù)提供方;
4.4 服務(wù)提供方的SOAP監(jiān)聽(tīng)器收到SOAP請(qǐng)求后,由SOAP路由器(SOAP Router)處理該請(qǐng)求,并將請(qǐng)求轉(zhuǎn)發(fā)給能處理該請(qǐng)求的web服務(wù)應(yīng)用程序,由該程序處理并返回相應(yīng)結(jié)果;
4.5 由SOAP消息監(jiān)聽(tīng)器將處理結(jié)果封裝成SOAP響應(yīng)的形式返回給客戶(hù)端;
4.6 服務(wù)請(qǐng)求方收到響應(yīng)后,由客戶(hù)端代理程序解析出處理結(jié)果并返回給實(shí)際的請(qǐng)求程序。
圖1 服務(wù)請(qǐng)求-響應(yīng)過(guò)程
基于SOAP的網(wǎng)絡(luò)管理結(jié)構(gòu)的系統(tǒng),立足于網(wǎng)絡(luò)管理中的實(shí)際應(yīng)用,充分發(fā)揮了SOAP、XML及Web Service的平臺(tái)優(yōu)勢(shì),采用XML對(duì)所有接口的數(shù)據(jù)結(jié)構(gòu)進(jìn)行封裝,服務(wù)的請(qǐng)求和相應(yīng)基于SOAP協(xié)議,深入的研究了其中的關(guān)鍵技術(shù),并在大量的設(shè)備中加以實(shí)現(xiàn),使系統(tǒng)具有跨平臺(tái)、靈活自由等特點(diǎn)。但系統(tǒng)的應(yīng)用推廣還需進(jìn)一步的研究和設(shè)計(jì),以便滿(mǎn)足各種網(wǎng)絡(luò)環(huán)境中的網(wǎng)絡(luò)管理要求。
2012年遼寧省現(xiàn)代遠(yuǎn)程教育學(xué)會(huì)年度課題“基于SOAP的網(wǎng)絡(luò)管理體系研究”(2012xh25)階段性成果
云龍)