Spring WS - Présentation

Spring Web Services (Spring-WS) est l'un des projets développés par la communauté Spring. Son objectif principal est de créer des services Web axés sur les documents. Le projet Spring Web Services facilite le contrat d'abordSOAP Service Development, offre plusieurs façons de créer des services Web flexibles, qui peuvent manipuler les charges utiles XML de plusieurs manières.

Les services Web Spring utilisent les concepts Spring tels que l'injection de dépendances et les configurations de manière transparente. Le Spring-WS nécessite la version Spring 3.0. Avec le développement contract-first, nous commençons parWSDL Contract puis utilisera JAVA pour mettre en œuvre le contrat requis.

Contrairement à l'approche du dernier contrat où les interfaces JAVA génèrent un contrat WSDL / XSD. Le contrat basé sur WSDL reste indépendant de la mise en œuvre JAVA dans l'approche du contrat d'abord. Si nous avons besoin de modifier les interfaces JAVA, il n'est pas nécessaire de communiquer les modifications apportées au contrat WSDL existant aux utilisateurs des services Web. Spring-WS vise à fournir un couplage lâche entre le contrat WSDL et son implémentation basée sur JAVA.

traits

Voici les fonctionnalités de Spring Web Services -

  • XML Mapping to Objects - Les demandes basées sur XML peuvent être mappées à n'importe quel objet en utilisant les informations stockées dans la charge utile du message, l'en-tête d'action SOAP ou en utilisant une expression XPath.

  • Multiple API Support to parse XML - Outre les API JAXP standard (DOM, SAX, StAX) pour analyser les requêtes XML entrantes, d'autres bibliothèques comme JDOM, dom4j, XOM sont également prises en charge.

  • Multiple API Support to marshal XML- Spring Web Services prend en charge les bibliothèques JAXB 1 et 2, Castor, XMLBeans, JiBX et XStream à l'aide de son module Object / XML Mapping. Le module Object / XML Mapping peut également être utilisé dans le code de services non Web.

  • Spring based configurations - Spring Web Services utilise les contextes d'application Spring pour ses configurations ayant une architecture similaire à celle du Spring Web MVC.

  • Integrated WS-Security module - En utilisant le module WS-Security, vous pouvez signer, crypter, décrypter les messages SOAP ou les authentifier.

  • Support for Acegi Security - En utilisant l'implémentation WS-Security de Spring Web Services, la configuration Acegi peut être utilisée pour vos services SOAP.

Architecture

Le projet Spring-WS se compose de cinq modules principaux, qui sont expliqués ci-dessous.

  • Spring-WS Core - C'est le module principal et fournit les interfaces centrales comme WebServiceMessage et SoapMessage, le cadre côté serveur, une puissante capacité de distribution de messages et des classes de prise en charge pour implémenter des points de terminaison de service Web. Il fournit également un client consommateur de service Web commeWebServiceTemplate.

  • Spring-WS Support - Ce module fournit des supports pour JMS, e-mails, etc.

  • Spring-WS Security- Ce module est chargé de fournir une implémentation WS-Security intégrée au module de service Web principal. En utilisant ce module, nous pouvons ajouter des jetons principaux, signer, chiffrer et déchiffrer les messages SOAP. Ce module permet d'utiliser l'implémentation Spring Security existante pour l'authentification et l'autorisation.

  • Spring XML- Ce module fournit des classes de support XML pour Spring Web Services. Ce module est utilisé en interne par le framework Spring-WS.

  • Spring OXM - Ce module fournit des classes de support pour XML vs Object Mapping.