Sun Java System Application Server 9.1 管理指南

第 14 章 管理 Web 服務

本章說明如何使用 Application Server 執行 Web 服務管理。管理主控台 和 asadmin 工具可讓您部署、測試和管理 Web 服務。您可以快速地視覺化、瞭解、監視與管理複雜的 Web 服務。您可以查看網域中部署的所有 Web 服務,就像查看 Java EE 應用程式和應用程式元件 (如 EJB) 一樣。

您也可以:

本章包含以下主題:

Web 服務簡介

Web 服務是用戶端以 XML 型通訊協定 (如簡易物件存取協定 (SOAP)) 存取的應用程式,並且是透過網際網路協定 (如 HTTP) 傳送。用戶端可透過 Web 服務應用程式的介面和連結存取此應用程式。定義介面與連結時需採用 XML 工件,如 Web 服務定義語言 (WSDL) 檔案。

可延伸標記語言 (XML) 是全球資訊網協會 (W3C) 所開發的標準,並且是用來建立 Web 服務的基礎之一。XML 可讓 Web 服務與用戶端使用共用語言相互通訊。XML 是簡單、靈活、以文字為基礎的標記語言。標記 XML 資料時需使用以角括弧包圍的標籤。標籤包含了所標記資料的意義。此類標記可讓不同的系統彼此之間輕鬆交換資料。

文件類型定義 (DTD) 或 XML 模式定義 (XSD) 則負責描述 XML 文件的結構。內容是對應 XML 文件中標籤的相關資訊、標籤順序等等。

XSLT 的全名是「可延伸樣式表語言轉換」,可將 XML 文件從一種格式轉換成另一種格式。

Web 服務標準

簡易物件存取協定 (SOAP) 提供了 Web 服務的共用訊息傳送格式。SOAP 可讓彼此不熟悉的物件交換訊息。SOAP 使用以 XML 為基礎的資料編碼格式和 HTTP 來傳輸訊息。SOAP 與程式設計語言和作業平台無關,而且不需要在其端點上使用任何特定技術。

通用描述、探索及整合 (UDDI) 提供了一種標準的方法,可用來註冊、解除註冊和查找 Web 服務。就像電話系統的電話簿一樣,UDDI 登錄可讓提供者註冊其服務,並允許請求者尋找服務。當請求者找到服務後,登錄對於請求者與提供者就沒有任何功能。

Web 服務描述語言 (WSDL) 定義了一種標準方法,可用來指定 Web 服務的詳細資訊。它是具有一般用途的 XML 模式,可指定 Web 服務介面、連結及其他部署詳細資訊。有了這類指定服務詳細資訊的標準方法,用戶端不必事先瞭解 Web 服務就能使用該服務。

ebXML (Electronic Business using eXtensible Markup Language) 是一組規格,可讓企業透過網際網路營業。OASIS (結構化資訊標準精進組織) 可控制 ebXML 規格。

Java EE Web 服務標準

XML 處理的 Java API (JAXP) 是不受供應商限制的一組簡易 API,可用來剖析或處理 XML 文件。JAXP 可讓 Web 服務「插入」任何相容的 XML 剖析器。若未「插入」外部剖析器,JAXP 就會使用其本身的 XML 剖析器實作。

「XML 型遠端程序呼叫的 Java API (JAX-RPC)」使用 XML 型通訊協定處理主從式遠端程序呼叫。JAX-RPC 啟用以 SOAP 為基礎的互通、可移植 Web 服務。開發者使用 JAX-RPC 程式設計模型,開發以 SOAP 為基礎的 Web 服務端點,以及對應的 WSDL 描述和用戶端。以 JAX-RPC 為基礎的 Web 服務可與非 Java 用戶端進行互動。同樣地,以 JAX-RPC 為基礎的用戶端可與非 Java Web 服務進行互動。

XML 登錄的 Java API (JAXR) 是可存取商業登錄的 Java API,其彈性架構支援 UDDI 以及其他登錄規格 (如 ebXML)。JAXR 用戶端可以是獨立的 Java 應用程式,也可以是 J2EE 元件,並使用 JAXR 提供者所提供的 JAXR API 實作來存取商業登錄。JAXR 提供者包含兩個部分:特定登錄的 JAXR 提供者 (提供特定登錄的 API 實作) 及 JAXR 可插接式的提供者 (實作與登錄類型無關的 API 功能)。可插接式提供者不會讓用戶端看到特定登錄提供者的詳細資訊。

開發者可使用「內含適用 Java 附件 API 的 SOAP (SAAJ)」產生與使用符合 SOAP 1.1 規格與「包含附件備註之 SOAP」的訊息。SAAJ 提供一種抽象方法,用於處理內含附件的 SOAP 訊息。進階的開發者可使用 SAAJ 讓應用程式直接使用 SOAP 訊息。附件可能是完整的 XML 文件、XML 片段或 MIME 類型附件。此外,SAAJ 也允許開發者啟用其他 MIME 類型支援。JAX 技術 (如 JAX-RPC) 會在內部使用 SAAJ,讓開發者無需處理 SOAP 的複雜細節。SAAJ 的功能有:

部署和測試 Web 服務

Application Server 可讓您輕鬆部署與測試 Web 服務。

部署 Web 服務

以企業歸檔 (EAR) 部署 Web 服務,就像部署企業應用程式一樣。

也可由 POJO (一般舊 Java 物件) 實作 Web 服務。使用自動部署功能來部署 POJO Web 服務,方法是將其拖放到自動部署目錄中。Application Server 會自動產生適當的 Web XML 檔案並部署 Web 服務。

在「管理主控台」中,您可以在 [Application Server] > [Web 服務] | [一般] 下檢視已部署的 Web 服務清單。

