Upload
orabelle-maillard
View
108
Download
1
Tags:
Embed Size (px)
Citation preview
JEE 5 JEE 5
F.Pfister ([email protected])F.Pfister ([email protected])
2institut eerie 2007-2008
JEE – Une plateforme serveur
Développement et exécution d'applications réparties
Spécifications -> API Ejb, jsp, jaxp, servlet, etc...
Implémentations de référence Implémentations tierces Architecture modulaire Des composants permettent la séparation
des préoccupations Interfaces avec le SI existant
jdbc, jndi, jms, jca
3institut eerie 2007-2008
JEE: architecture 3 tiers
La partie cliente Ihm: desktop, web, applet
La partie métier Modèle du domaine et règles de gestion
La partie données Persistance
4institut eerie 2007-2008
JEE – les API (1)
Composants servlet, jsp, ejb
Services jdbc, jta, jndi, jca, jaas
Communication rmi, jms, java mail
5institut eerie 2007-2008
JEE – les API (2)
6institut eerie 2007-2008
JEE – les API (3)
7institut eerie 2007-2008
JEE – environnement d'exécution
Les composants s'exécutent dans des conteneurs
Les conteneurs et les composants dialoguent via des API
Les conteneurs reçoivent les requêtes et les distribuent aux composants
8institut eerie 2007-2008
Les conteneurs
Conteneur web: exécute servlets, jsp Conteneur ejb: exécute les ejb Conteneur client: exécute les clients d'ejb
Les implémentations de serveurs peuvent fournir un ou plusieurs conteneurs.
Les composants doivent être déployés Les applications sont regroupées en archives Un fichier de déploiement accompagne ces
archives
9institut eerie 2007-2008
JEE - le packaging
Bibliothèque, application client Archive jar
Web Regroupe les servlets et les JSP ainsi que les
ressources necessaires à leur execution (classes, bibliothèques de balises, images, ...)
Archive war + web.xml
EJB Regroupe les EJB et leur composants (classes)
Archive jar + ejb-jar.xml
Application d'entreprise Archive ear (regroupe plusieurs modules jar et
war) + application.xml
10institut eerie 2007-2008
JEE – les conteneurs
Le conteneur web C'est une implémentation des spécifications
servlet et jsp L'implémentation de référence est Tomcat
Le conteneur ejb C'est une implémentation des spécifications ejb L'implémentation de référence est Glassfish Il fournit de nombreux services aux ejb:
Sécurité, transactions, cache, persistance, etc..
11institut eerie 2007-2008
Architecture JEE
12institut eerie 2007-2008
JEE – Les servlets
Les serveurs web retournent, en mode statique, des documents html existants.
Cependant, les applications web manipulent du contenu dynamique
Une servlet est une classe java qui, en s'exécutant, crée ce contenu html dynamique, par exemple en se connectant à une base de données.
13institut eerie 2007-2008
JEE – Les servlets
Propriétés des servlets Portabilité: implémentent une API Restent chargées en mémoire entre deux
requêtes Instance unique (singleton) pour tous les
clients Recoit la requête et retourne la réponse, ce
sont des objets java S'exécutent au sein d'un serveur web
(Tomcat, Jboss, etc...)
14institut eerie 2007-2008
JEE – les servlets
Les méthodes d'une servlet
15institut eerie 2007-2008
JEE – les servlets
Les méthodes d'une servlet
16institut eerie 2007-2008
JEE – les servlets
Modèle mvc Analyse de la requête provenant de la vue Mise à jour du modèle Routage de la réponse vers la vue
17institut eerie 2007-2008
JEE – les jsp
Du code java dans du code html Les pages sont compilées par le serveur
et transformées en servlets Le client reçoit du code html pur (pas
d'applet ni de composant activeX)
18institut eerie 2007-2008
JEE – les jsp
La présence de code java mêlé à du code html est un inconvénient
Le code java est remplacé par des tags tags de directives : ils permettent de contrôler la
structure de la servlet générée tags de scripting: ils permettent d'insérer du
code Java dans la servlet tags d'actions: ils facilitent l'utilisation de
composants
19institut eerie 2007-2008
JEE – les tags
Les tags de directive
Les tags de scripting
Les tags d'action
http://java.sun.com/developer/technicalArticles/Programming/jsp/
20institut eerie 2007-2008
JEE – la jstl
JSTL = Java server pages Standard Tag Library
Répond aux besoins récurrents dans le codage des jsp Tag de structure (itération,
conditionnement ...) Internationalisation Exécution de requête SQL Utilisation de document XML
21institut eerie 2007-2008
JEE – la jstl
Un langage nomme EL (expression language) permet d'accéder aux objets java
http://jcp.org/aboutJava/communityprocess/final/jsr052/
22institut eerie 2007-2008
Les frameworks MVC
Le modèle mvc
23institut eerie 2007-2008
Les frameworks MVC
Struts (mvc2)
24institut eerie 2007-2008
Les frameworks MVC
Java Server Faces
25institut eerie 2007-2008
Java Server Faces
Mvc classique
26institut eerie 2007-2008
Java Server Faces
Mvc basé sur des composants