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 nouveaux challenges
Caractéristiques des architectures microservices
  • Indépendance et périmètre réduit
  • Communications synchrones et asynchrones
  • Formalisation des contrats d’interface
  • Les problématiques de conception
Communication entre les services
  • API RESTful
  • Les fondamentaux de REST
  • Mise en oeuvre avec JAX-RS
  • Librairies clientes
  • La découverte des services
  • Communication par messages asynchrones
  • Mise en oeuvre avec un MOM
  • La tolérance aux pannes
Développer un microservice en Java
  • L’approche standard : Eclipse MicroProfile
  • Quarkus, Spring Boot, Payara Micro
  • Serveur embarqué minimal
  • Exécution, débogage et configuration IDE
  • Documenter un service REST (Open API)
  • Les patterns : TimeOut, RetryPolicy, Fallback, Bulkhead, CircuitBreaker
Déploiement d’une architecture microservices
  • Présentation de Docker
  • Images et conteneurs
  • Créer ses propres images
  • Application multi-conteneur avec Docker Compose
  • Apports des orchestrateurs
  • Les offres Cloud
Suivi de production
  • Gestion des logs en environnement distribué
  • API Health Check (Liveness et Readiness)
  • Supervision des services
  • Remontée des métriques
  • Après les logs, les traces

Prochaines sessions inter-entreprises

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

Paris :
Du 04 au 06 décembre 2019
Du 18 au 20 mars 2020
Du 25 au 27 mai 2020
Du 14 au 16 octobre 2020
Du 02 au 04 décembre 2020

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