Web Service——下一代的WWW[轉]

來源:互聯網
上載者:User
web Web Service一詞似乎一夜之間就熱了起來。所謂的Web Service是指由企業發布的完成其特別商務需求的線上應用服務,其他公司或應用軟體能夠通過Internet來訪問並使用這項線上服務。
Web Service是下一代的WWW,它允許在Web網站上放置可程式化的元素,能進行基於Web的分散式運算和處理。Web Service的發展非常迅速,這個新規範(SOAP、WSDL 和 UDDI)的構建模組僅僅才出現了幾個月,就已經對設計、開發和部署基於 Web 的應用產生了巨大的影響,軟體產業的巨頭和Internet時代的軟體新貴們已經開始了在這個領域新一輪的競爭。

Web Service
的特點
Web Service是封裝成單個實體並發布到網路上供其他程式使用的功能集合。Web Service是用於建立開放分布式系統的構件,可以使公司和個人迅速且廉價地向全世界提供其資料服務。
Web Service是下一代分布式系統的核心,它具有如下特點:  
● 互通性:任何的 Web Service都可以與其他 Web Service進行互動。由於有了SOAP(Simple Object Access Protocol)這個所有主要供應商都支援的新標準協議,因而避免了在CORBA、DCOM 和其他協議之間轉換的麻煩。還因為可以使用任何語言來編寫 Web Service,因此開發人員無需更改其開發環境,就可生產和使用 Web Service。  
● 普遍性:Web Service使用 HTTP 和 XML 進行通訊。因此,任何支援這些技術的裝置都可以擁有和訪問 Web Service。  
● 便於使用:Web Service背後的概念易於理解,並且有來自 IBM 和微軟這樣的供應商的免費工具箱能夠讓開發人員快速建立和部署 Web Service。此外,其中的某些工具箱還可以讓已有的 COM組件和 JavaBean 方便地成為 Web Service。  
● 行業支援:所有主要的供應商都支援 SOAP 和周邊 Web Service技術。例如,微軟的 .Net 平台就基於 Web Service,因此用 Visual Basic 編寫的組件很容易作為Web Service部署,並可以被IBM VisualAge 編寫的 Web Service使用。  
Web Service
的體繫結構
Web Service是獨立的、模組化的應用,能夠通過網路,特別是WWW來描述、發布、定位以及調用。Web Service的體繫結構描述了三個角色(服務提供者、服務要求者、服務代理者)以及三個操作(發布、尋找、綁定)。
服務提供者通過在服務代理者那裡註冊來配置和發布服務,服務要求者通過尋找服務代理者那裡的被發布服務的登記記錄來找到服務,服務要求者綁定服務提供者並使用可用的服務。
在Web Service的世界裡,三個操作都包含三個受到稱讚卻又截然不同的技術。發布服務使用UDDI(統一描述、發現和整合),尋找服務使用 UDDI 和 WSDL(Web Service描述語言)的組合,綁定服務使用WSDL 和SOAP。 在三個操作中,綁定操作是最重要的,它包含了服務的實際使用,這也是容易發生互通性問題的地方。正是由於服務提供者和服務要求者對 SOAP 規範的全力支援才解決了這些問題,並實現了無縫互通性。
當開發人員開發新的應用時,可以通過UDDI Operator或UDDI Search Engine的Web介面在UDDI Registry上找到需要的Web Service;然後在UDDI Registry內,或通過UDDI Registry中的串連找到該Web Service的調用規範,該調用規範一般使用WSDL描述。開發人員可以使用開發工具或通過手動方式調用該規範,然後在自己的應用中加上該調用規範定義的Web Service調用。這樣開發出的應用就可以通過SOAP來調用指定的Web Service了。
而對於具有自動整合相關應用的服務(Service)或應用(Application),使用者應用通過SOAP協議訪問UDDI Operator或UDDI Registry,找到需要的Web Service,UDDI Operator和UDDI Registry會通過SOAP協議響應Web Service的調用規範和調用規範的連結,應用程式得到使用WSDL描述的服務調用規範文本,通過解析該描述文本,自動產生本地調用介面綁定,並將所需的調用參數適當綁定並完成調用。
簡單對象
訪問協議SOAP
SOAP是一種基於XML的不依賴傳輸協議的展示層協議,用來在應用程式之間方便地以對象的形式交換資料。在SOAP的下層,可以是HTTP/HTTP,也可以是SMTP/POP3,還可以是為一些應用而專門設計的特殊的通訊協定。
SOAP以XML形式提供了一個簡單、輕量的用於在分散或分布環境中交換結構化和類型資訊的機制。SOAP本身並沒有定義任何應用程式語義,如編程模型或特定語義的實現;實際上,它通過提供一個有標準組件的包模型和在模組中進行資料編碼的機制,定義了一個簡單的表示應用程式語義的機制,這使SOAP能夠用於從訊息傳遞到RPC的各種系統。
SOAP包括三個部分:  
● SOAP封裝結構:定義了一個整體架構,以表示訊息中包含什麼內容,誰來處理這些內容以及這些內容是可選的或是必需的。  
● SOAP編碼規則:定義了用以交換應用程式定義的資料類型的執行個體的一系列機制。  
● SOAP RPC表示:定義了一個用來表示遠端程序呼叫和應答的協定。  
在SOAP封裝、SOAP編碼規則和SOAP RPC協定之外,這個規範還定義了兩個協議的綁定,描述了在有或沒有HTTP擴充架構的情況下,SOAP訊息如何包含在HTTP訊息中被傳送。
統一描述、
發現和整合協議UDDI
UDDI是一套基於Web的、分布式的、為Web Service提供的、資訊註冊中心的實現標準規範,同時也包含一組使企業能將自身提供的Web Service註冊,以使別的企業能夠發現的訪問協議的實現標準。
UDDI的核心組件是UDDI商業註冊,它使用一個XML文檔來描述企業及其提供的Web Service。從概念上來說,UDDI商業註冊所提供的資訊包含三個部分:
● 白頁(White Page): 包括了地址、聯絡方法和已知的企業標識。
● 黃頁(Yellow page):包括了基於標準分類法的行業類別。
● 綠頁(Green Page):包括了關於該企業所提供的Web Service的技術資訊,其形式可能是一些指向檔案或URL的指標,而這些檔案或URL是為服務發現機制服務的。
所有的UDDI商業註冊資訊都儲存在UDDI商業註冊中心。通過使用UDDI的探索服務,企業可以單獨註冊那些希望被別的企業發現的自身提供的Web Service。企業可以通過UDDI商業註冊中心的Web介面,或使用實現了“UDDI Programmer's API標準”所描述的編程介面的工具,將資訊加入到UDDI的商業註冊中心。UDDI商業註冊中心在邏輯上是集中的,在物理上是分布式的,由多個根節點組成,相互之間按一定規則進行資料同步。當一個企業在UDDI商業註冊中心的一個執行個體中實施註冊後,其註冊資訊會被自動複製到其他UDDI 根節點,於是就能被任何希望發現這些Web Service的人所發現。
Web服務
描述語言WSDL
隨著通訊協定和訊息格式在Web中的標準化,以某種格式化的方法描述通訊變得越來越重要,其實現的可能性也越來越大。用WSDL定義的一套XML文法描述的網路服務方式滿足了這種需求。WSDL把網路服務定義成一個能交換訊息的通訊端點集。WSDL服務為分布式系統提供了協助文檔,同時該服務也可作為自動實現應用間通訊的解決方案。
一個WSDL文檔將服務定義為一個網路端點的集合,或者連接埠的集合。在WSDL裡,端點及訊息的抽象定義與它們具體的網路實現和資料格式綁定是分離的。這樣就可以重用這些抽象定義:訊息,需要交換的資料的抽象描述;連接埠類型,操作的抽象集合。針對一個特定連接埠類型的具體協議和資料格式規範構成一個可重用的綁定。一個連接埠定義成網路地址和可重用的綁定的聯結,連接埠的集合定義為服務。因此,一個WSDL文檔在定義網路服務時使用如下的元素:
● 類型:使用某種類型系統(如XSD)定義資料類型。  
● 訊息:通訊資料抽象的有類型的定義 。
● 操作:服務支援的動作的抽象描述。  
● 連接埠類型:一個操作的抽象集合,該操作由一個或多個端點支援。  
● 綁定:針對一個特定連接埠類型的具體的協議規範和資料格式規範。
● 連接埠:一個單一的端點,定義成一個綁定和一個網路地址的聯結。  
● 服務:相關的端點的集合。  

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

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

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