ASTON INSTITUT : 03. Java EE – Développer des applications d’entreprise
Organisme
92300 LEVALLOIS PERRETVoir toutes ses formationsAutres organismes proposant cette formation
Durée
Modalités
- Classe virtuelle
- Présentiel
Tout au long de la formation, le formateur s'assure de la compréhension et de l'assimilation des concepts via des QCM et exercices. Après la formation : évaluation à chaud et à froid.
Prix
Public
Développeurs, chefs de projets, architectes techniques…
Pré-requis
Avoir des connaissances pratiques de Java et des technologies web de base (HTML/CSS).
Objectifs pédagogiques
- Comprendre l’architecture de la plateforme Java EE
- Appliquer les principes de Java EE pour le développement d’applications d’entreprise
- Appréhender les technologies web de JEE
- Connaître les spécificités des servlets, JSP et EJB
- Connaître les différents modèles de déploiement
- Comprendre comment utiliser les outils d’automatisation de déploiement
- Savoir utiliser l’API Java pour le monitoring des ressources mémoire et des processus
Programme détaillé
Chapitre 1 : Applications web jee : notions essentielles
- Rappels HTTP : notions fondamentales
- Client / Serveur
- W3C
- Protocol http (GET, POST, DELETE, PUT)
- Présentation des serveurs Web et d’applications
- Notion de conteneur
- Problématique de déploiement et de migration serveur
- Fichiers WAR, JAR et fichiers EAR
- Le contenu du fichier web.xml
- Les différences entre une application Web et une application lourde
- Les normes JEE 5, 7, 8 (utilisation de JEE 8)
Chapitre 2 : Les servlet
- Cinématique d’exécution dans le conteneur Web
- Méthodes type et cycle de vie d’un servlet
- init / service / destroy
- Interfaces HttpServletRequest et HttpServletResponse
- Redirections
- forward
- sendRedirect
- Traitement des données des formulaires
- get/setParameter
- Périmètres des scopes et la notion attributs
- Page
- Request
- Session
- Application
- Méthodes de déclaration (web.xml, annotation, classe de configuration)
Atelier pratique : Réalisation de deux servlets à partir d'un back existant. Affichage des comptes bancaires d'un utilisateur et à partir d'un compte affichage de ses opérations.
Chapitre 3 : Les JSP
- Syntaxe des JSP
- Scriptlets, directives et balises de style XML
- Objets implicites (request, session, out, …)
- Utilisation de la Tag Lib JSTL
- c : pour les opérations de bases
- fmt : pour le formatage
Atelier pratique : Réalisation de deux JSP à partir d'un back existant. Affichage des comptes bancaires d'un utilisateur et à partir d'un compte affichage de ses opérations.
Chapitre 4 : Les EJB 3
- La spécification EJB 3.
- Les différents types d'EJB :
- session ("stateless" et "stateful")
- entité (via JPA)
- message-driven
- Rôle du Java Naming and Directory Interface(JNDI).
- Injection des dépendances via les annotations
Chapitre 5 : LE JPA pour les EJB entites
- Rappel des contraintes liées au Mapping objet-relationnel
- Définition et déclaration d'une DataSource
- Base first ou code first ?
- Annotations du JPA
- Implementation JPA : hibernate
- EntityManager/EntityManagerFactory
- Gérer le transactionnel en JPA
- Générer son mapping automatiquement
- Vision bidirectionnelle de JPA
- Focus sur les problématiques de configuration
- login/pwd, taille de la DataSource
- nombre d'entité chargé en mémoire
Atelier pratique : Remplacement d'un back JDBC en JPA via génération des entités.
Chapitre 6 : SECURISATION DES APPLICATIONS JEE
- Authentification des utilisateurs
- Mécanique de gestion des rôles
- Du back (EJB) au front (JSP) en passant par le contrôleur (servlet)
Chapitre 7 : LE MVC
- Séparation de la présentation et du code
- Le modèle MVC et le rôle de chaque élément
- Modèles : beans / entités Java
- Vues : Pages JSPs
- Contrôleurs : Servlets ou objet délégués.
- Avantages et inconvénients du MVC
- Présentation du MVC2
- Présentation des différents framework MVC2
- Struts 2
- Spring MVC
- JSF
Atelier pratique : En s'inspirant des exercices précédents et d'une maquette en HTML/CSS/JS nous allons réaliser un projet complet de gestion de comptes bancaires en JSP/Servlet/EJB (~6 écrans).
Chapitre 8 : Les filtres
- Présentation des Filter
- Leur rôle dans une application JEE
- La notion de mapping
- Méthodes de déclaration (web.xml, annotation, classe de configuration)
Atelier pratique : Réalisation d'un filtre de sécurité chargé de valider que l'utilisateur est bien authentifié avant de pouvoir accéder à une ressource.
Chapitre 9 : LesS listeners
- Rôle d’un listeners
- Pattern de la gestion d’évènement
- Les évènements gérables via listener JEE
- Création / destruction de session
- Ajout / suppression d’attribut
- Méthodes de déclaration (web.xml, annotation, classe de configuration)
Atelier pratique : Utilisation d'un listener sur les états de la session pour tenir une liste des personnes connectées au site
Chapitre 10 : Déployer son application
- Rappel sur les architectures de déploiement
- mono serveur
- cluster (multi serveur)
- mono instance
- multi instance
- Utilisation des outils build Java classiques (Maven/Gradle)
- Paramétrer sa DataSource côté serveur
Atelier pratique : Déploiement de notre application sur Tomcat et JBoss. Mise en place d'un apache en front pour faire du load balancing sur plusieurs Tomcat.
Chapitre 11 : Monitorer son server et ses applications
- Via la console d'administration de son serveur
- Via les pages webs des consoles
- Via les API disponibles
- Via des consoles tierces : exemple avec psi-probe
- Directement dans le code via des éléments JMX
- L'architecture de JMX
- Les MBeans (Model, Open et Dynamic)
- Les services associés à l'agent JMX
- Les notifications par évènements
- Les MXBeans
- L'interface PersistentMBean
Atelier pratique : Présentation des consoles de Tomcat et JBoss et de leurs API (cgi, Rest et JMX). Ajout d'un bean JMX dans notre application bancaire.
Chapitre 11 : Valider son application via des tests de charge
- Pourquoi faire des tests de charge
- Réalisation de tests de charges via Gatling / JMeter
Atelier pratique : Tester que l'application fonctionne en lui donnant une charge de 500 utilisateurs différents et simultanés (nombre adapté en fonction de la puissance des machines disponibles en formation).