第 1 章. 什麼是 Spring Web Services?

1.1. 簡介

Spring Web Services (Spring-WS) 是 Spring 社群的一個產品,專注於建立文件驅動的 Web 服務。Spring Web Services 旨在促進契約優先的 SOAP 服務開發,允許使用多種 XML 有效負載操作方式建立靈活的 Web 服務。該產品基於 Spring 本身,這意味著您可以將 Spring 概念(例如依賴注入)作為 Web 服務不可或缺的一部分來使用。

人們使用 Spring-WS 的原因有很多,但大多數人在發現其他 SOAP 堆疊在遵循 Web 服務最佳實踐方面存在不足後,都會被它吸引。Spring-WS 讓最佳實踐變得容易實踐。這包括 WS-I 基本配置檔案、契約優先開發以及契約與實現之間鬆散耦合等實踐。Spring Web Services 的其他主要特性包括:

強大的對映。 您可以根據訊息有效負載、SOAP Action 頭或 XPath 表示式,將傳入的 XML 請求分發到任何物件。

XML API 支援。 傳入的 XML 訊息不僅可以使用標準 JAXP API(如 DOM、SAX 和 StAX)進行處理,還可以使用 JDOM、dom4j、XOM 甚至編組技術進行處理。

靈活的 XML 編組。 Spring Web Services 發行版中的物件/XML 對映模組支援 JAXB 1 和 2、Castor、XMLBeans、JiBX 和 XStream。由於它是一個獨立的模組,您也可以在非 Web 服務程式碼中使用它。

重用您的 Spring 專長。 Spring-WS 使用 Spring 應用程式上下文進行所有配置,這應該有助於 Spring 開發人員快速上手。此外,Spring-WS 的架構類似於 Spring-MVC。

支援 WS-Security。 WS-Security 允許您簽署 SOAP 訊息,對其進行加密和解密,或對其進行身份驗證。

與 Acegi Security 整合。 Spring Web Services 的 WS-Security 實現提供了與 Acegi Security 的整合。這意味著您也可以將現有的 Acegi 配置用於 SOAP 服務。

由 Maven 構建。 這有助於您在自己的基於 Maven 的專案中有效地重用 Spring Web Services 工件。

Apache 許可。 您可以放心地在專案中使用 Spring-WS。

1.2. 執行時環境

Spring Web Services 需要標準的 Java 1.5 執行時環境。也支援 Java 1.6。Spring-WS 還需要 Spring 3.0 或更高版本。

Spring-WS 由多個模組組成,本節的其餘部分將對此進行描述。

  • XML 模組 (spring-xml.jar) 包含 Spring Web Services 的各種 XML 支援類。此模組主要用於 Spring-WS 框架本身,而不是 Web 服務開發人員。

  • 核心模組 (spring-ws-core.jar) 是 Spring Web 服務功能的核心部分。它提供了核心的 WebServiceMessage SoapMessage 介面、具有強大訊息分發功能的伺服器端框架以及用於實現 Web 服務端點的各種支援類;以及客戶端 WebServiceTemplate

  • 支援模組 (spring-ws-support.jar) 包含額外的傳輸(JMS、電子郵件等)。

  • 安全包 (spring-ws-security.jar) 提供了一個 WS-Security 實現,該實現與核心 Web 服務包整合。它允許您新增主體令牌、簽名以及解密和加密 SOAP 訊息。此外,它還允許您利用現有的 Spring Security 安全實現進行身份驗證和授權。

下圖說明了 Spring-WS 模組及其之間的依賴關係。箭頭表示依賴關係,即 Spring-WS Core 依賴於 Spring-XML 和 Spring 3 中的 OXM 模組。

Spring-WS 模組之間的依賴關係

© . This site is unofficial and not affiliated with VMware.