M2I FORMATION : 03. Java EE – Développer des applications d’entreprise
Organisme
92400 COURBEVOIEVoir toutes ses formationsAutres organismes proposant cette formation
Durée
Modalités
- Classe virtuelle
- Présentiel
L’évaluation des acquis se fait en cours de formation, par des études de cas ou des travaux pratiques et, en fin de formation, par un questionnaire
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é
JOUR 1 Matin
§ La plateforme JEE pour le Web
Objectifs de JEE
Présentation des normes principales de JEE
Développer une application pour le Web
Développer une application 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
Présentation de la notion de POJO
Importance du concept POJO dans Java
Place des Servlets
Place des JSP et de JSF2
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
- RAR
- JAR
- EAR
§ Travaux Pratiques (exemple)
Réalisation d’une application Web intégrant des Servlets Controleur
JOUR 2 Matin
§ La présentation avec JSP
Syntaxe
- Scriptlet et expressions
Variables implicites
Directives
Synthaxe XML
Utilisation de Bean
Expression Language (EL)
TagLibs et custom Tags
JSTL
§ Travaux Pratiques (exemple)
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
§ Travaux Pratiques (exemple)
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
Les trois sortes d’EJB : Entité, Session, Message
Les EJB Session Stateless et Statefull
Les annotations disponibles standards
Adaptation des annotations aux différents serveursc d’application
§ Travaux Pratiques (exemple)
Réalisation d’un EJB3 Session déployé sur un serveur d’application type wildfly ou glassfish ou jboss
JOUR 3 Matin
§ Accès aux données
Rappel JDBC
Utilisation de JNDI et des Data Sources
Présentation des diverses méthodes JSDB d'accès aux données
Présentation de JPA
Rôle de l'EntityManager
Les POJO et les annotations JPA
Accéder aux données avec JPA et HQL
L'API CVriteria
§ Travaux Pratiques (exemple)
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 WebSockets et cliente JavaScript
§ Travaux Pratiques (exemple)
Démonstration de l’ajout, à l’application précédente, d‘un service web REST
JOUR 4 Matin
§ Les normes importantes
JMS
JMX
§ 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.
§ Travaux Pratiques (exemple)
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 et des SGBD.
La génération des logs Java (Java, Log4J, SLF4J, common loggings).
Analyse des logs. Outils Open Source (Chainsaw...), le lien avec les logs HTTP.
Monitoring temps réel. Le support de SNMP dans Java, la MIB, JMX et la Jconsole.
Points à surveiller. Mémoire, utilisation par la JVM, fuites. I/O disques. Les pools
§ Travaux Pratiques (exemple)
Utilisation des outils de monitoring mémoire et autres
JOUR 5 Matin
§ Performances des applications JEE
Quelle performance ? Temps de réponse. Comportement de la JVM.
Focus sur les temps de réponse. Analyse de bout en bout. Tests de charge.
Stabilité et montée en charge du serveur d’applications. Tuning de la JVM.
Le GC selon les versions de Java.
Anticiper l’évolution de la plateforme. Améliorations matérielles et applicatives.
§ Travaux Pratiques (exemple)
Etude de la performance des application Web, tuning et autres
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