Architecture J2EE
Transcription
Architecture J2EE
Architecture J2EE Thierry Lecroq (merci à Alexandre Pauchet (INSA Rouen)) Université de Rouen FRANCE Thierry Lecroq (Univ. Rouen) J2EE 1 / 16 Plan 1 Historique 2 Architecture J2EE 3 J2EE et applications Web Thierry Lecroq (Univ. Rouen) J2EE 2 / 16 Historique (1/6) Architecture 1 tiers Les années 70, architecture Mainframe (1 tiers) Thierry Lecroq (Univ. Rouen) J2EE 3 / 16 Historique (2/6) Architecture 2 tiers Les années 80, architecture 2 tiers Re qu ète sS QL Requètes SQL QL Re Thierry Lecroq (Univ. Rouen) qu ète Base de Données sS J2EE 4 / 16 Historique (3/6) Architecture 3 tiers Fin des années 80, architecture 3 tiers (RPC) RP C Primergy Requètes SQL RP Thierry Lecroq (Univ. Rouen) C J2EE Base de Données 5 / 16 Historique (4/6) Architecture 3 tiers objet Les années 90, architecture 3 tiers (Objets) RM I/ CO RB A Primergy objet A RM Thierry Lecroq (Univ. Rouen) I/ C B OR Requètes SQL objet objet J2EE objet Base de Données 6 / 16 Historique (5/6) Architecture Internet Les années 90, architecture Internet Primergy HTTP Navigateur Thierry Lecroq (Univ. Rouen) SQL HTTP Internet Base de Données Serveur Web + "CGI" J2EE 7 / 16 Historique (6/6) Paradigmes de programmation Aspect programmation Années 70-80 : Programmation impérative procédurale I alors que les premiers langages objets datent de la n des années 60 ! ! Années 90 : Programmation objet Fin des années 90 : Programmation par composants I Les composants peuvent être physiquement distants I Si changement, pas besoin de tout recompiler et de tout relinker I Bonne programmation objet : seules les interfaces sont connues Thierry Lecroq (Univ. Rouen) J2EE 8 / 16 Architecture J2EE Motivations (1/5) Volonté de SUN Cadre de développement par composants avec services J2EE (Java 2 Edition Enterprise), qui propose des API : I L'invocation de méthodes distantes : RMI, CORBA, Web Services I L'accés aux bases de données relationnelles : JDBC I L'accés aux annuaires et services de nommage : JNDI I L'utilisation du XML : DOM et SAX I HTML dynamique et traitement de requêtes HTTP : JSP et Servlet I La gestion du Mail : Java Mail I La gestion des messages : Java Message Service I La gestion des composants : EJB I La connection à des ERP : Java Connector I La gestion des droits d'accès : Java Authentication and Authorization Service Thierry Lecroq (Univ. Rouen) J2EE 9 / 16 Architecture J2EE (2/5) Description de l'architecture J2EE http://www.tria.de/it_consulting/produkte_dienstleistungen/java/java.html Thierry Lecroq (Univ. Rouen) J2EE 10 / 16 Architecture J2EE Serveur d'application J2EE (3/5) Serveur d'application J2EE Servlet Servlet Servlet EJB EJB EJB Page Page Page JSP JSP JSP Conteneur Web Conteneur EJB Serveur J2EE (Conteneur d'application) Client web Thierry Lecroq (Univ. Rouen) Application cliente J2EE Serveur J2EE 11 / 16 Architecture J2EE Exemples de conteneurs (4/5) Serveurs J2EE JBoss : http://www.jboss.org Glasssh : https://glassfish.dev.java.net/ JOnAS : http://wiki.jonas.objectweb.org/xwiki/bin/view/Main/WebHome Oracle AS : http://www.oracle.com/appserver/index.html Conteneur Web Tomcat : http://www.apache.org Jetty : http://jetty.mortbay.org/jetty/index.html Conteneur EJB3 EasyBeans : http://www.easybeans.net/xwiki/bin/view/Main/WebHome Thierry Lecroq (Univ. Rouen) J2EE 12 / 16 Architecture J2EE Application J2EE (5/5) Arborescence d'une archive EAR (Entreprise ARchive) ApplicationJ2EE.ear |_ fichierEJB.ejb3 |_ applicationWeb.war |_ META-INF |_ MANIFEST.MF |_ application.xml Thierry Lecroq (Univ. Rouen) J2EE 13 / 16 J2EE et applications Web Spécications J2EE (1/3) J2EE fournit les éléments pour la conception d'applications Web servlets Java et JSP I I Les servlets et JSP constituent les blocs de construction du développement d'applications web avec J2EE En terme J2EE, les servlets et pages JSP sont des composants web application web I Collection de servlets et de pages JSP, d'autres classes annexes ou de bibliothèques de classes, ainsi que des ressources statiques telles que des documents HTML, XHTML ou XML, images, etc. conteneur web I I Essentiellement un environnement d'exécution Java pour les applications web Responsable de l'initialisation, de l'invocation et de la gestion de la durée de vie des servlets Java et des pages JSP Thierry Lecroq (Univ. Rouen) J2EE 14 / 16 J2EE et applications Web Application Web (2/3) Une application web est composée de Servlets/JSP de bibliothèques de classes annexes, de ressources statiques (images, HTML, XHTML, . . . ), un descripteur de déploiement (chier XML) Thierry Lecroq (Univ. Rouen) J2EE 15 / 16 J2EE et applications Web Fichier WAR (3/3) Arborescence d'une archive WAR (Web ARchive) ApplicationWeb.war |_ fichiers.html |_ fichiers.jsp |_ repertoires\fichiers |_ src | |_ sourcesServlets.java | |_ sourcesbibliotheques.java |_ META-INF | |_ MANIFEST.MF |_ WEB-INF |_ web.xml |_ classes |_ Servlets.class |_ lib |_ bibliotheques.jar Thierry Lecroq (Univ. Rouen) J2EE 16 / 16