什麼是Web服務?



不同的書籍和不同的組織對Web服務給出了不同的定義。這裡列出了一些。

  • Web服務是指任何透過網際網路提供服務並使用標準化XML訊息系統的軟體。XML用於對Web服務的所有通訊進行編碼。例如,客戶端透過傳送XML訊息來呼叫Web服務,然後等待相應的XML響應。由於所有通訊都以XML格式進行,因此Web服務不受任何特定作業系統或程式語言的限制——Java可以與Perl通訊;Windows應用程式可以與Unix應用程式通訊。

  • Web服務是自包含的、模組化的、分散式的、動態的應用程式,可以透過網路進行描述、釋出、定位或呼叫,以建立產品、流程和供應鏈。這些應用程式可以是本地、分散式或基於Web的。Web服務構建在TCP/IP、HTTP、Java、HTML和XML等開放標準之上。

  • Web服務是基於XML的資訊交換系統,使用Internet進行直接的應用程式到應用程式互動。這些系統可以包括程式、物件、訊息或文件。

  • Web服務是一組用於在應用程式或系統之間交換資料的開放協議和標準。用各種程式語言編寫的並在各種平臺上執行的軟體應用程式可以使用Web服務透過計算機網路(如Internet)交換資料,其方式類似於在單個計算機上進行程序間通訊。這種互操作性(例如,Java和Python之間,或Windows和Linux應用程式之間)是由於使用了開放標準。

總而言之,完整的Web服務因此是任何服務,其:

  • 可透過Internet或私有(內聯網)網路訪問

  • 使用標準化的XML訊息系統

  • 不受任何特定作業系統或程式語言的限制

  • 透過通用的XML語法進行自描述

  • 可以透過簡單的查詢機制進行發現

Web服務的元件

基本的Web服務平臺是XML + HTTP。所有標準的Web服務都使用以下元件:

  • SOAP(簡單物件訪問協議)

  • UDDI(通用描述、發現和整合)

  • WSDL(Web服務描述語言)

所有這些元件都在Web服務架構章節中進行了討論。

Web服務如何工作?

Web服務透過使用HTML、XML、WSDL和SOAP等開放標準實現各種應用程式之間的通訊。Web服務藉助於:

  • XML來標記資料

  • SOAP來傳輸訊息

  • WSDL來描述服務的可用性。

您可以在Solaris上構建一個基於Java的Web服務,該服務可從執行在Windows上的Visual Basic程式訪問。

您還可以使用C#在Windows上構建新的Web服務,這些服務可以從基於JavaServer Pages(JSP)並在Linux上執行的Web應用程式呼叫。

示例

考慮一個簡單的賬戶管理和訂單處理系統。會計人員使用用Visual Basic或JSP構建的客戶端應用程式來建立新賬戶和輸入新的客戶訂單。

此係統的處理邏輯是用Java編寫的,並駐留在Solaris機器上,該機器還與資料庫互動以儲存資訊。

執行此操作的步驟如下:

  • 客戶端程式將賬戶註冊資訊捆綁到SOAP訊息中。

  • 此SOAP訊息作為HTTP POST請求的主體傳送到Web服務。

  • Web服務解壓縮SOAP請求並將其轉換為應用程式可以理解的命令。

  • 應用程式根據需要處理資訊,併為該客戶響應一個新的唯一賬戶編號。

  • 接下來,Web服務將響應打包到另一個SOAP訊息中,並將其作為對HTTP請求的響應傳送回客戶端程式。

  • 客戶端程式解壓縮SOAP訊息以獲取賬戶註冊過程的結果。

廣告