MICJ – Les architectures microservices Java

Référence : MICJ
Durée : 3 jours (21 heures)

Présentation

Durant de nombreuses années, le serveur d’applications a été l’alpha et l’omega du développement Java d’entreprise. Sorte de système d’exploitation dans le système d’exploitation, il offre aux applications une palette complète de fonctionnalités techniques : moniteur transactionnel, plateforme de web services REST et SOAP, traitements par lots, planificateur de tâches…

Aujourd’hui, ce schéma d’architecture a commencé à montrer ses lacunes. En effet, malgré les efforts de la spécification Java EE visant à promouvoir la modularité des applications, ces dernières restent relativement monolithiques, exécutées au sein d’un « gros » processus Java. L’approche microservices prend le contre-pied de cela ; ici les fonctionnalités d’une même application sont portées par plusieurs processus communiquant entre eux au travers de protocoles et d’API agnostiques aux systèmes d’exploitation et aux langages de programmation. Le couplage entre les composants logiciels est faible, ils peuvent évoluer indépendamment les uns des autres.

La formation s’attachera à la fois à expliquer la philosophie architecturale sous-jacente aux microservices et à détailler leur mise en oeuvre concrète avec les technologies Java.

Programme

Introduction aux microservices
  • Définition, mise en perspective
  • Comparaison avec d’autres architectures
  • Agilité, DevOps : les pratiques favorisant les microservices
  • Des avantages mais de nouvelles difficultés
Caractéristiques des architectures microservices
  • Indépendance et périmètre réduit
  • Communications synchrones et asynchrones
  • Formalisation des contrats d’interface
  • Le service registry (client ou serveur)
  • Les problématiques de conception
Communication entre les services
  • API RESTful
  • Les fondamentaux de REST
  • Mise en oeuvre avec JAX-RS
  • Librairies clientes
  • Documenter un service REST avec Swagger
  • Communication par messages asynchrones
  • Mise en oeuvre avec un MOM
  • La tolérance aux pannes
Développer un microservice en Java
  • Un début de standardisation : Eclipse MicroProfile
  • Spring Boot, WildFly Swarm, Payara Micro
  • Serveur embarqué minimal
  • Les patterns : TimeOut, RetryPolicy, Fallback, Bulkhead, CircuitBreaker
  • Fat/Uber ou Hollow JAR
  • Exécution, débogage et configuration IDE
  • Définir son propre main
Déploiement d’une architecture microservices
  • Présentation de Docker
  • Création de conteneurs personnalisés
  • Application multi-conteneur avec Docker Compose
  • Gestion de clusters Docker
  • Les offres Cloud
Suivi de production
  • Gestion des logs en environnement distribué
  • API Health Check
  • Supervision des services
  • Remontée des métriques

Prochaines sessions inter-entreprises

Toulouse :
Du 20 au 22 février 2019
Du 17 au 19 avril 2019
Du 19 au 21 juin 2019
Du 20 au 22 novembre 2019

Paris :
Du 20 au 22 mars 2019
Du 22 au 24 mai 2019
Du 16 au 18 octobre 2019
Du 04 au 06 décembre 2019

Méthode pédagogique

60% de travaux pratiques

Audience

Architectes, Développeurs Java

Versions des technologies

Java 8, Eclipse MicroProfile

Pré-requis

Une bonne pratique de Java

Tarif

1595 €

Votre nom (obligatoire)

Votre email (obligatoire)

Votre société (obligatoire)

Votre demande