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操作頭或XPath表示式中的資訊將基於XML的請求對映到任何物件。

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

  • 多個API支援編組XML - 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 - 它是主要模組,提供WebServiceMessage和SoapMessage等中央介面,伺服器端框架,強大的訊息分發功能和支援類來實現Web伺服器端點。 它還提供Web Service消費者用戶端作為: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與物件對映的支援類。