Web 服務描述語言 (Web ServicesDescriptionLanguage, WSDL)是一種XML Application,它將Web服務描述定義為一組服務訪問點,客戶端可以透過這些服務訪問點對包含面向文件資訊或面向過程呼叫的服務進行訪問(類似遠端過程呼叫)。
WSDL首先對訪問的操作和訪問時使用的請求/響應訊息進行抽象描述,然後將其繫結到具體的傳輸協議和訊息格式上以最終定義具體部署的服務訪問點。相關的具體部署的服務訪問點透過組合就成為抽象的Web服務。由於通訊協議和訊息格式在Web技術裡已經達到了標準化,我們知道在通常的開發過程中,對於物件的Interface一定具備相應的SDK描述文件,Web服務也是一種物件,只不過它是被部署在Web上而已。很自然地,我們也完全需要有對Web服務這個物件的介面的SDK描述文件。然而這兩者又不盡相同,其一如今在Web上的應用已經完全接受了XML。
應用基礎
這個基本的標準,基本上所有新的技術都是基於XML標準的,其二Web服務的目標是即時裝配,鬆散耦合以及自動整合的,這意味著SDK描述文件應當是具備被機器識別的能力的。也就是說,對於使用標準化的訊息格式/通訊協議的Web服務,它需要以某種結構化的方式(即XML)對Web服務的呼叫/通訊加以描述,而且實現這一點也顯得非常重要,這是Web服務即時裝配的基本保證。WSDL正是這樣一種描述語言,WSDL定義了一套基於XML的語法,將Web服務描述為能夠進行訊息交換的服務訪問點的集合,從而滿足了這種需求。
WSDL服務定義為分散式系統提供了可供機器識別的SDK文件,並且可用於描述自動執行應用程式通訊中所涉及的細節。WSDL文件將Web服務定義為服務訪問點或埠的集合。
元素
在WSDL中,由於服務訪問點和訊息的抽象定義已從具體的服務部署或資料格式繫結中分離出來,因此可以對抽象定義進行再次使用:訊息指對交換資料的抽象描述;而埠型別則是指操作的抽象集合。用於特定埠型別的具體協議和資料格式規範構成了可以再次使用的繫結。將Web訪問地址與可再次使用的繫結相關聯,可以定義一個埠,而埠的集合則定義為服務。因此,WSDL文件在Web服務的定義中使用下列元素:
· Types:資料型別定義的容器,它使用某種型別系統(如XSD);
· Message:通訊資料的抽象型別化定義;
· Operation:對服務所支援的操作的抽象描述;
· Port Type:操作的抽象集合,這些操作由一個或多個端點支援;
· Binding:特定埠型別的具體協議和資料格式規範;
· Port:繫結網路地址的端點;
· Service:相關端點的集合。
應該注意的是,WSDL並沒有引入新的型別定義語言。雖然要描述訊息格式需要豐富的型別系統,並且它也支援XML架構規範(XSD)作為其標準型別系統,但是,由於不可能只用一種型別系統語法來描述當下和將來的所有訊息格式,因此WSDL允許透過擴充套件來使用其他型別定義語言。此外,WSDL還定義了通用的繫結機制。透過該機制可使特定的協議、資料格式或結構與抽象的訊息、操作或端點相關聯。該機制還允許對抽象定義進行再次使用。
Web 服務描述語言 (Web ServicesDescriptionLanguage, WSDL)是一種XML Application,它將Web服務描述定義為一組服務訪問點,客戶端可以透過這些服務訪問點對包含面向文件資訊或面向過程呼叫的服務進行訪問(類似遠端過程呼叫)。
WSDL首先對訪問的操作和訪問時使用的請求/響應訊息進行抽象描述,然後將其繫結到具體的傳輸協議和訊息格式上以最終定義具體部署的服務訪問點。相關的具體部署的服務訪問點透過組合就成為抽象的Web服務。由於通訊協議和訊息格式在Web技術裡已經達到了標準化,我們知道在通常的開發過程中,對於物件的Interface一定具備相應的SDK描述文件,Web服務也是一種物件,只不過它是被部署在Web上而已。很自然地,我們也完全需要有對Web服務這個物件的介面的SDK描述文件。然而這兩者又不盡相同,其一如今在Web上的應用已經完全接受了XML。
應用基礎
這個基本的標準,基本上所有新的技術都是基於XML標準的,其二Web服務的目標是即時裝配,鬆散耦合以及自動整合的,這意味著SDK描述文件應當是具備被機器識別的能力的。也就是說,對於使用標準化的訊息格式/通訊協議的Web服務,它需要以某種結構化的方式(即XML)對Web服務的呼叫/通訊加以描述,而且實現這一點也顯得非常重要,這是Web服務即時裝配的基本保證。WSDL正是這樣一種描述語言,WSDL定義了一套基於XML的語法,將Web服務描述為能夠進行訊息交換的服務訪問點的集合,從而滿足了這種需求。
WSDL服務定義為分散式系統提供了可供機器識別的SDK文件,並且可用於描述自動執行應用程式通訊中所涉及的細節。WSDL文件將Web服務定義為服務訪問點或埠的集合。
元素
在WSDL中,由於服務訪問點和訊息的抽象定義已從具體的服務部署或資料格式繫結中分離出來,因此可以對抽象定義進行再次使用:訊息指對交換資料的抽象描述;而埠型別則是指操作的抽象集合。用於特定埠型別的具體協議和資料格式規範構成了可以再次使用的繫結。將Web訪問地址與可再次使用的繫結相關聯,可以定義一個埠,而埠的集合則定義為服務。因此,WSDL文件在Web服務的定義中使用下列元素:
· Types:資料型別定義的容器,它使用某種型別系統(如XSD);
· Message:通訊資料的抽象型別化定義;
· Operation:對服務所支援的操作的抽象描述;
· Port Type:操作的抽象集合,這些操作由一個或多個端點支援;
· Binding:特定埠型別的具體協議和資料格式規範;
· Port:繫結網路地址的端點;
· Service:相關端點的集合。
應該注意的是,WSDL並沒有引入新的型別定義語言。雖然要描述訊息格式需要豐富的型別系統,並且它也支援XML架構規範(XSD)作為其標準型別系統,但是,由於不可能只用一種型別系統語法來描述當下和將來的所有訊息格式,因此WSDL允許透過擴充套件來使用其他型別定義語言。此外,WSDL還定義了通用的繫結機制。透過該機制可使特定的協議、資料格式或結構與抽象的訊息、操作或端點相關聯。該機制還允許對抽象定義進行再次使用。