JEE 5 F Pfister francois pfisterema fr JEE

  • Slides: 26
Download presentation
JEE 5 F. Pfister (francois. pfister@ema. fr)

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

JEE – Une plateforme serveur Développement et exécution d'applications réparties Spécifications -> API Ejb,

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 2 jdbc, jndi, jms, jca institut eerie 2007 -2008

JEE: architecture 3 tiers La partie cliente La partie métier Ihm: desktop, web, applet

JEE: architecture 3 tiers La partie cliente La partie métier Ihm: desktop, web, applet Modèle du domaine et règles de gestion La partie données 3 Persistance institut eerie 2007 -2008

JEE – les API (1) Composants Services servlet, jsp, ejb jdbc, jta, jndi, jca,

JEE – les API (1) Composants Services servlet, jsp, ejb jdbc, jta, jndi, jca, jaas Communication 4 rmi, jms, java mail institut eerie 2007 -2008

JEE – les API (2) 5 institut eerie 2007 -2008

JEE – les API (2) 5 institut eerie 2007 -2008

JEE – les API (3) 6 institut eerie 2007 -2008

JEE – les API (3) 6 institut eerie 2007 -2008

JEE – environnement d'exécution Les composants s'exécutent dans des conteneurs Les conteneurs et les

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 7 institut eerie 2007 -2008

Les conteneurs Conteneur web: exécute servlets, jsp Conteneur ejb: exécute les ejb Conteneur client:

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 8 institut eerie 2007 -2008

JEE - le packaging Bibliothèque, application client Web Regroupe les servlets et les JSP

JEE - le packaging Bibliothèque, application client 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 9 Archive jar Archive ear (regroupe plusieurs modules jar et war) + application. xml institut eerie 2007 -2008

JEE – les conteneurs Le conteneur web C'est une implémentation des spécifications servlet et

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. . 10 institut eerie 2007 -2008

Architecture JEE 11 institut eerie 2007 -2008

Architecture JEE 11 institut eerie 2007 -2008

JEE – Les servlets Les serveurs web retournent, en mode statique, des documents html

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. 12 institut eerie 2007 -2008

JEE – Les servlets Propriétés des servlets Portabilité: implémentent une API Restent chargées en

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. . . ) 13 institut eerie 2007 -2008

JEE – les servlets Les méthodes d'une servlet 14 institut eerie 2007 -2008

JEE – les servlets Les méthodes d'une servlet 14 institut eerie 2007 -2008

JEE – les servlets Les méthodes d'une servlet 15 institut eerie 2007 -2008

JEE – les servlets Les méthodes d'une servlet 15 institut eerie 2007 -2008

JEE – les servlets Modèle mvc Analyse de la requête provenant de la vue

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 16 institut eerie 2007 -2008

JEE – les jsp Du code java dans du code html Les pages sont

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 active. X) 17 institut eerie 2007 -2008

JEE – les jsp La présence de code java mêlé à du code html

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 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 18 institut eerie 2007 -2008

JEE – les tags Les tags de directive Les tags de scripting Les tags

JEE – les tags Les tags de directive Les tags de scripting Les tags d'action http: //java. sun. com/developer/technical. Articles/Programming/jsp/ 19 institut eerie 2007 -2008

JEE – la jstl JSTL = Java server pages Standard Tag Library Répond aux

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 20 institut eerie 2007 -2008

JEE – la jstl Un langage nomme EL (expression language) permet d'accéder aux objets

JEE – la jstl Un langage nomme EL (expression language) permet d'accéder aux objets java http: //jcp. org/about. Java/communityprocess/final/jsr 052/ 21 institut eerie 2007 -2008

Les frameworks MVC Le modèle mvc 22 institut eerie 2007 -2008

Les frameworks MVC Le modèle mvc 22 institut eerie 2007 -2008

Les frameworks MVC Struts (mvc 2) 23 institut eerie 2007 -2008

Les frameworks MVC Struts (mvc 2) 23 institut eerie 2007 -2008

Les frameworks MVC Java Server Faces 24 institut eerie 2007 -2008

Les frameworks MVC Java Server Faces 24 institut eerie 2007 -2008

Java Server Faces Mvc classique 25 institut eerie 2007 -2008

Java Server Faces Mvc classique 25 institut eerie 2007 -2008

Java Server Faces Mvc basé sur des composants 26 institut eerie 2007 -2008

Java Server Faces Mvc basé sur des composants 26 institut eerie 2007 -2008