webservice概述

一、什麼是webservice?

一句話概括:WebService是一種跨編程語言和跨操作系統平臺的遠程調用技術。

   跨編程語言和跨操作平臺,就是說服務端程序採用java編寫,客戶端程序則可以採用其他編程語言編寫,反之亦然!跨操作系統平臺則是指服務端程序和客戶端程序可以在不同的操作系統上運行。

    所謂遠程調用,就是一臺計算機a 的一個程序可以調用到另外一臺計算機b上的一個對象的方法,比如,最常見的就是天氣預報系統等把自己的系統服務以webservice服務的形式暴露出來,讓第三方網站和程序可以調用這些服務功能,這是SOA的應用。

二、Webservice的基本概念

    Web Service也叫XML Web Service WebService是一種可以接收從Internet或者Intranet上的其它系統中傳遞過來的請求,輕量級的獨立的通訊技術。是:通過SOAP在Web上提供的軟件服務,使用WSDL文件進行說明,並通過UDDI進行註冊

三、Webservice三要素

   1、Soap

   SOAP即簡單對象訪問協議(Simple Object Access Protocal) 是一種簡單的基於 XML 的協議,它使應用程序通過 HTTP 來交換信息,簡單理解爲soap=http+xml。Soap協議是基於http的應用層協議,soap協議傳輸是xml數據。Soap協議版本主要使用soap1.1、soap1.2,並且爲W3C標準,通過可以SOAP調用你建立的Web服務中的一個或多個操作。SOAP是XML文檔形式的調用方法的規範,它可以支持不同的底層接口,像HTTP(S)或者SMTP。

   2、WSDL

   WSDL 是基於 XML 的用於描述Web Service及其函數、參數和返回值。通俗理解Wsdl是Webservice的使用說明書。也是W3C標準。

   3、Uddi(然並卵)

   UDDI 是一種目錄服務,通過它,企業可註冊並搜索 Web services。企業將自己提供的Web Service註冊在UDDI,也可以使用別的企業在UDDI註冊的web service服務,從而達到資源共享。UDDI旨在將全球的webservcie資源進行共享,促進全球經濟合作。但是使用webservice並不是必須使用UDDI,因爲用戶通過WSDL知道了web service的地址,可以直接通過WSDL調用webservice。

四、java中Webservice規範

    1、Jax-ws

    JAX-WS 的全稱爲 Java API for XML-Based Webservices ,早期的基於SOAP 的JAVA 的Web 服務規範JAX-RPC(Java API For XML-Remote Procedure Call)目前已經被JAX-WS 規範取代。從java5開始支持JAX-WS2.0版本,Jdk1.6.0_13以後的版本支持2.1版本,jdk1.7支持2.2版本。

    2、JAX-RS 

    是JAVA 針對REST(Representation State Transfer)風格制定的一套Web 服務規範,由於推出的較晚,該規範(JSR 311,目前JAX-RS 的版本爲1.0)並未隨JDK1.6 一起發行。
支持JAX-RS服務規範的框架有:CXF——XFire和Celtix的合併

五、Webservice的應用場景(看看就行)

    1、企業中系統集成

   在做企業整體信息化時,企業中一般都或多或少的存在一些既存系統,這些各種各樣的系統不可能全部推翻,重新規劃和開發,因爲很多供應商在某一領域也做的很專業,博衆家之長並進行集成應該是一個比較現實和可取的做法。各個系統之間通過WebService進行集成,不僅縮短了開發週期,降低了風險,還減少了代碼複雜度,並能夠增強應用程序的可維護性,因爲webservice支持跨平臺且遵循標準協議(soap)。如果是新開發的系統也可以把系統拆分成多個子系統,系統之間使用webservice通信。這樣可以降低系統之間的耦合度,並且多個子系統可以同時開發,提高開發效率。

    2、軟件擴展重用

   將一個軟件的功能以webservice方式暴露出來,達到軟件重用。例如上邊分析的天氣預報,將天氣查詢功能以webservice接口方式暴露出來非常容易集成在其它系統中;再比如一個第三方物流系統將快遞查詢、快遞登記暴露出來,從而集成在電子商務系統中。

    3、手機App服務端接口

   現在幾乎100%的手機App都需要聯網和服務端有數據交互的行爲。此時需要服務端開發服務接口也就是,Webservice接口。一般來說可以可使用rest風格的Webservice發佈服務,手機App和服務之間傳遞xml或者json數據。

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