Concepts et architectures Java EE
Durée : | 3 jour(s) |
Tarif : | Consultez-nous |
DEMANDE DE DEVIS SANS ENGAGEMENT - CLIQUEZ ICI
Public :
- Responsable technique, architecte, développeur.
Objectifs :
- Avoir une vision globale de la plate-forme Java EE.
- Avoir une vision globale des solutions complémentaires ou alternatives proposées par la communauté Open Source.
Pré-requis :
- Avoir une culture informatique sur le développement et les nouvelles technologies.
Evolutions du développement d'applications et des architectures
- Applications gros système/terminaux passifs 1/1
- Applications client/serveur en architecture 2/3 (client lourd)
- Applications client/serveur en architecture 3/3 (client léger)
- Applications Web Internet/Intranet/Extranet
-
- Du Web statique au Web dynamique
- Applications mobiles
Présentation de la plate-forme Java EE
- Le modèle de développement de composants
-
- Composants Web
- Composants métiers EJB
- Services Web XML
- La plate-forme de services Java EE
-
- Accès aux données et pooling de connexions avec JDBC
- Le service d'intégration avec les systèmes hôtes/back-office JCA
- Messagerie applicative asynchrone JMS
- Le service de sécurité JAAS
- Le service de nommage et d'annuaire JNDI
- Le service de transactions distribuées JTA
- La spécification pour les éditeurs de serveur d'applications
Architecture des serveurs d'applications Java EE
- Rôles d'un serveur d'applications
- Les composantes d'un serveur d'applications
-
- Conteneur Web
- Conteneur EJB
- Implémentation des services Java EE
- Utilisation des services Java EE par les conteneurs
- Les principales offres éditeurs et Open Source
-
- IBM WebSphere, BEA WebLogic, Tomcat, JBoss, …
- Les différents types d'implémentations (partielles et complètes) de serveurs
- Architecture externes : Les autres éléments du système d'information
-
- Infrastructure réseau et sécurité
- Utilisation d'un serveur Web frontal
- Autres serveurs : annuaire LDAP
Les environnements de développement Java EE
- Les principales offres d'IDE éditeurs et Open Source
-
- IBM WSAD/RAD, Eclipse, NetBeans, …
Le modèle de développement de composants Web
- Les Servlets
-
- Cycle de vie et principe de fonctionnement
- Gestion des objets représentant les requêtes et les réponses du protocole HTTP
- Les JSP
-
- Les notations : déclaration, scriptlet, expression
- Les objets implicites
- Les balises d'action
- Les JavaBeans
-
- Pattern de conception
- Rôle et principe d'utilisation
- Les TagLibs JSP
-
- Lacunes des JSP
- Apports des TagLibs
- Utilisation des TagLibs JSTL
- Principe de conception et d'utilisation des TagLibs
- Mise en œuvre du design pattern MVC
-
- Séparation des tâches/rôles entre les Servlets, JSP et JavaBeans
- Gestion de la navigation des utilisateurs et des contextes de stockage de données : application, session, requête
- Le framework JSF : nouveau standard pour le développement Web Java EE
-
- Les avantages apportés par JSF
- Le nouveau modèle de programmation : approche par composants, génération automatique du rendu HTML, gestion des événements utilisateurs, navigation déclarative entre les ressources, …
- Comment JSF met en œuvre le design pattern MVC 2
- Les implémentations et les extensions JSF disponibles
Le modèle de développement de composants métiers
- Les différents types de composants EJB : Session, Entité, Message.
- Cas d'utilisations et valeur ajoutée des EJB
- Différences d'implémentations entre les EJB 2.x et les EJB 3.0
Le modèle de développement de Services Web XML
- Principes fondamentaux des Services Web
- Implémentation avec la plateforme Java EE
- Les apports de JAX-WS
Open Source et esprit communautaire : outils et frameworks
- Les travaux de la fondation Apache : Le projet Jakarta et ses sous projets
- Les outils associés au développement d'applications : Ant, Maven, JUnit, Log4J, …
-
- Intégration des outils dans les IDE
- Les frameworks de développement Web : Struts
-
- Présentation de l'architecture de Struts
- Avantages apportés par Struts par rapport à la mise en œuvre du design pattern MVC avec les Servlet , JSP et JavaBeans
- Comparaison de Struts avec JSF
- Critères de choix entre Struts et JSF
- Intégration de Struts dans les IDE
- Les frameworks de développement de composants métiers et persistants : Hibernate, iBatis, Spring
-
- Avantages
- Intégrations dans les architectures applicatives
- Comparaison d'Hibernate avec les EJB
- Intégration des frameworks dans les IDE
Typologies de développement d'applications Java EE côté client
- Le développement côté client : client Web/léger/RIA
-
- Utilisation de (X)HTML et des feuilles de styles CSS
- Intégration de composants visuels Java : Les Applets
- Ajout de technologie d'animation : Adobe Flash/Flex
- Web 2.0 : JavaScript, frameworks JavaScript et AJAX
- Le développement côté client : client lourd
-
- Développement d'applications graphiques de bureau avec l'API Swing
- Autres technologies de développement : Les clients RDP (Eclipse RCP)
Modèles d'architectures de développements : Design Pattern Java EE (MVC, Session Facade,...)
- Les concepts du développement en couches
-
- Présentation du modèle à 5 couches
- Les rôles et solutions d'implémentation des différentes couches
- Les Design Patterns Java EE : Solutions éprouvées pour applications robustes
-
- Présentation des principes des Design Patterns : Utilité, représentation, classification
- Les Design Patterns Java EE par couches logicielles
-
- Couche présentation : Intercepting Filter, Front Controller, …
- Couche métier : Session/Message Façade, Transfer Object, …
- Couche d'intégration : Data Access Object, …
Assemblage et déploiement des applications Java EE
- Les normes pour le packaging des applications Java EE
-
- Arborescence normalisé des différents types d'applications (.war, .jar, .ear)
- Organisation des éléments de code, de configuration et autres ressources
- Extensions des formats d'archives
- Les outils pour le packaging des applications
-
- Exploiter les outils de l'environnement de développement
- Automatiser le packaging des applications avec des outils : Ant & Maven
- Procédure de déploiement des applications
-
- Utiliser les outils du serveur d'applications
- Exploiter les fonctionnalités de déploiement à chaud sur les serveurs qui le permettent