檢視已部署的 Web 服務

若要藉由管理主控台來測試 Web 服務,請選取 [應用程式] > [Web 服務] > [web-service-name] | [一般]。管理主控台會顯示 Web 服務的屬性:

測試 Web 服務

管理主控台 可讓您測試 Web 服務與診斷問題。您可以使用通用的測試 Servlet 來 ping 已部署的 Web 服務。會針對每個方法呼叫顯示 SOAP 訊息。

若要藉由管理主控台來測試 Web 服務,請選取 [應用程式] > [Web 服務] > [web-service-name] | [一般],然後按一下 [測試] 按鈕。

Web 服務安全性

SOAP 訊息層安全性支援是以 WS-Security 的 SAML 記號設定檔為基礎。也提供 Web 服務的防竄改稽核。

使用 Web 服務登錄


備註 –

Application Server 沒有內部登錄。若要將 Web 服務發佈到內部登錄,則必須在應用程式伺服器中下載和安裝登錄。若要將 Web 服務發佈到外部登錄,請指定外部登錄的位址。


增加登錄

在 [Application Server] > [Web 服務] | [登錄] 上,藉由管理主控台增加或移除 Web 服務登錄。使用此頁面建立登錄存取點 (RAP)。增加登錄時,請指定下列參數:

可使用下列步驟建立登錄 JNDI 名稱:

將 Web 服務發佈至登錄

若要藉由管理主控台發佈 Web 服務,請選取 [應用程式] > [Web 服務] > [web-service-name] | [發佈]。

在 [發佈 Web 服務] 畫面中,選取一個以上的登錄以便發佈 Web 服務,然後按一下 [發佈]。若要發佈所有可用的登錄,請按一下 [全部增加] 按鈕。

輸入要在登錄的哪些類別中顯示此 Web 服務。使用逗號來分隔每個種類。您必須在所使用的登錄中定義種類。輸入此 Web 服務的描述。如果發佈到 UDDI 登錄,請輸入組織的名稱。

如果使用負載平衡器,請輸入負載平衡器主機名稱、連接埠號碼和 SSL 連接埠號碼。如果將 Web 服務發佈到外部登錄 (可透過網際網路在該處找到 WSDL),這些選項會取代在 WSDL 中,針對其中一個負載平衡器所指定的主機名稱和連接埠號碼。

若要取消發佈 Web 服務,請在 [發佈 Web 服務] 畫面中,選取要從其中取消發佈 Web 服務的登錄,然後按一下 [取消發佈]。

以 XSLT 篩選轉換訊息

您可以將 XSLT 轉換規則套用到 Web 服務端點。如此可精準控制 Web 服務的請求和回應。您可以將多個 XSLT 規則套用到 Web 服務端點方法,也可以配置套用轉換的順序。所有 XSLT 檔案皆儲存在中央儲存庫的 generated/xml/appOrModule 目錄中。這些變換規則會與遠端伺服器實例同步。

您可以將變換規則套用到 SOAP 請求或回應。

若要藉由管理主控台增加要套用的變換規則至 Web 服務作業,請選取 [應用程式] > [Web 服務] > [web-service-name] | [變換]。按一下 [新增]。

此時會顯示此 Web 服務端點可以使用的變換規則清單?

瀏覽至包含變換規則的 XSLT 檔案的位置。所有產生的 XSLT 檔案皆儲存在 generated/xml/應用程式或模組名稱/ 目錄中。

如果為一個 Web 服務端點增加多個變換規則,則會依增加變換規則的順序套用這些規則。

若要啟用變換規則,請在 [變換規則] 頁面上選取對應規則的核取方塊,然後按一下 [啟用]。若要停用規則,請按一下 [停用]。

若要移除變換規則,請在 [變換規則] 頁面上選取對應規則的核取方塊,然後按一下 [移除]。如此將從清單中移除變換規則。如果此變換規則已套用至 Web 服務端點,則會自動停用。不過此 XSLT 檔案仍會在檔案路徑位置中。其他 Web 服務端點可使用此 XSLT 檔案。

監視 Web 服務

管理主控台可追蹤及以圖形顯示 Web 服務的作業統計,並可顯示 Web 服務所傳送和接收的訊息。

若要啟用 Web 服務監視,請使用管理主控台,從中選取 [應用程式] > [Web服務] > [web-service-name] | [監視] | [配置]。

在 [監視配置] 頁面中,設定監視層級:

輸入 [訊息歷程記錄] 的值。預設值是 25。按一下 [重設] 按鈕可清除所有統計資料,並重新啟動正在執行的平均值計算。

檢視 Web 服務統計

Application Server9.1 提供了追蹤和以圖形顯示 Web 服務的作業統計功能。

在 [應用程式] > [Web 服務] > [web-service-name] | [監視] | [統計] 上檢視監視統計。可用的統計有:

監視 Web 服務訊息

您也可以配置讓 Web 服務檢視 Web 服務端點的訊息 (預設值為 25)。這些訊息會儲存在遠端伺服器實例的記憶體中。畫面會顯示 SOAP 請求、回應和 HTTP 標頭資訊的詳細資訊。

在 [應用程式] > [Web 服務] > [web-service-name] | [監視] | [訊息] 上監視 Web 服務訊息。

啟用時,會看到 Web 服務端點的最後幾則 (預設為 25) 訊息。這些訊息會保留在遠端伺服器實例的記憶體中,包括 SOAP 請求、回應和 HTTP 標頭資訊的詳細資訊。

顯示 Web 服務所接收的訊息清單。顯示的訊息數視監視配置而定。

您也可以選取篩選器,僅檢視成功訊息或失敗訊息。