Spring WS - 概述



Spring Web Services (Spring-WS) 是 Spring 社群開發的專案之一。其主要目標是建立文件驅動的 Web 服務。Spring Web Services 專案促進了契約優先的SOAP 服務開發,提供了多種方法來建立靈活的 Web 服務,這些服務可以透過多種方式操作 XML 有效負載。

Spring Web 服務無縫地使用了 Spring 概念,如依賴注入和配置。Spring-WS 需要 Spring 3.0 版本。在契約優先開發中,我們從WSDL 契約開始,然後將使用 JAVA 來實現所需的契約。

與 JAVA 介面生成 WSDL/XSD 契約的後契約方法相反。在契約優先方法中,基於 WSDL 的契約獨立於 JAVA 實現。如果我們需要更改 JAVA 介面,則無需將對現有 WSDL 契約所做的更改傳達給 Web 服務使用者。Spring-WS 旨在提供 WSDL 契約與其基於 JAVA 的實現之間的松耦合。

特性

以下是 Spring Web Services 的特性:

  • XML 到物件的對映 - 使用儲存在訊息有效負載、SOAP Action 標頭或透過使用 XPath 表示式中的資訊,可以將基於 XML 的請求對映到任何物件。

  • 支援多種解析 XML 的 API - 除了用於解析傳入 XML 請求的標準 JAXP API(DOM、SAX、StAX)之外,還支援其他庫,如 JDOM、dom4j、XOM。

  • 支援多種編組 XML 的 API - Spring Web Services 透過其物件/XML 對映模組支援 JAXB 1 和 2、Castor、XMLBeans、JiBX 和 XStream 庫。物件/XML 對映模組也可用於非 Web 服務程式碼。

  • 基於 Spring 的配置 - Spring Web Services 使用 Spring 應用程式上下文進行其配置,其架構類似於 Spring Web MVC。

  • 整合的 WS-Security 模組 - 使用 WS-Security 模組,您可以簽名、加密、解密 SOAP 訊息或對其進行身份驗證。

  • 支援 Acegi 安全性 - 使用 Spring Web Services 的 WS-Security 實現,可以將 Acegi 配置用於您的 SOAP 服務。

架構

Spring-WS 專案由五個主要模組組成,如下所述。

  • Spring-WS Core - 它是主要模組,並提供核心介面,如WebServiceMessageSoapMessage、伺服器端框架、強大的訊息分派功能和用於實現 Web 服務端點的支援類。它還提供 Web 服務客戶端WebServiceTemplate

  • Spring-WS Support - 此模組提供對 JMS、電子郵件等的支援。

  • Spring-WS Security - 此模組負責提供與核心 Web 服務模組整合的 WS-Security 實現。使用此模組,我們可以新增主體令牌、簽名、加密和解密 SOAP 訊息。此模組允許使用現有的 Spring Security 實現進行身份驗證和授權。

  • Spring XML - 此模組提供 Spring Web Services 的 XML 支援類。此模組由 Spring-WS 框架內部使用。

  • Spring OXM - 此模組提供 XML 與物件對映的支援類。

Spring Web Services Architecture
廣告