Quarkus

Quarkus

Développer une application complète avec Quarkus


Référence IDL-QUAR-F
Durée 5 jour(s)

Pour une session intra ou sur mesure

Demander un devis
Avancé Développement logiciel

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.

Quarkus offre des temps de démarrage supersoniques, une empreinte mémoire subatomique, relançant la technologie Java pour le cloud et les orchestrateurs de conteneurs et favorisant les architectures micro-services. Quarkus permet un modèle de programmation impératif ou réactif.

Objectifs pédagogiques

À l’issue de la formation, le participant sera en mesure de :

  • 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 concerné

Ce cours s'adresse principalement aux architectes et 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, ainsi qu'avoir des notions de déploiement de conteneurs.

Programme de la formation

Introduction 

  • Les architectures micro services, apports et contraintes.
  • Infrastructure de déploiement, orchestrateur de conteneurs et serverless.
  • Les handicaps de Java pour le cloud et la réponse de Quarkus.
  • Quarkus vs SpringBoot
  • Principes et écosystème.
  • Présentation et discussion du mini projet. 

Développement avec Quarkus

  • HotSpot et GraalVM.
  • Développement et hot reload avec Quarkus.
  • Support pour les IDEs et les outils de Build.
  • Quarkus Core. 
  • Les extensions Quarkus, le support réactif.
  • Rappels sur CDI.
  • Utilisation de l'injection de dépendances dans Quarkus.
  • Initialisation et démarrage des applications Quarkus.
  • Configuration applicative, profils.
  • Configuration des traces, de bugs d’applications Quarkus.
  • Test des applications.
  • Développer des applications natives.

API Restful avec Quarkus

  • Les Api Restful.
  • 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.
  • Open API et Swagger UI.
  • Rest Client.
  • Réactive.
  • Tolérance aux pannes et Résilience des services.

Quarkus et la persistance

  • Aperçu. 
  • Configuration de sources de données.
  • Utilisation d'Hibernate ORM et de JPA.
  • Hibernate ORM simplifié avec Panache.
  • Hibernate Search + Elasticsearch.
  • Utilisation du client Infinispan.
  • Utilisation de Transactions.
  • Comment utiliser la cache dans les applications.
  • Migration de schémas avec Liquibase.
  • Clients SQL réactifs.
  • Hibernate Reactive.
  • Client MongoDB.
  • MongoDB avec Panache.
  • Client Redis.

Communication Asynchrone : Messagerie

  • Support pour Kafka et ActiveMQ.
  • Extension Quarkus pour Apache Kafka.
  • Envoyer des messages à Kafka.
  • Réception des messages à Kafka.
  • Http et la Messagerie réactive.

Sécurité

  • Architecture de la sécurité.
  • JWT Authentification. 
  • User realms.
  • OpenID.
  • Vault.

Quarkus Observabilité 

  • Aperçu.
  • Using OpenTracing.
  • Sentry.
  • Collecting Metrics.

Moyens pédagogiques

Divers outils et frameworks seront utilisés ou présentés durant la formation.

Formation dirigée par un mini projet.

• 30% théorie. 

• 70% pratique.