Java

L'essentiel Java SE/EE

Création d'applications Web d'entreprise avec JEE & JBoss

Avis d'expert

JBoss est un environnement Open Source pour Java. Depuis les applications les plus simples implémentant le modèle MVC, jusqu'au déploiement de clusters Java EE avec l'utilisation des messages JMS et de composants MBeans personnalisés, JBoss offre un ensemble de solutions permettant de déployer des applications Java évolutives, et capables de s'adapter à l'environnement applicatif existant. Cette formation détaille le développement et le déploiement d'applications JEE avec JBoss.

Objectifs pédagogiques

  • Connaître l'architecture et les principes du serveur JBoss
  • Savoir concevoir une application avec le modèle JEE et la mettre en Å“uvre avec JBoss et Tomcat

Public

Développeurs et intégrateurs d'applications en modèle JEE.

Pré-requis

Il est demandé aux participants de connaître la programmation Java, ainsi que les techniques Internet (serveur HTTP, HTML...) et quelques notions de bases de données.

Méthode pédagogique

Les travaux pratiques accompagnant ce cours sont très nombreux et la gamme d'exercices corrigés proposés permettra à chacun de progresser à son rythme en fonction de ses connaissances préliminaires.

Programme pédagogique détaillé par journée

Jour 1
Jour 2
Jour 3
Jour 4
Jour 5


Serveurs d'applications
Architecture des applications Web.
JEE et le modèle MVC.
Composants d'un serveur d'application JEE : serveur HTTP, moteur de servlets, conteneur d'EJB.
Positionnement des outils : JBoss, Tomcat, Apache...
Terminologie : application Web, conteneur, sources de données, pilote JDBC, hôtes virtuels.

JBoss
Présentation. Le projet JBoss.
L'architecture JBoss : le noyau, la couche services, la couche présentation, la couche application, le principe JMX et les Mbeans.
L'implémentation JMX dans JBoss.
Installation, configuration.
Utilisation de la console JMX.

Développement
Composants d'une application d'entreprise : .ear, .jar, .rar, .war.
Outils d'assemblage d'applications : ant, plugins...
Regroupement de composants unitaires en une application.
Création d'une application sur-mesure (créer un .ear, .war...).
Déclaration d'une source de données.

Servlets, pages JSP
Cycle de vie des servlets, servlets thread-safe.
Définition des JSP.
Liaison JSP/JavaBean.

JNDI
Introduction,
Présentation de l'API.
JNDI pour JEE.

Développement d'un EJB
Choix du modèle.
Types d'EJB : EJB entité, EJB session, EJB Message-driven.
Persistance et transactions.
Annotations spécifiques EJB 3.
Annotations et génériques. Principes de mise en œuvre des EJB3.
Fichiers de description en XML.
Les fichiers spécifiques : jboss.xml, jboss-web.xml...
Annotations en remplacement du descripteur de déploiement.
Simplification de la correspondance objet/relationnel.
Compatibilité ascendante. Les EJB3 sous JBoss.

EJB Session
EJB stateless, stateful. Notion de conversation. Fichiers de déploiement. Contraintes de conversation. Transactions.
Dépendance d'injection. Intercepteurs de méthodes métier.
Travaux pratiques : création d'un EJB stateless "Conversion de devises", création d'un EJB stateful "Caddie".

EJB Entité
Persistance avec les EJB.
Fichiers de déploiement.
Définition des clés primaires.
Définition des méthodes de recherche (query).
Gestion des jointures en EJB3.
Les fichiers de persistance.
Méthodes d'accès: FIELD/PROPERTY.
Mapping par défaut.
Utilisation de l'EntityManager.
Relations entre EJB (one-one, one-many,many-many).
Le langage EJB-QL.
Héritage.
Synchronisation avec la base de données, détachement/attachement.
Correspondance objet/relationnel sous JBoss : jbosscmp-jdbc.xml.
Travaux pratiques : création d'une application utilisant des jointures Many/Many.


EJB MessageDriven
Développement de composants orientés message.
Principe des MOM (Middlewares Orientés Message).
Présentation de JMS.
Développement d'un EJB Message Driven (MDB).
L'interface JMS MessageListener.
Traitement asynchrone.
La méthode onMessage().
Fichiers de déploiement.
Cycle de vie des MDB.
Gestion des erreurs.

Transactions
Les transactions distribuées : commit à deux phases.
Utilisation de JTA, JTS.
Transactions explicites ou gérées par container.
Annotations de transaction.
Gestion des exceptions dans un contexte transactionnel.
Mise en Å“uvre d'une application EJB3  transactionnelle.
Mise en évidence du retour arrière déclenché par le conteneur JBoss et de la propagation du contexte transactionnel.

 

Sécurité
JAAS : rôles, groupes de permissions.
Mise en œuvre dans le conteneur d'EJB.
Rôles et permissions sur les méthodes.
Intégration de la sécurité dans le serveur d'applications.
Mise en place d'une politique de sécurité lors du déploiement de l'application.
Mise en œuvre d'une application en cluster.