Objectifs de formation
A 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).
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.
Validez les prérequis
Afin de vérifier que vous disposez bien des prérequis nécessaires à cette formation, nous vous invitons à réaliser ce test.
Temps estimé : 4 minutes.
Passer le testPublic concerné
Développeurs, architectes, chefs de projets techniques.
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 (à titre indicatif)
- 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 (à titre indicatif)
- 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 (à titre indicatif)
- 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 (à titre indicatif)
- 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 (à titre indicatif)
- 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 (à titre indicatif)
- 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 (à titre indicatif)
- 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 (à titre indicatif)
- Utilisation des outils de monitoring mémoire et manipulation de quelques instrutions 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 (à titre indicatif)
- Quelques exemples de mises en pratiques du framework ModelMapper
Jour 5 - Après-midi
Synthèse finale / projet
- Etude et développement d'une application reprenant l'ensemble des normes et composants vus en cours
Le contenu de ce programme peut faire l'objet d'adaptation selon les niveaux, prérequis et besoins des apprenants.
Modalités, méthodes et moyens pédagogiques
Formation délivrée en présentiel ou distanciel* (blended-learning, e-learning, classe virtuelle, présentiel à distance).
Le formateur alterne entre méthode** démonstrative, interrogative et active (via des travaux pratiques et/ou des mises en situation).
Variables suivant les formations, les moyens pédagogiques mis en oeuvre sont :
- Ordinateurs Mac ou PC (sauf pour certains cours de l'offre Management), connexion internet fibre, tableau blanc ou paperboard, vidéoprojecteur ou écran tactile interactif (pour le distanciel)
- Environnements de formation installés sur les postes de travail ou en ligne
- Supports de cours et exercices
En cas de formation intra sur site externe à M2i, le client s'assure et s'engage également à avoir toutes les ressources matérielles pédagogiques nécessaires (équipements informatiques...) au bon déroulement de l'action de formation visée conformément aux prérequis indiqués dans le programme de formation communiqué.
* nous consulter pour la faisabilité en distanciel
** ratio variable selon le cours suivi
Modalités d’évaluation des acquis
- En cours de formation, par des études de cas ou des travaux pratiques
- Et, en fin de formation, par un questionnaire d'auto-évaluation
Accessibilité de la formation
Le groupe M2i s'engage pour faciliter l'accessibilité de ses formations. Les détails de l'accueil des personnes en situation de handicap sont consultables sur la page Accueil et Handicap.
Modalités et délais d’accès à la formation
Les formations M2i sont disponibles selon les modalités proposées sur la page programme. Les inscriptions sont possibles jusqu'à 48 heures ouvrées avant le début de la formation. Dans le cas d'une formation financée par le CPF, ce délai est porté à 11 jours ouvrés.