jee 5 f.pfister (francois.pfister@ema.fr). 2 institut eerie 2007-2008 jee – une plateforme serveur...

Post on 04-Apr-2015

108 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

JEE 5 JEE 5

F.Pfister (francois.pfister@ema.fr)F.Pfister (francois.pfister@ema.fr)

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

top related