Architecture J2EE

publicité
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
Téléchargement