簡介
WSDL首先對訪問的操作和訪問時使用的請求/回響訊息進行抽象描述,然後將
其綁定到具體的傳輸協定和訊息格式上以最終定義具體部署的服務訪問點。相關的具體部
署的服務訪問點通過組合就成為抽象的Web服務。
由於通信協定和訊息格式在Web技術里已經達到了標準化,我們知道在通常的開發過
程中,對於對象的Interface一定具備相應的SDK描述文檔,Web服務也是一種對象,只不
過它是被部署在Web上而已。很自然地,我們也完全需要有對Web服務這個對象的界面的
SDK描述文檔。然而這兩者又不盡相同,其一如今在Web上的套用已經完全接受了XML
套用基礎
第3章 電子商務相關技術與套用基礎知識 107
這個基本的標準,基本上所有新的技術都是基於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還定義了通用的綁定機制。通過該機制可使特定的
協定、數據格式或結構與抽象的訊息、操作或端點相關聯。該機制還允許對抽象定義進行
再次使用。
WSDL的編寫包括4個步驟:
· 定義服務接口;
· 指定參數;
· 訊息傳遞和傳輸;
· 概括。