Tarifs: A distance ou présentiel: 2156 euros
Durée : 5 jours
Public : Tous
Pré-requis : Connaissance des servlets et JSP - Maitrise du langage Java
Objectifs : Maîtriser le développement d'EJB 3 - Gérer les performances d'une application distribuée - Mettre en place une architecture complète JEE
Référence : JAV113-F
PROGRAMME:
Introduction
- Spécifications JEE : composants, conteneurs
- Principe des architectures n-tiers (applications distribuées), solutions
- Les annotations
- Présentation des EJB : historique et versions
- Cycle de vie des EJB
- Serveurs d'applications : JBoss, GlassFish, WebSphere,...
Mise en place
- Choix de l'environnement de développement (Eclipse/Netbeans), plugins disponibles
- Installation de l'environnement d'exécution, apports spécifiques à chaque conteneurs
- Structure d'un module web à base d'EJBs, empaquetage et déploiement
- Rappels sur les servlets et JSPs (chainage, persistance en mémoire, ...)
Atelier pratique : préparation d'une plateforme de développement/test - manipulation de l'environnement - multiples exemples : java (annotations), servlets et jsp
Spécifications EJB 3
- Architecture (bean, interfaces, annotations), rôle du conteneur d'objets
- Types d'EJB : session, entity, message-driven
- Appels d'EJB (protole RMI/IIOP), clients (lourd/léger)
- JNDI (Java Naming and Directory Interface) et collaboration entre outils (localisation de ressources)
- Le Pattern Chain of Responsability et présentation des intercepteurs (bean, interface, annotations)
Atelier pratique : implémentation du design pattern chain of responsability - introduction aux intercepteurs
EJBs Session
- Définition, interaction et calculs
- Types disponibles (stateless, stateful), cycle de vie
- Accès à un EJB Session : visibilité (local/remote/webService), choix du type d'accès
- Accès concurrents et optimisations au niveau du conteneur
- Implémentation d'intercepteurs, changement des configurations par défaut
- Timers services
Atelier pratique : implémentation de plusieurs EJBs Session (stateless/stateful) + intercepteur - déploiement et écriture de divers types de clients
EJBs Entity
- Mapping relationnel objet, spécification et frameworks ORM
- EJBs entités : fonctionnalités, accès
- Annotations JPA (Java Persistence API)
- Contexte/unité de persistance
- Gestion de l'état d'un EJB Entity
- Relations entre entity beans (associations), traitements en cascade
- Gestion de l'héritage : SINGLE_TABLE, TABLE_PER_CLASS, JOINED
- EJB-QL (EJB Query Language) : présentation, syntaxe et constructions de requêtes
Atelier pratique : Développement d'applications web MVC avec des interractions entre EJBs session et divers Entity beans - utilisation du langage EJB-QL
EJB-MDB (Message-Driven Beans)
- Définition, Architecture (MOM, modèles de messages), APIs disponibles
- Panorama des implémentations serveurs
- Mise en oeuvre d'échanges de message (destination, envoi, réception, récupération par injection)
- Gestion des transactions
Atelier pratique : Mise en place d'une application à base d'EJB messages , multiples échanges et transactions
Concepts avancés
- Sécurité de l'application : présentation des apis, gestion des utilisateurs et des rôles
- Sécurisation de l'accès aux interfaces des EJBs
- EJB et services web, protocoles et clients (statiques/dynamiques, synchrones/asynchrones)
- EJB2 et EJB3 : différences, choix, évolution (migration)
Atelier pratique : Déploiement de services web à base d'EJB3 et écriture de plusieurs clients - sécurité d'une application distribuée