-
Filière :
Architecture & Intégration
-
Sous-filière :
SOA & MicroServices
-
Référence
AE-QUA-I
-
Durée
3 jours (21 h)
-
Prix par personne HT
1 850 € HT
Description
Développé par Red Hat, Quarkus est un framework OpenSource full-stack Java natif, conçu pour les machines virtuelles Java (JVM) et la compilation native, qui permet d’optimiser Java spécifiquement pour les conteneurs afin d’en faire une plate-forme efficace pour les environnements sans serveur, cloud et Kubernetes.
Objectifs pédagogiques
Opérationnels :
- Savoir développer des microservices avec Quarkus et les déployer dans le cloud
Pédagogiques :
- Mettre en place un IDE et les outils de développement pour quarkus
- Développer différents types de microservices avec Quarkus (API RestFul, Messagerie réactive, Client Rest)
- Comprendre la compilation AOT et les phases de build d’une application Quarkus
- Déployer et surveiller une architecture micro-services Quarkus vers Kubernetes
Public cible
- Architectes
- Développeurs
Pré-requis
- Savoir développer en Java
- Posséder une connaissance des architectures Web, une connaissance du protocole HTTP et des concepts REST
- Avoir des notions de déploiement de conteneurs
Modalités d’évaluation
L’évaluation des acquis se fait tout au long de la session au travers d’ateliers de mise en pratique des notions et concepts abordés pendant la formation.
Méthodes pédagogiques
- Support de cours
- Cahier de travaux pratiques
Programme de la formation
Introduction
- Les architectures microservices, apports et contraintes
- Infrastructure de déploiement, orchestrateur de conteneurs et serverless
- Les handicaps de Java pour le cloud, la réponse de Quarkus
- Quarkus vs SpringBoot
- Principes et eco-système
Développer avec Quarkus
- Support pour les IDEs et les outils de build
- Les extensions Quarkus, le support réactif
- Rappels sur CDI
- Initialisation et démarrage des applications Quarkus
- Configuration applicative, profils
- Configuration des traces, debug d’applications Quarkus
- Test des applications
- Développer des applications natives
Ateliers : Mise en place IDE, application en ligne de commande
API Restful avec Quarkus
- Extensions disponibles pour les APIs Restful et technologies front-end
- Annotations JAX-RS,
- Sérialisations Jackson ou JSON-B
- Filtres http et intercepteurs, exemple CORS
- OpenAPI
- Rest Client
- JWT Authentication
- Reactive
- Tolérance aux pannes et Resilience
Atelier : Développement d’une API Restful également RestClient, documentation, configuration CORS,
Quarkus et la persistance
- Configuration de sources de données
- JPA et Hibernate, Validationdu modèle
- intégration aux moteurs de recherche via Hibernate Search
- Migration de schéma avec Liquibase, Flyway
- Support NoSQL et services cloud
Atelier : Mise en place couche de persistance sur l’application précédente
Messagerie
- Support pour Kafka et ActiveMQ
- Messagerie réactive
- Intégration Kafka Streams
Atelier : Mise en place d’un bus d’évènements via Kafka
Sécurité
- Architecture de la sécurité
- User realms
- OpenID
- Vault
Atelier : Sécurisation des endpoints Rest avec OpenID
Déploiement d’applications Quarkus
- Construction d’image$
- Déploiement vers Kubernetes
- Déploiement vers les acteurs du clouds
- Observabilité des applications : healthcheck, distributed tracing, centralisation des traces
Atelier : Déploiement cluster Kubernetes
Qualité
Créé : novembre 2023
Programme mis à jour le