WebService 學習筆記(1、概念及定義)

定義linux

WebService是一種服務導向架構(SOA service-oriented architecture)的技術,經過標準的Web協議提供服務,目的是保證不一樣平臺的應用服務能夠互操做。編程

WebService應當是一個軟件系統,用以支持網絡間不一樣機器的互動操做。網絡服務一般是許多 API 所組成的,它們透過網絡,例如 Internet 的遠程服務器端,執行客戶所提交服務的請求。json

WebService腳本平臺需支持XML+HTTP。(基於SOAP)安全

SOA服務器

SOA 面向服務的體系結構(service-oriented architecture)並不特指一種技術,而是一種分佈式運算的軟件設計方法。軟件的部分組件(調用者),能夠透過網上的通用協議(如:HTTP)調用另外一個應用軟件組件運行、運做,讓調用者得到服務。網絡

SOA中的一項服務應有如下四個特性:架構

  1. 針對某特定要求的輸出,該服務就是運做一項商業邏輯
  2. 具備完備的特性(self-contained)
  3. 消費者並不須要瞭解此服務的運做過程
  4. 可能由底層其餘服務組成

 

優點編程語言

  1. 跨平臺調用(WebService不侷限於操做系統,你能夠在Windows上調用linux上的WebService服務,反之亦然,其餘系統同理);
  2. 跨語言調用(WebService不侷限於編程語言,你能夠在Java語言中調用C#語言提供的WebService服務,反之亦然,其餘語言同理);
  3. 可遠程調用(經過使用WebService,您的應用程序能夠向全世界發佈信息,或提供某項功能,只要有Internet)。

 

WebService 平臺的元素:分佈式

  • SOAP (簡易對象訪問協議)
  • UDDI (通用描述、發現及整合;PS:並不經常使用)
  • WSDL (WebService描述語言)

 

其餘相關概念:工具

SEI

SEI (Service Endpoint Interface) 在Webservice中被稱爲 port ,在Java中稱爲接口(Endpoint),WebService服務器端用來處理請求的接口。

Endpoint

服務端點(Endpoint),簡單的來講它就是WebService 暴露出來的一個URL。經過這個URL,client應用或者說調用端就能夠訪問到其對應的服務。

WebService中一個基於SOAP的service能夠經過單獨的一個Java類來實現。一個endpoint interface,即SEI,是WebService公開時在JavaEE中使用的術語。 它使用@WebService進行註釋,代表這是一個組件接口,它聲明瞭向客戶端公開的全部抽象方法。

SOAPRESTful

SOAP是一種數據交換協議規範,是一種輕量的、簡單的、基於XML的協議的規範。其主要核心是面向活動。

RESTful是一種架構設計風格,提供了設計原則和約束條件,而不是架構。而知足這些約束條件和原則的應用程序或設計就是 RESTful架構或服務。其主要核心是面向資源。

REST能夠看着是http協議的一種直接應用,默認基於json做爲傳輸格式,使用簡單,學習成本低效率高;而SOAP能夠看着是一個重量級的協議,基於xml,SOAP在安全方面是經過使用XML-Security和XML-Signature兩個規範組成了WS-Security來實現安全控制的。簡單數據操做,無事務處理,開發和調用簡單這些是使用REST架構風格的優點。而對於較爲複雜的面向活動的服務,若是咱們仍是使用REST,不少時候都是仍然是傳統的面向活動的思想經過轉換工具再轉換獲得REST服務,這種使用方式是沒有意義的。

相關文章
相關標籤/搜索