Public visé
Développeurs, architectes, chefs de projets techniques.
Prérequis
Avoir une connaissance pratique en Java ou avoir suivi le cours JAV-SE “Java - Les fondamentaux de la programmation”. Avoir des notions de base HTML.
Objectifs pédagogiques
À l’issue de cette formation, vous serez capable de :
- Décrire la plateforme Java EE en termes de composants applicatifs (Enterprise Java Beans, Jakarta Persistence API…)
- Développer des servlets et JSP (JavaServer Pages)
- Gérer le contexte applicatif avec la session
- Déployer une application et gérer son aspect optimisation
- Identifier la place des EJB et leurs implémentations
- Décrire les premiers pas de la persistance en Java
- Reconnaître les outils de construction de projets Java : Maven, Gradle
- Décrire les Java Mapping Framework (ModelMapper, Eureka, Dozer)
Programme
Jour 1 - Matin
La plateforme JEE pour le Web
- Objectifs de JEE (Java Entreprise Edition)
- Présentation des normes principales de JEE
- Développer une application pour le Web et pour un serveur d’application
- Typologie des architectures JEE selon l’objectif
Place des constituants dans le n-tiers
- Présentation d’une architecture n-tiers JEE
- N-tiers et MVC (Modèle-Vue-Contrôleur)
- Présentation de la notion de POJO (Plain Old Java Object)
- Importance du concept POJO dans Java
- Place des servlets
- Place des JSP (JavaServer Pages) et de JSF2 (JavaServer Faces 2.0)
- Place et rôle des JavaBeans de type POJO
Jour 1 - Après-midi
Les servlets 3.0
- Place et rôle des servlets dans l’architecture Web JEE
- Cycle de vie d’une servlet
- Concevoir un échange Web avec une servlet, les formulaires HTML
- Annotations et configuration web.xml
- Contexte de l’application et ServletConfig
- Requêtes et réponses
- Gestion des sessions en servlet
- Utilisation du RequestDispatcher
- Filtres et Listeners
- Sécurisation de l’application Web avec SecurityRealms
- Architecture d’une application Web
Descripteur de déploiement
- Fichier .WAR
- Packaging
Types de packaging d’applications Web
- WAR (Web Application Archive)
- RAR (Resource Adapter Archive)
- JAR (Java Archive)
- EAR (Enterprise Application Archive)
Exemple de travaux pratiques
- Réalisation d’une application Web intégrant des contrôleurs
Jour 2 - Matin
La présentation avec JSP
- Syntaxe
- Scriptlet et expressions
- Variables implicites
- Directives
- Syntaxe XML
- Utilisation de Bean
- Expression Language (EL)
- TagLibs et custom tags
- JSTL (Java Standard Tag Library)
Exemple de travaux pratiques
- Ajout à l’application des JSP, partie Vue
Utilisation de la norme JSF2
- Présentation du framework JSF2
- Cycle de vie d’une requête JSF2
- Les composants graphiques UI
- La servlet FacesServlet
- Les Managed Beans
- Concevoir la navigation entre les pages
- Conversion de données implicite et explicite
- Validation des données
Exemple de travaux pratiques
- Traduction de l’application développée en JSF2, intégrant un exemple typique de modèle MVC
Jour 2 - Après-midi
Présentation des EJB (Enterprise Java Beans)
- Les trois sortes d’EJB : Entité, Session, Message
- Les EJB Session Stateless et Stateful
- Les annotations disponibles standards
- Adaptation des annotations aux différents serveurs d’application
Exemple de travaux pratiques
- Réalisation d’un EJB3 - Session déployée sur un serveur d’application type WildFly ou GlassFish ou JBoss
Jour 3 - Matin
Accès aux données
- Rappel JDBC (Java DataBase Connectivity)
- Utilisation de JNDI (Java Naming and Directory Interface) et des Data Sources
- Présentation des diverses méthodes JSDB d’accès aux données
- Présentation de JPA (Jakarta Persistence API)
- Rôle de l’EntityManager
- Les POJO et les annotations JPA
- Accéder aux données avec JPA et HQL (Hibernate Query Language)
- L’API Criteria
Exemple de travaux pratiques
- Ajout à l’application de composants JPA, représentant une entité ou plusieurs DB
Jour 3 - Après-midi
Les Web Services et WebSockets
- Présentation des Web Services REST
- Développement de Web Services REST client et serveur
- Présentation des Web Services SOAP
- Développement de Web Services SOAP client et serveur
- Présentation des WebSockets
- Développement d’une application serveur WebSocket et cliente JavaScript
Exemple de travaux pratiques
- Démonstration de l’ajout, à l’application précédente, d’un service Web REST
Jour 4 - Matin
Les normes importantes
- JMS (Java Message Service)
- JMX (Java Management Extensions)
Le déploiement d’applications
- Les différentes topologies
- Conteneur Web et conteneur EJB
- Le découplage : HTTP, WEB, EJB
- Les ressources statiques à part
- Stratégies de déploiement
- 1, 2, n-serveurs ?
- Session : que maintient-on ?
- La sécurité : vue générale
- Le clustering
- Matériel ou logiciel ?
- L’affinité de session
- Automatisation des déploiements
- Les solutions éditeurs
- Les scripts
- Archivage des versions, rythmes de déploiement
Exemples de travaux pratiques
- Sécurisation et déploiement de l’application
Jour 4 - Après-midi
Monitoring d’applications
- Sources d’information
- Les logs HTTP
- Applicatifs
- De l’OS (Operating System)
- Des SGBD (Système de Gestion de Base de Données)
- La génération des logs Java
- Java
- Log4J
- SLF4J (Simple Logging Facade for Java)
- Common Loggings
- Analyse des logs
- Outils Open Source (Chainsaw…)
- Le lien avec les logs HTTP
Outils de construction de projet : Maven
- Le principe de fonctionnement de Maven
- La structure d’un projet Maven
- Les différentes instructions de construction d’un projet avec Maven
- Le déploiement d’un projet avec Maven
Exemple de travaux pratiques
- Utilisation des outils de monitoring mémoire et manipulation de quelques instructions Maven
Jour 5 - Matin
Concepts de Mapping du framework JEE
- Concept et définition
- Exemples de frameworks de Mapping :
- ModelMapper
- Eureka
- Benchmark de framework
Exemples de travaux pratiques
- Quelques exemples de mises en pratiques du framework ModelMapper
Jour 5 - Après-midi
Synthèse finale / projet
- Étude et développement d’une application reprenant l’ensemble des normes et composants vus en cours
Modalités d’évaluation
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d’auto-évaluation