Catalogues Formations

Primes et subsides




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.

Contenu pédagogique

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