Aller au contenu principal

ASTON INSTITUT : 03. Java EE – Développer des applications d’entreprise

Durée

35 heures

Modalités

Formation
  • Classe virtuelle
  • Présentiel
Évaluation

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

Inter
La formation en Inter est dispensée pour un groupe de salariés d’entreprises différentes.
1543.5€ HT / personne
Intra
La formation en Intra est dispensée pour un groupe de salariés d’une seule et même entreprise.
6174€ HT / groupe
4 stagiaires minimum

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). 

 

Sessions

Filtrer les résultats
Modalités pédagogiques
Formation synchrone se déroulant avec la présence physique du (des) formateur(s) et du (des) apprenant(s) réunis dans un même lieu de formation.
Formation combinant des séquences en présentiel et des séquences à distance synchrones ou asynchrones.
Formation à distance, asynchrone, s’appuyant sur une plateforme d’apprentissage, pouvant être complétée par d’autres modalités de formation à distance (visio-conférence…)
Formation à distance, synchrone, s’appuyant sur un dispositif de visio-conférence. La classe virtuelle recrée à distance les conditions d’une formation en salle traditionnelle.
Type de formation
La formation en Inter est dispensée pour un groupe de salariés d’entreprises différentes.
La formation en Intra est dispensée pour un groupe de salariés d’une seule et même entreprise.
Options
Les compétences professionnelles visées par la formation sont validées via un test permettant d’obtenir une certification officielle.
Ces sessions ne peuvent être ni annulées ni reportées par l’organisme de formation.