何謂 J2EE Web 服務?
Web 服務圍繞著一個架構組成,此架構包含三個主要元素:服務登錄、服務提供者及服務要求者。圖 1 綜述這些不同元素之間的關係。

圖 1:- Web 服務架構
「服務提供者」一開始透過抽象的「服務說明」文件,採用「Web 服務說明語言
(WSDL)」來定義「服務介面」。此抽象說明結合傳輸和編碼連結,並結合具體「服務說明」中的位址來定義具體的「服務」實例,又稱為服務端點或埠。然後,此具體說明可以發佈在「服務登錄」中,例如「廣泛描述、探索與整合
(UDDI)」,供任何「服務要求者」存取。「服務要求者」以此登錄來選取和使用「Web 服務」的具體「服務實作」。
J2EE Web 服務由一組在儲存區內運作的「埠」組成。儲存區會調解對於服務的存取,並提供執行時期環境。
Web 服務的用戶端可以是另一個 Web 服務、任何 J2EE 元件或任意的 Java 應用程式。即使非 Java 或非 Web 應用程式也可以使用 Web 服務。
Web 服務用戶端觀點
Web 服務用戶端觀點由「埠提供者」(服務提供者)和儲存區提供。如下圖 2 所示(灰色部分),用戶端觀點包含「服務介面」和「服務端點介面」。

圖 2:- Web 服務用戶端觀點
為了存取「Web 服務」的「埠」,用戶端一開始要以 JNDI API 來尋找「服務介面」。透過「服務介面」,用戶端會探查用於存取「埠」的方法,並以「服務端點介面」來存取「Web 服務」實作。在用戶端觀點中,「埠」視為 Stateless
物件。
「服務」和「服務端點介面」由 JAX-RPC 規格來定義;不過,「服務介面」行為由「Web 服務提供者」所提供的「WSDL 服務說明」文件來定義。
Web 服務伺服器觀點
「Web 服務」的伺服器觀點處理伺服器商業邏輯的實作。根據 J2EE 1.4 的定義,「Web 服務端點」可利用下列其中一項方法來實作:
如需這兩種方法的相關資訊,關於 Session Bean 類型的端點,請參閱準則:指出 Session Bean,關於 Servlet 類型的端點,請參閱準則:指出 Servlet。
參照
本頁的主要參考資料是 J2EE Web 服務 (JSR 109) 規格。
|