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”