spring boot web service

Développer  et sécuriser des services web SOAP  avec Spring-Boot

Cours Pratique de 5 jours

Tarif par participant :

2400 € HT

Objectifs

  • Découvrir le framework Spring
  • Comprendre SOAP, WSDL, XSD
  • Créer un service SOAP complet dans Spring Boot
  • Adapter la configuration aux besoins spécifiques des projets
  • Simplifier le développement des tests
  • Packager et déployer une application Spring Boot selon différents contextes

Prérequis

  • Connaissance de base du langage Java
  • Accès à un environnement de développement (IDE, outils de build).

Le programme

1. Les Fondamentaux des web services SOAP

  • Architecture SOAP
  • Structure d’un message SOAP
  • Rôle des WSDL et XSD
  • Le Cycle de vie d’un appel SOAP

2. Manipulation des WSDL & XSD

  • Analyse d’un WSDL
  • Import / include XSD
  • Typages, restrictions, structures complexes

TP : Modification d’un XSD simple

3. Génération de classes Java avec JAXB (wsimport / Spring Tools)

  • Introduction JAXB
  • wsimport & plugins Maven
  • Classes générées : ObjectFactory, Request/Response

Travaux pratiques

Génération et analyse des classes 

4. Exposer un Service SOAP avec Spring Boot

  • Dépendances Spring-WS
  • Configuration WSDL exposé
  • Endpoint SOAP (méthodes @PayloadRoot, @ResponsePayload)
  • Marshalling / Unmarshalling XML
  • Gestion d’erreurs SOAP (faults)

Travaux pratiques

Exposer un service métier (produits, commandes, clients…)\

5. Consommer un Web Service SOAP externe

  • WebServiceTemplate
  • Client SOAP Spring Boot
  • Gestion des exceptions SOAPFault
  • Logging de la requête/réponse

Travaux pratiques

Communication de deux applications Spring Boot.

6. Sécurisation WS-Security : signature et chiffrement

  • Principes : headers WS-Security
  • UsernameToken & PasswordDigest
  • Configuration côté client et serveur
  • SOAP faults liés à la sécurité

Travaux pratiques : sécuriser l’application du cas pratique

7. Tester une application Spring Boot

  • Auto-configuration des tests.
  • Test de la persistance avec @DataJpaTest.
  • Test d’intégration avec @SpringBootTest.
  • Test des API REST avec @AutoConfigureMockMvc, @WebMvcTest et RestTemplate.
  • Monitorer une application Spring Boot avec Actuator.

Travaux pratiques

Mettre à niveau les tests unitaires et d’intégration de l’application sur les nouvelles pratiques Spring Boot, monitorer l’utilisation des endpoints REST.

8. Packager et déployer une application Spring Boot

  • Création d’un war pour un déploiement classique.
  • Création d’un jar « self-contained » exécutable.
  • Déploiement dans une image docker.

Travaux pratiques

Produire un jar auto-exécutable et le déployer sur une image docker.

9. Maintenance, documentation & bonnes pratiques

  • Documentation technique (WSDL-first, contract-first)
  • Bonnes pratiques pour maintenir un SOAP legacy
  • Cycle de vie de versions de schémas

Travaux pratiques

CAS PRATIQUE TRANSVERSAL “Deux applications Spring Boot qui communiquent en SOAP”