Transcript
Page 1: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

JEE 5 JEE 5

F.Pfister ([email protected])F.Pfister ([email protected])

Page 2: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

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

Page 3: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

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

Page 4: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

4institut eerie 2007-2008

JEE – les API (1)

Composants servlet, jsp, ejb

Services jdbc, jta, jndi, jca, jaas

Communication rmi, jms, java mail

Page 5: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

5institut eerie 2007-2008

JEE – les API (2)

Page 6: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

6institut eerie 2007-2008

JEE – les API (3)

Page 7: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

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

Page 8: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

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

Page 9: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

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

Page 10: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

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..

Page 11: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

11institut eerie 2007-2008

Architecture JEE

Page 12: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

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.

Page 13: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

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...)

Page 14: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

14institut eerie 2007-2008

JEE – les servlets

Les méthodes d'une servlet

Page 15: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

15institut eerie 2007-2008

JEE – les servlets

Les méthodes d'une servlet

Page 16: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

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

Page 17: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

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)

Page 18: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

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

Page 19: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

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/

Page 20: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

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

Page 21: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

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/

Page 22: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

22institut eerie 2007-2008

Les frameworks MVC

Le modèle mvc

Page 23: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

23institut eerie 2007-2008

Les frameworks MVC

Struts (mvc2)

Page 24: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

24institut eerie 2007-2008

Les frameworks MVC

Java Server Faces

Page 25: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

25institut eerie 2007-2008

Java Server Faces

Mvc classique

Page 26: JEE 5 F.Pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 JEE – Une plateforme serveur  Développement et exécution d'applications réparties

26institut eerie 2007-2008

Java Server Faces

Mvc basé sur des composants


Recommended