第 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.