Web 服務概觀

Web 服務是指一組相關的應用程式功能,它可以透過網際網路以程式方式呼叫。商業界可以藉由動態地混合以及配合 Web 服務方式,進行複雜的交易,但其中需要的程式設計工作卻很少。 Web 服務讓分散在世界各地的買賣雙方,可以方便地找到交易對象、執行動態連接,並即時進行交易, 需要極少人員交談作業。

Web 服務是自行包含、自行說明的模組化應用程式,您可以透過 Web 來發佈、尋找及呼叫它們。

Web 服務是自行包含的。在用戶端,不需要任何額外的軟體。具有 XML 及 HTTP 用戶端支援的程式語言已足以讓您開始使用 Web 服務。在伺服器端,需要 Web 伺服器及 Servlet 引擎。用戶端及伺服器可以在不同環境中實作。Web 服務可以在不必撰寫任何程式碼的情況下,啟用現有的應用程式。     

Web 服務是自行說明的。用戶端及伺服器僅需要辨識要求及回應訊息的格式及內容。訊息格式的定義是隨著訊息一起傳送;因此,不需要外部 Meta 資料儲存庫或產生程式碼工具。  

Web 服務是模組化的。「簡式 Web」服務可以聚集以構成更複雜的 Web 服務,方法為使用工作流程技術,或是從 Web 服務實作呼叫較低層的 Web 服務。 

Web 服務和平台無關。 Web 服務是根據一組簡要的開放、XML 型標準來設計, 用以在各種不同的運算平台和程式語言之間,提升 Web 服務和用戶端間的交互作業能力。

Web 服務的範疇可以非常廣泛,例如,劇場評論文章、氣象報告、信用檢查、庫存報價、旅遊建議或 航空公司機位保留處理等等。這些自足的商業服務,每個都是很容易與其他服務整合的應用程式,不論它們屬於相同或不同公司,從而能夠建立起完整的商業程序。這種交互作業功能讓商業界能透過網際網路,動態地發佈、尋找以及連結一系列的 Web 服務。

Web 服務種類

Web 服務可以區分成下列三個類別:

商業資訊。 商業界和消費者或其他業界分享資訊。在此情況下,商業界是運用 Web 服務來擴充其業務範圍。 商業參考資訊 Web 服務的範例如新聞消息、氣象報告或庫存報價等。

商業整合。 商業界提供「付費式」的交易服務給客戶。在這個情況下,商業界即成為附加價值供應商環球網路的一份子, 可以進行商務行為。商業整合 Web 服務的範例包括投標和拍賣電子市場、預約系統以及信用檢查等。

商業程序外部化。 商業實體能在眾多競爭對手中脫穎而出的方式是建立全球性的價值鏈。 在此情況下,商業界需要運用 Web 服務來動態整合其商業程序。商業程序外部化 Web 服務的範例為不同的公司之間聯合來 組成特定產品的製造、組合、經銷配送以及零售鏈。

服務角色和互動

在 Web 服務中的網路成員可以扮演一或多個重要的角色:服務提供者、服務分配管理程式以及服務用戶端。

連結包括要順利完成服務,所需要建立的所有環境必備項目。環境必備項目的範例包括安全設定、交易追蹤以及 HTTP 的可用性。這些角色之間的關係說明位於圖 1。

圖 1. 服務角色與交談作業。

圖 1 說明服務分配管理程式、服務提供者以及服務要求者之間的交談作業。

Web 服務標準

網際網路標準的一個主要特質是在於通訊協定,而不是實作方式。網際網路是由異質技術組成,這些異質技術透過共用的通訊協定完成交互作業。如此可以避免個別供應商在網際網路上,強制使用某個標準。 開放程式碼軟體開發在維持供應商實作標準的交互作業功能上,具有舉足輕重的地位。

下列標準在 Web 服務中扮演了關鍵角色:廣泛描述、探索與整合 (UDDI)、Web 服務說明語言 (WSDL)、Web 服務檢驗語言 (WSIL)、簡式物件存取通訊協定 (SOAP) 以及 Web 服務交互作業能力 (WS-I)。這些標準之間的關係說明位於圖 2。

UDDI 規格定義開放式與獨立於平台的標準,讓商業界可在廣域的商業登錄中分享資訊、探索彼此的服務以及定義如何透過網際網路進行互動。如果需要 UDDI 的詳細資訊,請造訪 www.uddi.org

