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

Embed Size (px)

Text of JEE 5 F.Pfister (francois.pfister@ema.fr)‏. 2 institut eerie 2007-2008 JEE – Une plateforme...

  • Page 1
  • JEE 5 F.Pfister (francois.pfister@ema.fr)
  • Page 2
  • 2 institut eerie 2007-2008 JEE Une plateforme serveur Dveloppement et excution d'applications rparties Spcifications -> API Ejb, jsp, jaxp, servlet, etc... Implmentations de rfrence Implmentations tierces Architecture modulaire Des composants permettent la sparation des proccupations Interfaces avec le SI existant jdbc, jndi, jms, jca
  • Page 3
  • 3 institut eerie 2007-2008 JEE: architecture 3 tiers La partie cliente Ihm: desktop, web, applet La partie mtier Modle du domaine et rgles de gestion La partie donnes Persistance
  • Page 4
  • 4 institut eerie 2007-2008 JEE les API (1) Composants servlet, jsp, ejb Services jdbc, jta, jndi, jca, jaas Communication rmi, jms, java mail
  • Page 5
  • 5 institut eerie 2007-2008 JEE les API (2)
  • Page 6
  • 6 institut eerie 2007-2008 JEE les API (3)
  • Page 7
  • 7 institut eerie 2007-2008 JEE environnement d'excution Les composants s'excutent dans des conteneurs Les conteneurs et les composants dialoguent via des API Les conteneurs reoivent les requtes et les distribuent aux composants
  • Page 8
  • 8 institut eerie 2007-2008 Les conteneurs Conteneur web: excute servlets, jsp Conteneur ejb: excute les ejb Conteneur client: excute les clients d'ejb Les implmentations de serveurs peuvent fournir un ou plusieurs conteneurs. Les composants doivent tre dploys Les applications sont regroupes en archives Un fichier de dploiement accompagne ces archives
  • Page 9
  • 9 institut eerie 2007-2008 JEE - le packaging Bibliothque, application client Archive jar Web Regroupe les servlets et les JSP ainsi que les ressources necessaires leur execution (classes, bibliothques 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
  • 10 institut eerie 2007-2008 JEE les conteneurs Le conteneur web C'est une implmentation des spcifications servlet et jsp L'implmentation de rfrence est Tomcat Le conteneur ejb C'est une implmentation des spcifications ejb L'implmentation de rfrence est Glassfish Il fournit de nombreux services aux ejb: Scurit, transactions, cache, persistance, etc..
  • Page 11
  • 11 institut eerie 2007-2008 Architecture JEE
  • Page 12
  • 12 institut 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'excutant, cre ce contenu html dynamique, par exemple en se connectant une base de donnes.
  • Page 13
  • 13 institut eerie 2007-2008 JEE Les servlets Proprits des servlets Portabilit: implmentent une API Restent charges en mmoire entre deux requtes Instance unique (singleton) pour tous les clients Recoit la requte et retourne la rponse, ce sont des objets java S'excutent au sein d'un serveur web (Tomcat, Jboss, etc...)
  • Page 14
  • 14 institut eerie 2007-2008 JEE les servlets Les mthodes d'une servlet
  • Page 15
  • 15 institut eerie 2007-2008 JEE les servlets Les mthodes d'une servlet
  • Page 16
  • 16 institut eerie 2007-2008 JEE les servlets Modle mvc Analyse de la requte provenant de la vue Mise jour du modle Routage de la rponse vers la vue
  • Page 17
  • 17 institut eerie 2007-2008 JEE les jsp Du code java dans du code html Les pages sont compiles par le serveur et transformes en servlets Le client reoit du code html pur (pas d'applet ni de composant activeX)
  • Page 18
  • 18 institut eerie 2007-2008 JEE les jsp La prsence de code java ml du code html est un inconvnient Le code java est remplac par des tags tags de directives : ils permettent de contrler la structure de la servlet gnre tags de scripting: ils permettent d'insrer du code Java dans la servlet tags d'actions: ils facilitent l'utilisation de composants
  • Page 19
  • 19 institut 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
  • 20 institut eerie 2007-2008 JEE la jstl JSTL = Java server pages Standard Tag Library Rpond aux besoins rcurrents dans le codage des jsp Tag de structure (itration, conditionnement...) Internationalisation Excution de requte SQL Utilisation de document XML
  • Page 21
  • 21 institut eerie 2007-2008 JEE la jstl Un langage nomme EL (expression language) permet d'accder aux objets java http://jcp.org/aboutJava/communityprocess/final/jsr052/
  • Page 22
  • 22 institut eerie 2007-2008 Les frameworks MVC Le modle mvc
  • Page 23
  • 23 institut eerie 2007-2008 Les frameworks MVC Struts (mvc2)
  • Page 24
  • 24 institut eerie 2007-2008 Les frameworks MVC Java Server Faces
  • Page 25
  • 25 institut eerie 2007-2008 Java Server Faces Mvc classique
  • Page 26
  • 26 institut eerie 2007-2008 Java Server Faces Mvc bas sur des composants