webservice的學習總結

來源:互聯網
上載者:User


簡單來說, Web Service (一下簡稱 WS )就是不同伺服器間調用資源的一種方法。

與之對應的是本地服務,但本地服務存在缺陷:本地資源不足、成本因素、可移植性差等。

而 WS ,平台無關,不管什麼平台都能使用 WS ;程式設計語言無關,無論使用什麼語言,只要遵守相關協議,就可以調用 WS 暴露的 API 。

目前 WS 有兩種實現方法使用最多,一種是 Restful WebService ,一種是 XML-RPC WebService 。

下面先說下大家熟悉的 XML 格式

(一)XML-RPC Web Service

1. 何時使用
WS 在跨平台和跨網路進行通訊時,是非常有用的。
 
2. 原理


實際上是一個應用程式,向外界暴露一個能通過 web 進行調用的 API ,可以使用任何語言。
服務端:
服務端產生 wsdl 檔案,描述介面及訪問方式。接受用戶端發來的 SOAP 請求訊息,解析其中的方法調用和參數格式,調用相應業務完成指定功能,並把傳回值放入 SOAP 回應訊息返回給調用者。
用戶端:


取得服務端的服務描述語言檔案( WSDL ),解析該檔案,瞭解服務端的調用資訊及方式。根據需要,產生恰當的 SOAP 請求(指定調用的方法、參數),發送到服務端,等待 SOAP 回應訊息, 解析傳回值。


3. WSDL :


怎樣向別人介紹你的 WS有什麼功能,以及每個函數調用時的參數呢,這就是 WSDL ,描述介面及訪問方式的檔案。


4. WSDL 和 SOAP 的關係


SOAP 是個通訊協定, SOAP 在 HTTP 協議的基礎上,把編寫成 XML 的 REQUEST 參數 , 放在 HTTP body 上提交個 WS伺服器 (servlet , ASP 什麼的 ) 處理完成後,結果也寫成 XML 作為 response 送回使用者端,   為了使使用者端和 WS可以相互對應,可以使用 WSDL 作為這種通訊方式的描述檔案,利用 WSDL 工具可以自動產生 WS 和使用者端的架構檔案, SOAP 具備把複雜對 象序列化捆綁到 XML 裡去的能力。

SOAP 的前身是 RPC, 就是遠程呼叫處理的協議,這個協議安全性不是很好,多數防火牆都會阻擋 RPC 的通訊包,而 SOAP 則使用 HTTP 協議作為基本的協議,使用連接埠 80 使得 SOAP 可以透過防火牆,完成 RPC 的功能。

SOAP 協議和 HTTP 協議一樣,都是底層的通訊協定,只是請求包的格式不同而已, SOAP 包是 XML 格式的。

(二) RESTful Service

1.基本介紹

Restful WebService 是符合REST(Representational State Transfer) 風格的Web 服務架構。REST Web 服務是面向資源的服務,可以通過統一資源識別項(Universal Resource Identifier, URI )來識別和定位資源,並且針對這些資源而執行的操作是通過HTTP 規範定義的。XML-RPC WebService 指就是傳統的基於SOAP 、UDDI 、WSDL 的WebService 。
Restful WebService 充分利用了現有的web 基礎設施,從而提高了網路效率。


2.實現方式

       RESTful WebService 的實現方式有多種,abdera 、resteasy 。

       abdera 開發複雜,resteasy 本身也是jboss 產品,所以當伺服器使用的是jboss 時,實現更適合用resteasy ,開發簡單,只需在類和方法指定資源路徑。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.