Web服務的結構

最底層是服務傳輸層,在圖中可以看到Web服務可以使用多種(OSI應用層)網絡協議進行消息傳遞,HTTP是使用最爲廣泛的,因爲HTTP的請求應答模式十分符合RPC類型調用,SMTP主要用於異步方式的調用,例如訂閱信息等等。

服務消息層的協議定義了消息的格式,在這一層裏幾乎全部是以SOAP爲協議的,至少我還沒見過使用其他協議的例子。SOAP的基礎是XML,也就是說,SOAP消息一定都是XML格式的。

服務描述層的協議用於對如何使用這個Web服務進行描述,描述信息一般包括使用到的數據類型、消息格式、方法名稱和參數(在WSDL裏的稱呼有所不同)等等。WSDL也是以XML爲基礎的。

服務發佈和發現層協議是供註冊中心這個角色使用的,UDDI是目前使用最廣泛的註冊中心,圖中其他幾種方式也有應用。

服務組裝層用於組裝Web服務成爲新的服務,這些被組裝起來的服務一般體現了一定的業務流程。其好處是各服務間耦合很小,改變起來十分容易。在這一層裏,目前有不少協議正在競爭,BPEL4WS可以說具有一定的優勢吧。

待開發的協議與我們比較小,暫時不說了。圖中右邊三個縱向協議貫穿整個Web服務生命週期,它們是服務管理、服務質量和服務安全。因爲將來很多的Web服務是要收費纔可以使用的,和錢掛鉤的東西就必須能夠管理、保證質量和安全才行。一直以來,它們都是Web服務研究的難點(因爲涉及到太多方面的利益),目前在功能方面Web服務已經做好了準備,如果能夠攻破這些非功能性的難題,我想Web服務距離大規模應用就不遠了。

圖1是比較常見的一種協議棧圖,實際上由於Web服務的使用方式多種多樣,協議棧圖也未必相同。例如w3.org上的是這樣,它把XML也技術表現在圖上,體現了其在Web服務中的基礎地位。

總結一下Web服務的關鍵技術:XML、SOAP、WSDL、UDDI和BPEL4WS

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章