WSIL 是一種 XML 型的開放規格,其定義了一種分散式服務探索方法,藉由指定視察網站以取得可用 Web 服務的方式,以服務提供者的供應觀點來提供服務說明的參照。WSIL 文件可定義您可在其中尋找 Web 服務說明的網站位置。由於 WSIL 著重於分散式服務探索, 因此 WSIL 規格會利用網站(可能尚未列於 UDDI 登錄中)上可用的服務探索,來補強 UDDI。本文有另一個主題說明 UDDI 和 WSIL 之間的關係。 如果需要 WSIL 的詳細資訊,請參考 www.ibm.com/developerworks/webservices/library/ws-wsilspec.html

WSDL 是一種 XML 型的開放規格,用來說明網路上的 Web 服務介面與實例。這種規格可以延伸,因此不論用來進行通訊的訊息格式或網路通訊協定是什麼,都可以說明終點。企業可以利用 UDDI、WSIL 來提供其 Web 服務的 WSDL 文件, 也可以透過電子郵件或網站來發佈其 WSDL 的 URL。WSDL 在本文件中會另立主題,分別說明。如果需要 WSDL 的詳細資訊,請造訪 www.w3.org/TR/wsdl

SOAP 是一種 XML 型的標準,使訊息可以透過 HTTP 和其他網際網路通訊協定傳遞。 這是一種輕裝備通訊協定,用來在非集中式的分散式環境中交換資訊。它以 XML 為基礎,其中包含三個部分:
  • 一個保護套定義組織架構,用來說明訊息中包含什麼以及如何處理訊息。
  • 一組編碼規則,用來表示應用程式定義的資料類型實例。
  • 一個慣例,用來代表遠端程序呼叫和回應。
SOAP 藉由定義遞送訊息的訊息路徑,來連結以及使用所找到的 Web 服務。您可以利用 SOAP,向 UDDI 查詢 Web 服務。如果需要 SOAP 的詳細資訊,請造訪 www.w3.org/TR/SOAP

圖 2. SOAP、UDDI、WSIL 以及 WSDL 之間的關係。

圖 2 說明 SOAP、UDDI、WSIL 以及 WSDL 之間的關係。

服務提供者會負責控管 Web 服務, 並使其可利用 SOAP/HTTP 或 SOAP/JMS 這類的通訊協定來存取。Web 服務以儲存於提供者的伺服器,或是特殊儲存庫中的 WSDL 文件來說明。UDDI Business Registry 和 WSIL 文件可以參照 WSDL 文件。這些都含有指向 Web 服務之 WSDL 檔的指標。

WS-I 簡式 SOAP 連結設定檔和 WS-I 附件設定檔是一種需求概要, WSDL 和 Web 服務通訊協定 (SOAP/HTTP) 的資料傳輸必須符合這個設定檔,才能稱之為符合 WS-I 標準。Web 服務 WS-I 驗證工具目前支援 WS-I 簡式 SOAP 連結設定檔 1.0 以及附件設定檔 1.0。 如果要檢視規格,請造訪 WS-I 網站,並於 Resources 之下選取 Documentationhttp://www.ws-i.org

Rational® Developer 產品也支援一些新的 Web 服務標準。 它們包括:
JAX-RPC
JAX-RPC 代表 Java™ API for XML-based RPC,也稱為 JSR 101。這是一種規格,用來說明 Java 應用程式設計介面 (API) 以及使用遠端程序呼叫 (RPC) 和 XML 之 Web 服務和 Web 服務用戶端的建置慣例。它將 Java 至 WSDL 以及 WSDL 至 Java 的對映標準化,且提供了在 Java 平台上開發及部署 Web 服務和 Web 服務用戶端的核心 API。如果需要詳細資訊,請參閱正式規格
JSR-109 和 JSR-921
JSR-109 和 JSR-921(實作企業 Web 服務)定義在 J2EE 環境中部署和查閱 Web 服務的程式設計模型和執行時期架構;更明確地說,是在 Web、EJB 和用戶端應用程式儲存器。它的主要目標之一,是確保供應商的實作能夠交互作業。 如果需要詳細資訊,請參閱正式規格:
WS-S
Rational Developer 產品支援 OASIS Web 服務安全 1.0 標準。如果需要此一標準各個元件的詳細資訊,請參閱:

如果需要 Web 服務的詳細資訊,請造訪 www.ibm.com/developerworks/webservices

使用條款 | 讀者意見
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.