WebService學習

1.      定義

Web服務是一種面向服務的架構的技術,通過標準的Web協議提供服務,目的是保證不同平臺的應用服務可以互相調用。對一個系統來說,WebService就是這個系統的對外的接口,其他系統通過這個接口進行接入訪問。

2.      核心技術

  1. XML:描述數據的標準方法.

  2. SOAP:簡單對象訪問協議.

  3. WSDL:Web服務描述語言.

  4. UDDI(Universal Description, Discovery and Integration):通用描述、發現與集成,它是一種獨立於平臺的,基於XML語言的用於在互聯網上描述商務的協議.

Web Service好比一個服務供應商,給其他廠家提供基礎服務,其他廠家再將這個服務包裝成自己的產品或者服務提供給別人或自己使用。有點像OEM了。既然兩個公司需要合作,不可能靠一句話就可以的,就需要一些標準和規範的東西來實現。那麼:

SOAP 就像兩個公司之間籤的合同,約束雙方按一定規矩和標準辦事。

WSDL 則像說明書,告訴別人你有什麼,能給別人提供什麼服務。

UDDI 好比你的公司需要在黃頁或工商註冊,企業的主營業務登記,方便別人查詢。當然,你也可以不在 UDDI 中註冊,就像在地下室開展業務,靠的是口頭吆喝;但是如果你希望拓展市場,則需要 UDDI 以便能被客戶發現,更方便地找到你。

3.      實現方式

  1)   遠程過程調用(RPC)

WEB服務提供一個分佈式函數或方法接口供用戶調用,這是一種比較傳統的方式。通常,在WSDL中對RPC接口進行定義(類似於早期的XML-RPC)。

儘管最初的WEB服務廣泛採用RPC方式部署,但針對其過於緊密之耦合性的批評聲也隨之不斷。這是因爲RPCWEB服務實質上是利用一個簡單的映射,以把用戶請求直接轉化成爲一個特定語言編寫的函數或方法。如今,多數服務提供商認定此種方式在未來將難有作爲,在他們的推動下,WS-I基本協議集(WS-I Basic Profile)已不再支持遠程過程調用。

  2)   面向服務架構(SOA)

現在,業界比較關注的是遵從面向服務架構(Service-oriented architectureSOA)概念來構築WEB服務。在面向服務架構中,通訊由消息驅動,而不再是某個動作(方法調用)。這種WEB服務也被稱作面向消息的服務。

SOAWEB服務得到了大部分主要軟件供應商以及業界專家的支持和肯定。作爲與RPC方式的最大差別,SOA方式更加關注如何去連接服務而不是去特定某個實現的細節。WSDL定義了聯絡服務的必要內容。

  3)   表述性狀態轉移(REST)

表述性狀態轉移式(Representational state transferRESTWEB服務類似於HTTP或其他類似協議,它們把接口限定在一組廣爲人知的標準動作中(比如HTTPGETPUTDELETE)以供調用。此類WEB服務關注與那些穩定的資源的互動,而不是消息或動作。

此種服務可以通過WSDL來描述SOAP消息內容,通過HTTP限定動作接口;或者完全在SOAP中對動作進行抽象。

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