architecture j2ee - lecroq/cours/j2ee.pdf · plan 1 historique 2 architecture j2ee 3 j2ee et...

16

Upload: tranhanh

Post on 15-Sep-2018

239 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Architecture J2EE - lecroq/cours/J2EE.pdf · Plan 1 Historique 2 Architecture J2EE 3 J2EE et applications Web Thierry Lecroq (Univ. Rouen) J2EE 2 / 16

Architecture J2EE

Thierry Lecroq

(merci à Alexandre Pauchet (INSA Rouen))

Université de Rouen

FRANCE

Thierry Lecroq (Univ. Rouen) J2EE 1 / 16

Page 2: Architecture J2EE - lecroq/cours/J2EE.pdf · Plan 1 Historique 2 Architecture J2EE 3 J2EE et applications Web Thierry Lecroq (Univ. Rouen) J2EE 2 / 16

Plan

1 Historique

2 Architecture J2EE

3 J2EE et applications Web

Thierry Lecroq (Univ. Rouen) J2EE 2 / 16

Page 3: Architecture J2EE - lecroq/cours/J2EE.pdf · 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

Page 4: Architecture J2EE - lecroq/cours/J2EE.pdf · Plan 1 Historique 2 Architecture J2EE 3 J2EE et applications Web Thierry Lecroq (Univ. Rouen) J2EE 2 / 16

Historique (2/6)

Architecture 2 tiers

Les années 80, architecture 2 tiers

Requètes SQL

Requète

s SQL

Requètes SQL

Base

de

Données

Thierry Lecroq (Univ. Rouen) J2EE 4 / 16

Page 5: Architecture J2EE - lecroq/cours/J2EE.pdf · Plan 1 Historique 2 Architecture J2EE 3 J2EE et applications Web Thierry Lecroq (Univ. Rouen) J2EE 2 / 16

Historique (3/6)

Architecture 3 tiers

Fin des années 80, architecture 3 tiers (RPC)

Primergy

Requètes SQL

RPC

RPC

Base

de

Données

Thierry Lecroq (Univ. Rouen) J2EE 5 / 16

Page 6: Architecture J2EE - lecroq/cours/J2EE.pdf · Plan 1 Historique 2 Architecture J2EE 3 J2EE et applications Web Thierry Lecroq (Univ. Rouen) J2EE 2 / 16

Historique (4/6)

Architecture 3 tiers objet

Les années 90, architecture 3 tiers (Objets)

Primergy objet

objet objet

objet

RMI / CORBA

RMI /

CO

RBA

Requètes SQL

Base

de

Données

Thierry Lecroq (Univ. Rouen) J2EE 6 / 16

Page 7: Architecture J2EE - lecroq/cours/J2EE.pdf · Plan 1 Historique 2 Architecture J2EE 3 J2EE et applications Web Thierry Lecroq (Univ. Rouen) J2EE 2 / 16

Historique (5/6)

Architecture � Internet �

Les années 90, architecture � Internet �

Primergy

InternetHTTP HTTP

SQL

Serveur Web + "CGI"Navigateur

Base

de

Données

Thierry Lecroq (Univ. Rouen) J2EE 7 / 16

Page 8: Architecture J2EE - lecroq/cours/J2EE.pdf · Plan 1 Historique 2 Architecture J2EE 3 J2EE et applications Web Thierry Lecroq (Univ. Rouen) J2EE 2 / 16

Historique (6/6)

Paradigmes de programmation

Aspect programmation

Années 70-80 : Programmation impérative � procéduraleI 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 composantsI Les composants peuvent être physiquement distantsI Si changement, pas besoin de tout recompiler et de tout relinkerI Bonne programmation objet : seules les interfaces sont connues

Thierry Lecroq (Univ. Rouen) J2EE 8 / 16

Page 9: Architecture J2EE - lecroq/cours/J2EE.pdf · Plan 1 Historique 2 Architecture J2EE 3 J2EE et applications Web Thierry Lecroq (Univ. Rouen) J2EE 2 / 16

Architecture J2EE (1/5)

Motivations

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 ServicesI L'accés aux bases de données relationnelles : JDBCI L'accés aux annuaires et services de nommage : JNDII L'utilisation du XML : DOM et SAXI HTML dynamique et traitement de requêtes HTTP : JSP et ServletI La gestion du Mail : Java MailI La gestion des messages : Java Message ServiceI La gestion des composants : EJBI La connection à des ERP : Java ConnectorI La gestion des droits d'accès : Java Authenti�cation and Authorization

Service

Thierry Lecroq (Univ. Rouen) J2EE 9 / 16

Page 10: Architecture J2EE - lecroq/cours/J2EE.pdf · Plan 1 Historique 2 Architecture J2EE 3 J2EE et applications Web Thierry Lecroq (Univ. Rouen) J2EE 2 / 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

Page 11: Architecture J2EE - lecroq/cours/J2EE.pdf · Plan 1 Historique 2 Architecture J2EE 3 J2EE et applications Web Thierry Lecroq (Univ. Rouen) J2EE 2 / 16

Architecture J2EE (3/5)

Serveur d'application J2EE

Serveur d'application J2EE

Serveur J2EE (Conteneur d'application)

Conteneur Web Conteneur EJB

ServletServletServlet

PageJSPPageJSPPageJSP

EJBEJBEJB

Applicationcliente

Clientweb

ServeurJ2EE

Thierry Lecroq (Univ. Rouen) J2EE 11 / 16

Page 12: Architecture J2EE - lecroq/cours/J2EE.pdf · Plan 1 Historique 2 Architecture J2EE 3 J2EE et applications Web Thierry Lecroq (Univ. Rouen) J2EE 2 / 16

Architecture J2EE (4/5)

Exemples de conteneurs

Serveurs J2EE

JBoss : http://www.jboss.org

Glass�sh : 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

Page 13: Architecture J2EE - lecroq/cours/J2EE.pdf · Plan 1 Historique 2 Architecture J2EE 3 J2EE et applications Web Thierry Lecroq (Univ. Rouen) J2EE 2 / 16

Architecture J2EE (5/5)

Application J2EE

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

Page 14: Architecture J2EE - lecroq/cours/J2EE.pdf · Plan 1 Historique 2 Architecture J2EE 3 J2EE et applications Web Thierry Lecroq (Univ. Rouen) J2EE 2 / 16

J2EE et applications Web (1/3)

Spéci�cations J2EE

J2EE fournit les éléments pour la conception d'applications Web

servlets Java et JSPI Les servlets et JSP constituent les blocs de construction du

développement d'applications web avec J2EEI En terme J2EE, les servlets et pages JSP sont des composants web

application webI Collection de servlets et de pages JSP, d'autres classes annexes ou de

bibliothèques de classes, ainsi que des ressources statiques telles quedes documents HTML, XHTML ou XML, images, etc.

conteneur webI Essentiellement un environnement d'exécution Java pour les

applications webI 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

Page 15: Architecture J2EE - lecroq/cours/J2EE.pdf · Plan 1 Historique 2 Architecture J2EE 3 J2EE et applications Web Thierry Lecroq (Univ. Rouen) J2EE 2 / 16

J2EE et applications Web (2/3)

Application Web

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

Page 16: Architecture J2EE - lecroq/cours/J2EE.pdf · Plan 1 Historique 2 Architecture J2EE 3 J2EE et applications Web Thierry Lecroq (Univ. Rouen) J2EE 2 / 16

J2EE et applications Web (3/3)

Fichier WAR

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