Introduction to Java Component-based Enterprise Applications
This lecture notebook introduces Java application servers and their role in building component-based enterprise applications using Jakarta EE technologies. A focus on Quarkus as a modern Java application server is included.
Ce support regroupe les leçons (C) et travaux pratiques (TP) du cours. Les leçons se suivent dans l’ordre de leurs numéros.
COURS
JEE : Introduction aux serveurs d'application et aux plateformes Java d'entreprise
Introduction conceptuelle aux serveurs d'application, au modèle de conteneur et aux plateformes Java d'entreprise (Jakarta EE, Spring, Quarkus) : architecture, packaging, déploiement et choix de…
Travaux pratiques : concevoir, développer et tester de bout en bout une première application Jakarta EE avec Quarkus, Hibernate ORM Panache et une base de données H2.
CDI : Inversion de contrôle et injection de dépendances
Introduction conceptuelle à CDI : le pattern d'inversion de contrôle, les beans gérés, les scopes, l'injection de dépendances, les qualifiers et les événements.
TP : Mettre en œuvre MicroProfile sous Quarkus (Health, Metrics, Config, OpenAPI)
Travaux pratiques : ajouter Health, Metrics, Config et OpenAPI à un petit service Quarkus, puis vérifier les endpoints /q/health, /q/metrics et /q/openapi avec quarkus dev et curl.
Sécurité : authentification et autorisation sous Quarkus
Introduction à la sécurité sous Quarkus : le modèle de sécurité, l'authentification de base, la sécurité par méthode, les JWT SmallRye et le test en mode développement.
Partie d'approfondissement : OAuth2 / OpenID Connect, intégration Keycloak (dev et prod), anatomy et vérification des JWT, et autorisation avancée (sécurité par méthode et security policies) dans…
Notes (HTML) : version de référence, lisible à l’écran et imprimable.
Slides (Revealjs) : version projetée en cours.
Les sorties sont publiées au plus tard une trentaine de minutes après une mise à jour. Si une sortie manque ou affiche une page inattendue, prévenez l’enseignant.
Licence CC BY-NC — Emmanuel Bruno, Université de Toulon (LIS, UMR CNRS 7020).