Académique Documents
Professionnel Documents
Culture Documents
21 h de cours et TD/TP
Site du cours :
Java EE – Introduction
http://richard.grin.free.fr/itu-madagascar
Interrogation sans documents à la fin du cours, sur
les concepts et savoir-faire essentiels (30 %)
ITU - Université de Nice Sophia Antipolis
Projet à rendre fin avril 2016 (70 %)
Richard Grin
Version O 1.5 – 5/1/16
Richard Grin Présentation Java EE page 3 Richard Grin Présentation Java EE page 4
1
Architecture d’une Couches d’une application Java EE
application d’entreprise
Sécurité, DAO, ORM,…
Les applications d’entreprise modernes sont des transactionnel,…
applications multi-tiers
Souvent Web
et mobile
Les « vrais »
traitements
Richard Grin Présentation Java EE page 7 Richard Grin Présentation Java EE page 8
Richard Grin Présentation Java EE page 9 Richard Grin Présentation Java EE page 10
2
Exemples Serveur d’application
Composant « métier » pour gérer la paie des Logiciel qui sert de structure d’accueil pour les
employés applications ; il leur fournit des services non
Composant JSF qui affiche une carte « Google fonctionnels
Map » dans l’interface utilisateur Web Les applications Java EE ne peuvent fonctionner
que si elles sont intégrées avec un serveur
d’application qui suit les spécifications Java EE
Plusieurs serveurs d’application Java EE (Payara,
WildFly,…)
GlassFish 4 est l’implémentation de référence de
Java EE 7
Richard Grin Présentation Java EE page 13 Richard Grin Présentation Java EE page 14
Richard Grin Présentation Java EE page 15 Richard Grin Présentation Java EE page 16
Richard Grin Présentation Java EE page 17 Richard Grin Présentation Java EE page 18
3
Fichier descripteur de déploiement Annotations et fichiers descripteurs XML
Informe le serveur d’application sur la manière de De nombreuses annotations permettent de
déployer une application configurer une application directement dans les
Par exemple pour intégrer l’application au système de classes Java
sécurité utilisé par le serveur Le contenu des fichiers XML est ainsi allégé
Java EE définit des fichiers descripteurs standards ; S’il y a conflit sur une indication, c’est le fichier
web.xml pour les applications Web XML qui l’emporte Pourquoi ?
Un serveur d’application peut y ajouter ses propres
fichiers pour des configurations non standardisées
(source de données, clustering,…) ; par exemple
glassfish-web.xml pour GlassFish
Richard Grin Présentation Java EE page 19 Richard Grin Présentation Java EE page 20
Richard Grin Présentation Java EE page 21 Richard Grin Présentation Java EE page 22
classes
directement
sous la racine
Richard Grin Présentation Java EE page 23 Richard Grin Présentation Java EE page 24
4
Profile
Pour permettre des serveurs d’application allégés,
Java EE définit des profiles qui n’utilisent pas
toutes les technologies de la norme
Profiles Le profile Web inclut les technologies pour écrire
une application Web : servlets, JSF, CDI, EJB Lite,
JPA, JTA, validation bean
Une application qui se limite au profile Web peut
être distribuée dans un seul fichier WAR
Richard Grin Présentation Java EE page 25 Richard Grin Présentation Java EE page 26
EJB Lite
Une partie de la spécification EJB :
beans stateless, stateful et singleton (donc pas
Richard Grin Présentation Java EE page 27 Richard Grin Présentation Java EE page 28
Richard Grin Présentation Java EE page 29 Richard Grin Présentation Java EE page 30
5
Utilisation de JNDI Code pour récupérer un EJB avec JNDI
import javax.naming.InitialContext;
En interne par le serveur d’application ...
Le développeur utilisera le plus souvent l’injection try {
de dépendance qui est plus simple à utiliser InitialContext ic = new InitialContext();
MonEJB monEJB = (MonEJB)
L’injection de dépendance n’est pas toujours
ic.lookup("java:global/app/mod/MonEJB");
possible et il faut alors utiliser JNDI ; par exemple
...
pour l’écriture d’un validateur JSF } catch (NamingException e) {
e.printStackTrace();
}
Injecter un EJB
Ajouter une variable d’instance et l’injecter :
@EJB
Annexe
MonEJB monEJB;
Et c’est tout ! C’est le container qui va fournir
l’EJB au code
Changer les ports utilisés par GlassFish
Richard Grin Présentation Java EE page 33 Richard Grin Présentation Java EE page 34