Formation Développer des applications Web avec Java EE


Objectifs
  • Apprendre à concevoir une application Web basée sur Java EE
  • Savoir utiliser un environnement de développement pour concevoir et déboguer une application Web Java EE respectant le modèle MVC
  • Savoir packager, déployer et configurer une application Web Java EE sur un serveur d'applications
Participants
  • Développeur
  • Analyste programmeur
  • Chef de projet
Approche Pédagogique
  • Cas pratiques
  • Remise d’outils
  • Echanges d’expériences
  • Durée : 5 jours
  • Réf. : WEB79

Dates de Formations

27 au 31 Mai 2019

15 au 19 Juil. 2019

16 au 20 Sept. 2019

25 au 29 Nov. 2019

Programme
  • 1/ Architecture de la plate-forme Java EE
    • • De l'architecture client/serveur à l'architecture Web
      • - Les composantes d'une architecture Web
    • • Le modèle de composants Java EE
      • - Servlet, JavaServer Pages (JSP), Enterprise JavaBeans (EJB)
    • • La plate-forme de services Java EE
      • - Accès aux ressources et intégration dans le système d'information
      • - JDBC, JNDI, JTA, JCA, JavaMail, …
    • • Structure des modules et applications Java EE
      • - Packaging et déploiement
    • • Les serveurs d'applications Java EE
      • - Rôles et principes de fonctionnements
      • - Les conteneurs du serveur
      • - L'offre du marché
  • 2/ Conception d'applications Web Java EE
    • • Présentation du modèle de conception MVC
      • - Attribution des rôles aux composants Java EE
    • • Répartition des composants applicatifs dans les différentes couches logicielles
      • - Notion de couplage et d'interdépendance
  • 3/ Utiliser un IDE pour le développement Web Java EE
    • • Installer et configurer un IDE pour le développement Java EE
      • - Configurer une instance de serveur d'applications pour tester l'exécuter des composants Web
      • - Déboguer les composants Web
  • 4/ Gestion de la couche d'accès aux données avec les frameworks Hibernate et Spring
    • • Rappels sur le framework Hibernate
    • • Rappels sur le framework Spring
    • • Travaux pratiques : Création de la couche d'accès aux données pour l'application
  • 5/ Développement de Servlets
    • • Présentation de l'API Servlet
      • - Les classes et interfaces des packages javax.servlet et javax.servlet.http
    • • Les méthodes du cycle de vie d'une Servlet : init(), destroy()
    • • Les méthodes de traitements d'une Servlet : doGet(), doPost(), …
    • • Utilisation des annotations pour la configuration des Servlets
    • • Manipulation des objets représentant les requêtes et les réponses HTTP
    • • Récupération des paramètres des requêtes HTTP
    • • Maintenir le contexte utilisateur avec les cookies et les sessions HTTP
      • - Problème du suivi de session sans cookie : mise en place de la réécriture d'URL et encodage des URL
    • • Bonnes pratiques d'utilisation des contextes de stockage de données (application, session, requête, page)
    • • Création et utilisation de composants JavaBean et mise en œuvre du pattern Value Object pour le transfert de données métiers en les différentes couches d'une application Java EE
    • • Interaction avec d'autres ressources Web
      • - L'inclusion de ressources avec la méthode include()
      • - La redirection serveur avec la méthode forward()
      • - La redirection client avec la méthode sendRedirect()
    • • Travaux pratiques
  • 6/ Développement de JSP
    • • Structure et syntaxe d'une JSP (JavaServer Pages)
      • - Les directives
      • - Les scriptlets et les expressions
      • - Les tags actions
      • - Les objets implicites
    • • Bonnes pratiques de conception des JSP
    • • Récupération de données de composants JavaBean dans les JSP
      • - Manipulation des contextes de stockage de données (application, session, requête, page)
    • • Inconvénient de la coexistence HTML/Java dans les JSP et bonnes pratique dans la mise en œuvre de la bibliothèque de balises JSTL (Java Standard Tag Library)
      • - Les balises et le langage d'expression
    • • Travaux pratiques
  • 7/ Développement de classes de filtres
    • • Principe de fonctionnement et cas d'utilisations
    • • Création de classes de Filtres
    • • Travaux pratiques : Mettre en place des filtres pour l'application de vente de livres en ligne
  • 8/ Développement de classes listeners
    • • Principes de fonctionnement et cas d'utilisations
    • • Création de classes listeners sur les contextes de session et d'application
    • • Travaux pratiques : Concevoir un listener qui va préparer le panier de chaque utilisateur
  • 9/ Configuration et paramétrage d'une application Web Java EE
    • • Le descripteur de déploiement : le fichier web.xml
    • • Les annotations et l'aspect facultatif du descripteur de déploiement
    • • Les " Web Fragments " et la modularisation de la configuration
    • • Déclaration de la page d'accueil par défaut
    • • Déclaration et paramétrage des :
      • - Servlets
      • - JSP
      • - filtres
      • - listeners
    • • Déclaration de la page de gestion des erreurs par défaut
    • • Déclaration de la durée de vie des sessions http
    • • Travaux pratiques : Réaliser le fichier de configuration web.xml pour l'application de vente de livre en ligne
  • 10/ Sécurisation d'une application Web Java EE
    • • Authentification, autorisation : le modèle de sécurité de Java EE
    • • Déclaration des ressources sécurisées et des rôles applicatifs
    • • Les différentes méthodes d'authentification
    • • Travaux pratiques : Sécuriser la page d'ajout de livre qui ne doit être accessible que par les administrateurs du site
  • 11/ Packaging et déploiement des applications Web Java EE
    • • Création de l'archive Web Java EE pour le déploiement
      • - Utiliser l'IDE ou Apache Ant pour le packaging en fichier WAR
    • • Utilisation de la console d'administration du serveur d'applications pour configurer le déploiement de l'application Web Java EE
    • • Déployer l'application Web Java EE à chaud et/ou à froid
    • • Travaux pratiques : Déployer l'application de de vente de livres sur Apache Tomcat