Quarkus – niveau intermédiaire

  • 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