Spring Boot avancé

Spring Boot avancé

Créez des projets avancés avec Spring Boot


Référence IDL-SPBA-F
Durée 8 jour(s)

Pour une session intra ou sur mesure

Demander un devis
Avancé Développement logiciel

Vous avez acquis les connaissances de base pour créer une application avec Spring Boot. 

Cette formation vous permettra d’approfondir la sécurité de Spring et stocker les utilisateurs dans la base de données, utiliser des sessions distribuées et vos propres classes d'utilisateurs. Vous apprendrez comment tester les applications Spring WebMVC et comment inclure votre configuration de sécurité Spring dans vos tests.

Objectifs pédagogiques

Les objectifs pour un candidat ayant suivi cette formation sont :

  • Appliquer les bonnes pratiques de la programmation orientée aspect.
  • Sécuriser des applications avec Spring Security.
  • Implémenter une infrastructure à clé publique.
  • Déployer une architecture de microservices pour des applications et des outils techniques.
  • Tester une application Spring Boot.

Public concerné

Cette formation s’adresse aux développeurs, architecte logiciel / Applicatif. 

Prérequis

Connaître les fondamentaux du langage Spring Boot. 

Programme de la formation

Présentation de Spring Boot 

  • Les principales fonctionnalités de Spring Boot.
  • Le support de différents types d'application.
  • Convention over configuration.
  • L'autoconfiguration.
  • La gestion simplifiée des dépendances avec les starters.
  • Le support de Maven et Graddle.
  • Spring Boot Actuator
    • L’activation.
    • Les end-points.
    • Les métriques personnalisées.

Présentation du MINI Projet

Spring Data

  • Introduction.
  • Architecture.
  • Spring Data JPA.
  • Les Framework ORM
    • Principe. 
    • Les différents types de configuration. 
    • Mapping des Classes. 
    • Mapping des attributs.
    • Mapping des associations.
    • Mapping des relations d'héritage.
  • Stratégie DAO. 
  • Des DAO sans implémentation !!!
  • Les fonctions nommée vs les requetés nommées.
  • Spring Data avancée.

Web Services et orchestration 

  • Concepts de REST.
  • Architecture Orienté Ressources.
  • Les implémentations CXF, Spring. 
  • Configuration. 
  • Les annotations indispensables.
  • La consommation d'un Web service REST.
  • Communication entre les « api ».
  • OpenApi et Swagger.

Spring Boot et Spring Cloud

  • Intégration avec Maven
  • Structure d'une application Spring Boot : standalone, webapp.
  • Les starters, Auto-configuration.
  • Fat Jar auto configuration, staters.
  • Gestion du cache, Gestion des logs.
  • Déploiement : Packaging, exécution, profils, Spring Boot Actuator.
  • Spring cloud.
  • Hystrix/Circuit breaker, Zuul/Gateway, Stream, Sleuth/Zipkin.

Micro Service :

  • Limite d’une architecture monolite et SOA.
  • Pourquoi une architecture Microservice.
  • Le cloud et les microservices.

Les principaux patterns 

  • Core development pattern.
  • Routing patterns.
  • Resiliency patterns.
  • Security patterns.
  • Logging patterns.

Ecrire ses microservices avec Spring boot

  • Architecture et conception.
  • “Bootstraper” un microservice.
  • Exposer un microservice via un Controller.
  • Configuration avec Spring Cloud.
  • Client REST déclaratif oprn Feign.

Service discovery

  • Présentation de la problèmatique.
  • Architecture d’une solution.
  • Ecrire un registre avec Netflix Eureka.
  • Invoquer un service avec Netflix Feign.

Résilience des microservice :

  • “Shit happens”.
  • Hystrix ou Resilience4j.
  • Circuit Breaker.
  • Fallback.
  • Bulkhead Pattern.

Services Gateway

  • Spring Cloud Gateway.
  • Construire ses “route filters”.
  • Options de caches.
  • Extension des ressources.
  • Conversion de protocol.

De la sécurité !

  • Introduction à OAuth2.
  • JWT.
  • Comment sécuriser ses microservices.

Architecture “Event driven”

  • De quoi s’agit-il ?
  • Introduction à Spring Cloud Stream.
  • Le mécanisme Pub/Sub.
  • Cache distribué avec Stream.

Traçabilité et logs distribués

  • Agrégation de logs avec Spring Cloud Sleuth.
  • Traçabilité avec Open Zipkin.
  • Implémentation de la traçabilité et logs distribué.

Moyens pédagogiques

Exercices et travaux pratiques.