Spring WS - Descripción general

Spring Web Services (Spring-WS) es uno de los proyectos desarrollados por Spring Community. Su principal objetivo es crear servicios web basados ​​en documentos. El proyecto Spring Web Services facilita el contrato primeroSOAP Service Development, proporciona múltiples formas de crear servicios web flexibles, que pueden manipular cargas útiles XML de múltiples formas.

Los servicios web de Spring utilizan conceptos de Spring como la inyección de dependencias y las configuraciones sin problemas. Spring-WS requiere la versión Spring 3.0. Con el desarrollo de contrato primero, comenzamos conWSDL Contract y luego usará JAVA para implementar el contrato requerido.

A diferencia del enfoque de último contrato, donde las interfaces JAVA generan contratos WSDL / XSD. El contrato basado en WSDL sigue siendo independiente de la implementación de JAVA en el enfoque de contrato primero. En caso de que necesitemos cambiar las interfaces de JAVA, entonces no es necesario comunicar los cambios realizados en el contrato WSDL existente a los usuarios de servicios web. Spring-WS tiene como objetivo proporcionar un acoplamiento flexible entre el contrato WSDL y su implementación basada en JAVA.

Caracteristicas

Las siguientes son las características de Spring Web Services:

  • XML Mapping to Objects - Las solicitudes basadas en XML se pueden asignar a cualquier objeto utilizando la información almacenada en la carga útil del mensaje, el encabezado de acción SOAP o utilizando una expresión XPath.

  • Multiple API Support to parse XML - Además de las API JAXP estándar (DOM, SAX, StAX) para analizar las solicitudes XML entrantes, también se admiten otras bibliotecas como JDOM, dom4j, XOM.

  • Multiple API Support to marshal XML- Spring Web Services admite las bibliotecas JAXB 1 y 2, Castor, XMLBeans, JiBX y XStream mediante su módulo de asignación de objetos / XML. El módulo Object / XML Mapping también se puede utilizar en código de servicios no web.

  • Spring based configurations - Spring Web Services utiliza Spring Application Contexts para sus configuraciones que tienen una arquitectura similar a la de Spring Web MVC.

  • Integrated WS-Security module - Con el módulo WS-Security, puede firmar, cifrar, descifrar mensajes SOAP o autenticarlos.

  • Support for Acegi Security - Usando la implementación de WS-Security de Spring Web Services, la configuración de Acegi se puede usar para sus servicios SOAP.

Arquitectura

El proyecto Spring-WS consta de cinco módulos principales, que se explican a continuación.

  • Spring-WS Core - Es el módulo principal y proporciona las interfaces centrales como WebServiceMessage y SoapMessage, el marco del lado del servidor, una potente capacidad de envío de mensajes y clases de soporte para implementar puntos finales de servicios web. También proporciona un cliente consumidor de servicios web comoWebServiceTemplate.

  • Spring-WS Support - Este módulo proporciona soporte para JMS, correos electrónicos, etc.

  • Spring-WS Security- Este módulo es responsable de proporcionar la implementación de WS-Security integrada con el módulo de servicio web principal. Con este módulo, podemos agregar tokens principales, firmar, cifrar y descifrar mensajes SOAP. Este módulo permite usar la implementación de seguridad Spring existente para autenticación y autorización.

  • Spring XML- Este módulo proporciona clases de soporte XML para Spring Web Services. Este módulo es utilizado internamente por Spring-WS framework.

  • Spring OXM - Este módulo proporciona clases de soporte para XML vs Object Mapping.