1. 程式人生 > >web伺服器:SOAP,WSDL,UDDI

web伺服器:SOAP,WSDL,UDDI

一、web服務簡介

    Web Services是一個可以將應用程式變為Web應用程式,將自己本地的應用程式資訊通過網路,釋出到網路中,讓別人通過瀏覽器訪問本地資訊。

    Web Services的技術主要建立在XML的規範之上,保證了這一體系結構的平臺無關性、語言無關性和人機互動效能。

    Web Services框架的核心技術包括SOAPWSDLUDDI,它們都是以標準的XML文件的形式表示的。

    1. SOAPSimple Object Access Protocol)簡單物件訪問協議,訊息起著用來交換XML文件和資料的網路信封的作用。
    2. WSDLWeb Service Description Language
      Web服務描述標準,勇於描述使用SOAP在兩個系統間交換的XML資料的結構。
    3. UDDIUniversal DescriptionDiscoveryand Intergration,通用描述,發現與整合)定義了一套標準的WEB服務操作(方法),用於儲存、查詢有關其他Web服務應用程式方面的資訊。

web服務框架:


二、Web服務結構單元


SOAP

    SOAP是一種簡單的、輕量級的基於XML的機制,用於在網路應用程式之間進行結構化的資料交換。SOAP包括三部分:一個定義描述訊息內容的框架的信封,一組表示應用程式定義的資料型別例項的編碼規則,以及表示遠端過程呼叫和響應的約定。

    SOAP

訊息包含在HTTP的請求與應答訊息的有效負載區中。由於HTTP POST請求存在有效負載區,因此完全適於攜帶SOAP訊息。HTTP應答訊息均遵循相同的格式並攜帶有效負載。

WSDL

     WSDL協議(Web服務描述語言)描述如何與一個Web服務通訊,用於描述Web Service及其函式、引數和返回值。因為基於XML的,所以WSDL既是機器可讀,又是人可讀。一些新的開發工具能根據Web Service生成WSDL文件,又能匯入WSDL文件,生成呼叫相應的WebService程式碼。在WSDL定義中,允許不同型別的通訊(繫結)。

    WSDL可與SOAP繫結:當您在UDDI註冊中心釋出

Web服務時,會把WSDLSOAP/UDDI結合起來。

    WSDLUDDI的對映:為幫助在UDDI註冊中心釋出和查詢WSDL服務描述,WSDL文件被分為兩種型別:服務介面(serviceinterface)和服務實現(serviceimplementatios)。服務介面由WSDL文件來描述,這種文件包含服務介面的types、import、message、portType和binding等元 素。服務介面定義了實現一個或多個服務的WSDL服務,它是Web服務的抽象定義,並被用於描述某種具體型別的服務。

UDDI

    UDDI資料實體提供對定義業務和服務資訊的支援。WSDL中定義的服務描述資訊時UDDI註冊中心的補充。


    與SOAP關係:

UDDI構建於網路傳輸層和基於SOAPXML訊息傳輸層之上。

UDDI提供了一種程式設計模型和模式,它定義域註冊中心通訊的規則。UDDI規範中所有的API都用XML來定義,包裝在SOAP信封中,在HTTP上傳輸。

UDDI訊息的傳輸,通過HTTP從客戶機的SOAP請求傳到註冊中心節點,再反向傳輸。註冊中心伺服器的SOAP伺服器接受UDDISOAP訊息,進行處理,然後把SOAP響應返回給客戶機。


三、關係

WSDL用來描述服務;

UDDI用來註冊和查詢服務;

SOAP作為傳輸層,用來在消費者和服務提供者之間傳送訊息。SOAP是Web服務的預設機制,其他的技術為可以服務實現其他型別的繫結。

使用者可以在UDDI登錄檔(registry)查詢服務,取得服務的WSDL描述,然後通過SOAP來呼叫服務。

四、如何呼叫WebServices

     客戶端::取得服務端的服務描述檔案WSDL,解析該檔案的內容,瞭解服務端的服務資訊,以及呼叫方式。根據需要,生成恰當的SOAP請求訊息(指定呼叫的方法,已經呼叫的引數),發往服務端。等待服務端返回的SOAP迴應訊息,解析得到返回值。

    服務端:生成服務描述檔案,以供客戶端獲取。接收客戶端發來的SOAP請求訊息,解析其中的方法呼叫和引數格式。根據WSDL和WSML的描述,呼叫相應的COM物件來完成指定功能,並把返回值放入SOAP迴應訊息返回給使用者。

五、總結

     Web服務的現狀:Web站點就像孤島,資訊無法管理。資訊互動能及時獲取資料,這時候用到了web服務,增加系統分散式通訊。各站點之間就可以通訊了。