JSF (Java Server Faces) : développer une application Web JEE avec JSF et Ajax
Objectifs de la formation
• Avoir une expérience pratique dans l’utilisation isolée ou conjointe des frameworks couvrant toutes les couches applicatives : Hibernate, JPA, Spring, et JavaServer Faces/Primefaces.
• Comprendre les designs patterns qui sous-tendent chacun des frameworks étudiés (MVC, DAO,…).
• Apprendre à être productif et à développer tout en respectant les règles reconnues de la qualité (Utilisation efficace des IDE, Tests unitaires,…).
• Exploiter efficacement les frameworks de productivité de Java EE. Maîtriser l’utilisation conjointe de ces frameworks.
Contenu du cours
1- Introduction à Java EE et classification des frameworks de développement
• Aperçu de l'écosystème JEE, des frameworks leaders, de leur rôle dans le développement
d'applications Java.
• Tour d’horizon des patterns et des frameworks actuels de Java EE.
• Classification des frameworks Java EE.
• Présentation et comparaison des architectures 2-tiers, 3-tiers, n-tiers. Présentation de
l’architecture SOA.
2- Les frameworks d'industrialisation et de gestion de la qualité
• Organisation d'un développement Java : Le cycle de vie, les métiers, les processus de
développement, gestion de la qualité.
• Ant, un framework d'automatisation de tâches.
• Maven, pour simplifier la production et la gestion des "build".
• JUnit, un framework pour la rédaction et l'exécution de tests unitaires.
• Gestion de la qualité avec Checkstyle, PMD, FindBugs et Sonar.
• Outils de gestion de versions : Git et d’intégration continue avec Jenkins. Intégration de Git
avec Jenkins.
3- Les frameworks de persistance Hibernate et JPA
• Revue rapide de l’infrastructure JDBC et des patterns d’accès aux données.
• Présentation de la persistance et des principes de l’ORM (Object Relational Mapping).
• Présentation de l’architecture de Hibernate et de son modèle de configuration et de
programmation.
• Création d'un mapping objet/relationnel. SessionFactory, Configuration, API Criteria, et
HQL.
• Manipulation de données persistantes. Cycle de vie des objets. Synchronisation avec la base
de données.
• Présentation de l’architecture de JPA et de son modèle de configuration et de
programmation. Comparaison Hibernate/JPA.
• Création d'un mapping objet/relationnel. Contexte, classes persistantes.
• Manipulation de données persistantes. Cycle de vie des objets. Synchronisation avec la base
de données. Pratique de JPQL.
• Aspects avancés : Optimisations des allers/retours vers la base de données. Mise en œuvre
de la technique de Cache.
• Rappel des erreurs à éviter.
4- Le framework d’intégration Spring
• Concepts de conteneur léger.
• Vue d'ensemble et exemples d'utilisation de Spring.
• Pattern "Inversion de Contrôle (IoC) : Injection de dépendance".
• Mise en œuvre de Spring Core: Injection de dépendances et AOP.
• Configuration de Beans spécifiques à Spring, cycle de vie Les Beans, BeanFactory et
ApplicationContext.
• Méthodes d'injection de dépendance.
• Programmation orientée aspect (AOP) avec Spring.
• Les différents types d'«advice» : around, before, throws, after.
• Intégration de Spring avec Hibernate et JPA.
• Intégration de Spring dans le tiers Web.
• Mise en œuvre de Spring Security.
• Amélioration de la productivité Spring en utilisant Spring Roo.
5- Le framework JavaServer Faces (JSF)
• Introduction au modèle MVC 2.
• Architecture de JavaServer Faces.
• Composants de JavaServer Faces.
• Implémentation d'un processus de navigation web.
• Libraires de balises JSP de JSF.
• Mise en œuvre du layout des pages web avec les Facelets.
• Exploitation des nouveautés de JSF 2.0 (Validation de données, Ajax, Web beans,…).
• Internationalisation d’applications JSF.
• Struts vs. le standard JavaServer Faces.
6- JSF : Rich Interfaces (RIA) avec PrimeFaces
• Aperçu des frameworks d’extention de JSF (PrimeFaces, IceFaces, RichFaces,…).
• Architecture PrimeFaces.
• Configuration et mise en œuvre de PrimeFaces.
• Composants usuels de PrimeFaces : HtmlEditor, Dialog, AutoComplete, Charts,…
• Exploitation de la fonctionnalité Ajax avec PrimeFaces : les bonnes pratiques.
7- Frameworks de développement de Web Services XML : Glassfish Metro, Apache Axis2 et Apache CXF
• Standards XML : Schémas, XSL, DOM, et XPath.
• Standards des web services : SOAP, WSDL, et UDDI . REST.
• Place des web services dans le cadre d’architectures SOA.
• Patterns de développement de web services.
• JAX-WS avec l’implémentation de référence Glassfish Metro : Développer des web services
Java EE en utilisant des annotations.
• Présentation de l’architecture d’Axis 2 et de son modèle de configuration et de packaging.
• Présentation de l’architecture d’Apache CXF et de son modèle de configuration et de
packaging.
• Compraison des frameworks Glassfish Metro, Axis2 et CXF.
• Pratique de l’écriture de services : approches contract-first et code-first.
• Pratique de l’écriture de clients. Génération de proxies.
• Les web services REST : Fondements techniques et cas d’usages typiques.
• Développement d’exemple de Web services RESTful avec le Framework Jersey.