Web Services概述

Web Service微軟提出的基於互聯網的開發模型,一經提出即收到業界的廣泛推從。本文將總結了一些Web Services相關的一些重要概念,解釋了什麼是Web Service,詳細說明了Web Service的體系結構,如何運用Web Service,如果你是初次接觸Web Service,那麼你一定會有不少的收穫。

  體系結構描述

  概念

  定義一:

  Web Services是自包含的、模塊化的應用程序,它可以在網絡(通常爲Web)中被描述、發佈、查找以及調用。

  定義二:

  Web Services是基於網絡的、分佈式的模塊化組件,它執行特定的任務,遵守具體的技術規範,這些規範使得Web Service能與其他兼容的組件進行互操作。

  定義三:

  所謂Web服務,它是指由企業發佈的完成其特別商務需求的在線應用服務,其他公司或應用軟件能夠通過Internet來訪問並使用這項應用服務。(UDDI規範2.0)

  體系結構

  Web 服務的一個主要思想,就是未來的應用將由一組應用了網絡的服務組合而成。只要兩個等同的服務使用統一標準和中性的方法在網絡上宣傳自己,那麼從理論上說,一個應用程序就可以根據價格或者性能的標準,從兩個彼此競爭的服務之中選出一個。除此之外,一些服務允許在機器之間複製,因而可以通過把有用的服務複製到本地儲存庫,來提高允許運行在特定的計算機(羣)上的應用程序的性能。

  Web Services體系結構是面向對象分析與設計(OOAD)的一種合理發展(logical evolution),同時也是電子商務解決方案中,面向體系結構、設計、實現與部署而採用的組件化的合理發展(logical evolution of components geared towards the architecture, design, implementation, and deployment of e-business solutions)。這兩種方式在複雜的大型系統中經受住了考驗。和麪向對象系統一樣,封裝、消息傳遞、動態綁定、服務描述和查詢也是Web Services中的基本概念,而且,Web Services另外一個基本概念就是:所有東西都是服務,這些服務發佈一個API供網絡中的其他服務使用,並且封裝了實現細節。

  下面我們就來看一下Web Services的體系結構--面向服務的體系結構(SOA)。


    圖1:面向服務的體系結構(SOA)

  從圖1可以看出,SOA結構中共有三種角色:

  ① Service provider:發佈自己的服務,並且對使用自身服務的請求進行響應

  ② Service broker:註冊已經發布的Service provider,對其進行分類,並提供搜索服務

  ③ Service requester:利用Service broker查找所需的服務,然後使用該服務

  SOA體系結構中的組件必須具有上述一種或多種角色。

  在這些角色之間使用了三種操作:

  ① publish操作:使Service provider可以向Service broker註冊自己的功能及訪問接口

  ② find操作:使Service requester可以通過Service broker查找特定種類的服務

  ③ bind操作:使Service requester能夠真正使用Service provider

  爲支持結構中的三種操作(publish、find和bind),SOA需要對服務進行一定的描述,這種服務描述(Service Description)應具有下面幾個重要特點:首先,它要聲明Service provider的語義特徵。Service broker使用語義特徵將Service provider進行分類,以幫助具體服務的查找。Service requester根據語義特徵來匹配那些滿足要求的Service provider。(因此,語義特徵中重要的一點就是對Service provider的分類。)其次,服務描述應該聲明接口特徵,以訪問特定的服務。最後,服務描述還應聲明各種非功能特徵,如安全要求,事務要求,使用Service provider的費用等等。接口特徵和非功能特徵也可以用來幫助Service requester對Service provider的查找。

  注意,服務描述和服務實現是分離的,這使得Service requester可以在Service provider的一個具體實現(implementation)正處於開發階段、部署階段或完成(execution)階段時,對其(具體實現)進行綁定。
另外,SOA中的組件相互之間必須能夠進行交互,才能進行上述三種操作。所以Web Services體系結構的另一個基本原則就是使用標準的技術,包括服務描述、通訊協議以及數據格式等。這樣一來,開發者就可以開發出平臺獨立、編程語言獨立的Web Services,從而能夠充分利用現有的軟硬件資源和人力資源。

  最後,SOA體系結構沒有對Web Service的粒度進行限制,因此一個Web Service即可以是一個組件(小粒度),該組件必須和其他組件結合才能進行完整的業務處理;Web Service也可以是一個應用程序(大粒度)。
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章