胡 澤 廖聞劍 彭艷兵
[摘要]闡述WebService的基本概念。對WebService的發(fā)展歷程進行論述,介紹其體系架構。對WebService的基本協(xié)議和標準進行解釋。結合電信系統(tǒng)的增值業(yè)務的實現(xiàn),介紹WebService技術的實際的應用,并列出WebService的優(yōu)點和缺點。最后對WebService技術的發(fā)展前景進行展望。
[關鍵詞]WebService 電信系統(tǒng) 增值業(yè)務
中圖分類號:TP3文獻標識碼:A文章編號:1671-7597(2009)0310048-01
一、引言
隨著計算機技術和網(wǎng)絡技術的飛速發(fā)展,網(wǎng)絡的規(guī)模不斷擴大,網(wǎng)絡環(huán)境日益復雜。異構、分布式的網(wǎng)絡環(huán)境、復雜多樣的網(wǎng)絡元素,對軟件提出了更高的要求與挑戰(zhàn)?;诜植际綄ο笥嬎愕闹虚g件技術,能使得網(wǎng)絡向開放和分布式處理技術轉變,實現(xiàn)不同網(wǎng)絡系統(tǒng)的互聯(lián)、互通、互操作。WebService作為一項新的技術出現(xiàn)在我們面前,它是一種新型的分布式計算模式,是解決日增長的互操作、企業(yè)應用集成(EAI)、B2B等需求的良好方案,它以其跨平臺、開放、簡單、分布式等特點得到越來越廣泛的應用。
二、什么是WebService
(一)基本概念
WebService是一種通過Web部署提供對業(yè)務功能訪問的技術,它具有跨平臺、簡單和高度可集成能力等特點,Microsoft在.NET中將Webservice定位為溝通未來軟件的基礎。WebService采取簡單易理解的標準Web協(xié)議作為組件界面描述和協(xié)同描述規(guī)范,通過XML、SOAP、WSDL、UDDI等技術手段,屏蔽不同軟件平臺的差異。無論是CORBA、DCOM還是EJB 都可以通過這一標準的協(xié)議進行互操作,解決計算機網(wǎng)絡系統(tǒng)無序性、異構性和封閉性等問題。
(二)體系構成
WebServices使用面向服務的構架,它包含三個基本角色和操作。
1.Web服務體系結構中的角色。Web服務體系結構中包含三個角色,具體為:
(1)服務提供者。從企業(yè)的角度看,這是服務的所有者;從體系結構的角度看,這是托管訪問服務的平臺。
(2)服務請求者。從企業(yè)的角度看,這是要求滿足特定功能的企業(yè);從體系結構的角度看,這是尋找并調用服務,或啟動與服務的交互的應用程序。服務請求者角色可以由瀏覽器來擔當,由人或無用戶界面的程序(例如,另外一個Web服務)來控制它。
(3)服務注冊中心。這是可搜索的服務描述注冊中心,服務提供者在此發(fā)布他們的服務描述。在靜態(tài)綁定開發(fā)或動態(tài)綁定執(zhí)行期間,服務請求者查找服務并獲得服務的綁定信息(在服務描述中)。對于靜態(tài)綁定的服務請求者,服務注冊中心是體系結構中的可選角色,因為服務提供者可以把描述直接發(fā)送給服務請求者。同樣,服務請求者可以從服務注冊中心以外的其它來源得到服務描述,例如本地文件、FTP站點、Web站點、廣告和服務發(fā)現(xiàn)(ADS)或發(fā)現(xiàn)Web服務(DISCO)。
2.Web服務體系結構中的操作。對于利用Web服務的應用程序,必須發(fā)生以下三個行為:發(fā)布服務描述、查詢或查找服務描述以及根據(jù)服務描述綁定或調用服務。這些行為可以單次或反復出現(xiàn)。這些操作具體為:
(1)發(fā)布。為了使服務可訪問,需要發(fā)布服務描述以使服務請求者可以查找它。發(fā)布服務描述的位置可以根據(jù)應用程序的要求而變化。
(2)查找。在查找操作中,服務請求者直接檢索服務描述或在服務注冊中心中查詢所要求的服務類型。對于服務請求者,可能在兩個不同的生命周期階段牽涉到查找操作:在設計時為了程序開發(fā)而檢索服務的接口描述;在運行時為了調用而檢索服務的綁定和位置描述。
(3)綁定。最后需要調用服務。在綁定操作中,服務請求者使用服務描述中的綁定細節(jié)來定位、聯(lián)系和調用服務,從而在運行時調用或啟動與服務的交互。
三、標準和協(xié)議
WebService由一系列的標準和協(xié)議組成,主要有XML、HTTP、SOAP、WSDL、UDDI。
(一)WebService協(xié)議棧
要以一種可互操作的方式執(zhí)行發(fā)布、發(fā)現(xiàn)和綁定這三個操作,必須有一個包含每一層標準的Web服務協(xié)議棧。表1展示了一個概念性Web服務協(xié)議棧。上面的幾層建立在下面幾層提供的功能之上。垂直的條表示在協(xié)議棧中每一層必須滿足的需求。表中左邊的一列表示協(xié)議棧的那一層所應用的標準技術。
(二)Webservice,wsdl,soap,xml,http的關系
WSDL是一種XML文檔,它包含了一組描述WebService的定義,類似C語言中的頭文件(定義函數(shù)接口)。WSDL提供了訪問和使用WebService所需的全部信息。WSDL文檔描述Web Service將做些什么,它如何進行通信以及它的位置在哪里。您可以在開發(fā)階段使用WSDL文檔創(chuàng)建您自己的服務接口。Soap是Webservice使用的協(xié)議其消息是符合wsdl規(guī)格的xml文檔而Soap消息的傳輸協(xié)議一般使用http。圖2展示了WebService中傳輸消息的關系。
四、WebService在電信增值業(yè)務中的應用
圖3描述了WebService技術在電信增值業(yè)務系統(tǒng)中的應用。圖中Slee模塊的主要功能就是解析執(zhí)行Xml腳本中的JavaScript腳本,EventRoute主要器路由業(yè)務功能,可根據(jù)業(yè)務標識區(qū)分不同的業(yè)務。Xagent模塊充當了客戶端角色,其主要功能就是代理客戶端向ParlayX網(wǎng)關發(fā)送SOAP消息請求或調用第三方的WebService服務;而Xproxy模塊充當了代理服務器角色,其主要功能就是接收從ParlayX網(wǎng)關或第三方發(fā)過來的SOAP消息。
如圖3所示,采用WebService技術,很好的屏蔽了網(wǎng)關和SEP(業(yè)務執(zhí)行平臺)之間的平臺和語言差異性,兩側的用戶只需要用WSDL定義接口和描述服務。提供者和請求者只用關心請求和響應的消息的格式和內容。消息格式與消息同在,不用額外的元數(shù)據(jù)或代碼來說明。同時,由于SOAP消息使用http協(xié)議,而一般的防火墻都開啟了允許Web訪問的能力,這也使SOAP消息能夠越過重重阻隔,將數(shù)據(jù)準確投遞到目的地。當然,此系統(tǒng)采用WebService技術也存在不足和需要改進的地方,例如:基于http承載,使得每對消息來回將建立/消耗一個tcp鏈接,帶來大量開銷;xml數(shù)據(jù)基于文本,浪費了網(wǎng)絡帶寬和服務器內存資源;xml不是隨機可訪問的數(shù)據(jù)結構,需要進行復雜的解析,浪費CPU資源。
五、結語
隨著計算機網(wǎng)絡技術的飛速發(fā)展,網(wǎng)絡服務(WebService)技術已經(jīng)成為了當前最炙手可熱的技術。作為一種新興的技術,WebService比前期的技術有不少的進步。目前,很多商業(yè)系統(tǒng)都采用了WebService技術,并取得了很大的成功。隨著 WebService技術的推出和應用,SOA(面向服務架構)的思想正被一個個效益顯著的信息系統(tǒng)建設項目不斷的示范,WebService與SOA也成為現(xiàn)今IT界最熱門的話題。WebService憑借其松耦合、適合于大顆粒度應用以及基于標準的文本信息等特點在SOA等技術領域得到了很好的應用,這也將是WebService今后發(fā)展的重要領域。相信WebService技術將在今后有著更好的應用與發(fā)展。
參考文獻:
[1]Friedman N.A Bayesian approach to structure discovery in Bayesian networks[J].Machine Learning,2003.5(1-2):95-125.
[2]王繪等,WebService的深入剖析與研究,電腦知識與技術,2005:66-67.
[3]徐黎明等,SOA開發(fā)框架的研究和實現(xiàn),計算機應用,第28卷,2008年6月,307-309.
[4]楊德仁等,基于Web Service核心協(xié)議與實施研究,計算機系統(tǒng)應用,2005第1期,33-36.
作者簡介:
胡澤,男,湖北武漢人,碩士研究生,研究方向為移動通信和電信增值業(yè)務;廖聞劍,男,江蘇南京人,研究生導師,研究方向為網(wǎng)絡信息安全;彭艷兵,男,江蘇南京人,研究生導師,研究方向為搜索引擎和網(wǎng)絡安全。