Concevoir, développer et sécuriser des micro-services avec Spring Boot

Page d’accueil / Concevoir, développer et sécuriser des micro-services avec Spring Boot
springboot

Concevoir et développer des micro-services avec Spring Boot

Spring Boot est devenu un Framework incontournable lorsqu’il s’agit d’implémenter une API en Java. Avec l’émergence des architectures à base de micro-services, le développement d’une application devient un vrai casse tête.

Ce cours cible l’implémentation d’une architecture à base de micro-services Spring Boot de la conception à la mise en production en passant par la sécurisation. Il sensibilise le développeur au design d’API mais également à l’authentification et la mise en production sur des plateformes Cloud.

Audience

  • Architectes
  • Développeurs
  • Chefs de projet

Pré-requis

Connaitre le langage Java

Tarif et dates

Formation animée en intra-entreprises, nous contacter

Durée

3 jours

Répartition

  • Pratique
  • Théorie

Objectifs

  • Apprendre à concevoir une API RESTful
  • Installer et configurer Spring Boot
  • Développer des composants de service REST avec Spring Boot
  • Développer des composants persistants avec Spring Data
  • Réaliser une application à base de micro-services avec une couche d’accès aux données
  • Mettre en oeuvre le mapping des objets de présentation avec MapStruct
  • Maîtriser les techniques de gestion d’erreurs et d’exceptions
  • Mettre en place un mécanisme d’authentification OAuth et JWT avec Spring Security
  • Déployer un micro-service dans les règles de l’art avec Docker, DockerSwarm et Kubernetes

Présentation

Avec ce cours, le stagiaire sera non seulement sensibilisé aux notions et préceptes des architectures RESTful mais il implémentera plusieurs micro-services basés sur Spring Data dans les règles de l’art. Ce cours ne s’arrête pas à l’implémentation via Spring Boot mais aborde également les problématiques liées à la conception d’une API (granularité, complexité du modèle de données, mapping …).

La sécurité occupe un rôle majeur dans ce cours avec la mise en place des mécanismes permettant l’authentification SSO avec Oauth et JWT.

Une fois le développeur aguerri au développement de micro-services, il est sensibilisé aux services Cloud : configuration distribuée et versionnée (Distributed/versioned configuration), annuaire de services (Service registration and discovery),  routage et appels service à service (Routing, Service-to-service calls), répartition de charge et tolérance aux pannes (Load balancing, Circuit Breakers), gestion de cluster (Global locks, Leadership election and cluster state) et messagerie asynchrone distribuée (Distributed messaging).

Enfin, ce cours se termine par la mise en production et le monitoring via les mécanismes de conteneurs (Docker, Kubernetes, …).

Plan du cours

Introduction aux micro-services

Les architecture monolitiques
Le problème du couplage
Qu’est-ce qu’un micro-service ?
Anatomie d’un micro-service
Architecture des micro-services

Construire un service avec REST et Spring Boot

Présentation de Spring Boot
Présentation de Spring Framework
Configurer et installer Spring
Structure d’un projet Spring Boot
Lancer un HelloWorld
Anatomie d’un WAR Spring Boot
Le point d’entrée principal

Structurer et configurer un projet Spring Boot

La gestion des dépendances
Les starters
Structurer son code au sein du projet
La configuration du projet
Les différents mécanismes de configuration
Fichiers YAML

Architecture RESTful et conception d’une API

Comprendre REST et sa philosophie
Quelques notions importantes
L’architecture RestFul vu par Richardson
Les règles du design d’API
Les verbes définissent les actions
Les liens entre les ressources
Versions et entêtes HTTP
Retours d’état, filtre et pagination
Utilisation des codes de statut HTTP

Implémenter un micro-service REST

Modèles de programmation REST
L’API Spring REST
L’outil Swagger
La classe ResponseEntity<T>
Spring WebFlux
Exemple de service WebFlux
Spring Data Rest et HATEAOS

La gestion des exceptions

Les exceptions
L’annotation @ResponseStatus
L’annotation @RestControllerAdvice
Spring Web Problems

Gérer les données 

Présentation de Spring Data
Spring JPA
L’API Spring JPA
La classe JPARepository
Les requêtes manuelles
L’API QBE (Query By Example)
Le modèle transactionnel
Les DTO (Data Transfert Object)
Installer MapStruct
Utiliser MapStruct
Introduction à GraphQL
Mettre en oeuvre GraphQL

Spring Security

Présentation
Le workflow Spring Security
Contexte de sécurité
L’authentification
Les différents modèles d’authentification
Configurer Spring Security
Où et comment définir le mode d’authentification
Exemples de configurations d’authentifications
Règles de sécurité via annotations
La classe UserDetailsService
La classe UserDetails
Sécurité Monolitique vs Micro-services
Les technologies SSO
Le vocabulaire OAuth2
Le workflow OAuth 2
SSO et Micro-services avec JWT

Spring Cloud

Configuration distribuée et versionnée
Annuaire des services et discovery
Routage
Appels de service à service
Gateway et Load Balancing
Circuit Breaker
Messagerie distribuée

Mise en exploitation et monitoring

Introduction à Docker & Kubernetes
Gestion des logs avec Logstash
Monitoring avec la pile ELK
Démonstration de Elastic APM Agents

L'offre de DNG Consulting et son savoir-faire

DNG Consulting forme depuis plus de dix ans de nombreuses entreprises au travers de sessions intra-entreprises ou inter-entreprises.

Nos formateurs interviennent au quotidien sur des problématiques techniques au travers des projets de nos clients. La spécialité de DNG est l’accompagnement dans un contexte agile. 

Pour plus de renseignements : formation@dng-consulting.com ou conseil@dng-consulting.com

image
https://www.dng-consulting.com/wp-content/themes/solidbox/
https://www.dng-consulting.com/
#2D5596
style1
scroll
Chargement des articles ...
/var/www/dng-consulting.com/www/
#
on
none
loading
#
Sort Gallery
on
no
off
off
off
Enter your email here
off
off