Spring WS - Visão geral

Spring Web Services (Spring-WS) é um dos projetos desenvolvidos pela Spring Community. Seu foco principal é criar Web Services orientados a documentos. O projeto Spring Web Services facilita o primeiro contratoSOAP Service Development, fornece várias maneiras de criar serviços da web flexíveis, que podem manipular cargas úteis XML de várias maneiras.

Os serviços da web Spring usam conceitos Spring como injeção de dependência e configurações perfeitamente. O Spring-WS requer a versão Spring 3.0. Com o desenvolvimento do contrato primeiro, começamos comWSDL Contract e então usará JAVA para implementar o contrato necessário.

Ao contrário da abordagem do último contrato, em que as interfaces JAVA geram contrato WSDL / XSD. O contrato baseado em WSDL permanece independente da implementação JAVA na abordagem de primeiro contrato. Caso seja necessário alterar as interfaces JAVA, não há necessidade de comunicar as alterações feitas no contrato WSDL existente aos usuários de serviços da web. Spring-WS visa fornecer acoplamento fraco entre o contrato WSDL e sua implementação baseada em JAVA.

Características

A seguir estão os recursos do Spring Web Services -

  • XML Mapping to Objects - Solicitações baseadas em XML podem ser mapeadas para qualquer objeto usando as informações armazenadas na carga útil da mensagem, cabeçalho de ação SOAP ou usando uma expressão XPath.

  • Multiple API Support to parse XML - Além das APIs JAXP padrão (DOM, SAX, StAX) para analisar as solicitações XML de entrada, outras bibliotecas como JDOM, dom4j, XOM também são suportadas.

  • Multiple API Support to marshal XML- Spring Web Services oferece suporte a bibliotecas JAXB 1 e 2, Castor, XMLBeans, JiBX e XStream usando seu módulo de Mapeamento de Objeto / XML. O módulo Mapeamento de Objeto / XML também pode ser usado em código de serviços não web.

  • Spring based configurations - Spring Web Services usa os Contextos de Aplicativo Spring para suas configurações, tendo uma arquitetura semelhante à do Spring Web MVC.

  • Integrated WS-Security module - Usando o módulo WS-Security, você pode assinar, criptografar, descriptografar mensagens SOAP ou autenticá-las.

  • Support for Acegi Security - Usando a implementação WS-Security de Spring Web Services, a configuração Acegi pode ser usada para seus serviços SOAP.

Arquitetura

O projeto Spring-WS consiste em cinco módulos principais, que são explicados abaixo.

  • Spring-WS Core - É o módulo principal e fornece as interfaces centrais como WebServiceMessage e SoapMessage, a estrutura do lado do servidor, capacidade poderosa de despacho de mensagens e classes de suporte para implementar pontos de extremidade de serviço da Web. Ele também fornece cliente consumidor de serviço da Web comoWebServiceTemplate.

  • Spring-WS Support - Este módulo fornece suporte para JMS, e-mails, etc.

  • Spring-WS Security- Este módulo é responsável por fornecer implementação de WS-Security integrada com o Módulo de Serviço da Web principal. Usando este módulo, podemos adicionar tokens principais, assinar, criptografar e descriptografar mensagens SOAP. Este módulo permite usar a implementação existente do Spring Security para autenticação e autorização.

  • Spring XML- Este módulo fornece classes de suporte XML para Spring Web Services. Este módulo é usado internamente pela estrutura Spring-WS.

  • Spring OXM - Este módulo fornece classes de suporte para XML vs Mapeamento de Objetos.