Sun Java System Application Server 9.1 管理指南

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 的功能有: