Web Service 是什麼

在之前,沒有一個應用程序通訊標 準,是獨立於平臺、組建模型和編程語言的web

  • 只有經過Web Service,客戶端和服務器纔可以自由的用HTTP進行通訊,不論兩個程序的平臺和編程語言是什麼。
  • 一言以蔽之:WebService是一種跨編程語言和跨操做系統平臺的遠程調用技術。
    • amazon,天氣預報系統,淘寶網,校內網,百度等把本身的系統服務以webservice服務的形式暴露出來,讓第三方網站和程 序能夠調用這些服務功能,這樣擴展了本身系統的市場佔有率,往大的概念上吹,就是所謂的SOA應用。
  • 從表面上看,咱們把調用這個WebService的應用程序叫作客戶端,而把提供這個WebService的應用程序叫作服務端
  • 從深層次 看,WebService是創建可互操做的分佈式應用程序的新平臺,是一個平臺,是一套標準。
  • 必須有一種方法來對這個Web service進行遠 程調用,這種方法實際是一種遠程過程調用協議(RPC)。
    • 爲了達到互操做性,這種RPC協議還必須與平臺和編程語言無關。

WebService平臺技術

  • XML+XSD,SOAP和WSDL就是構成WebService平臺的三大技術。

XML+XSD

  • WebService採用HTTP協議傳輸數據,採用XML格式封裝數據
  • XML解決了數據表示的問題,但它沒有定義一套標準的數據類型,更沒有說怎麼去擴展這套數據類型。
  • XML Schema(XSD)就是專門解決這個問題的一套標準。

SOAP

  • WebService經過HTTP協議發送請求和接收結果時,發送的請求內容和結果內容都採用XML格式封裝,並增長了一些特定的HTTP消息頭,以說明 HTTP消息的內容格式。
  • 這些特定的HTTP消息頭和XML內容格式就是SOAP協議。
  • SOAP提供了標準的RPC方法來調用Web Service。

SOAP協議 = HTTP協議 + XML數據格式編程

  • SOAP協議定義了SOAP消息的格式,SOAP協議是基於HTTP協議的,SOAP也是基於XML和XSD的,XML是SOAP的數據編碼方式。
    • 打個比 喻:HTTP就是普通公路,XML就是中間的綠色隔離帶和兩邊的防禦欄,
    • SOAP就是普通公路通過加隔離帶和防禦欄改造過的高速公路。

WSDL服務器

  • WebService務器端首先要經過一個WSDL文件來講明本身家裏有啥服務能夠對外調用,
    • 服務是什麼(服務中有哪些方法,方法接受 的參數是什麼,返回值是什麼),
    • 服務的網絡地址用哪一個url地址表示,服務經過什麼方式來調用。
  • WSDL(Web Services Description Language)就是這樣一個基於XML的語言,用於描述Web Service及其函數、參數和返回值。
    • 它是WebService客戶端和服務器端都 能理解的標準格式。
    • 一些最新的開發工具既能根據你的 Web service生成WSDL文檔,又能導入WSDL文檔,生成調用相應WebService的代理類代碼。
  • WSDL 文件保存在Web服務器上,經過一個url地址就能夠訪問到它。
    • 客戶端要調用一個WebService服務以前,要知道該服務的WSDL文件的地址。
    • WebService服務提供商能夠經過兩種方式來暴露它的WSDL文件地址:
      • 1.註冊到UDDI服務器,以便被人查找;
      • 2.直接告訴給客戶端調用者。

Hessian網絡

  • 是一種二進制 WebService 協議,它無需藉助一個牛逼框架來使用 WebService,也無需學習其它亂七八糟的協議。
  • 由於它是一種二進制協議,它很是適合於發送二進制數據,沒有任何須要來對現有協議進行擴展。
相關文章
相關標籤/搜索