Vous êtes sur la page 1sur 16

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
Base
de
QL
Données
sS
ète
qu
Re

Thierry Lecroq (Univ. Rouen) J2EE 4 / 16


Historique (3/6)
Architecture 3 tiers

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

RP
C
Primergy

Requètes SQL Base


de
RP
C Données

Thierry Lecroq (Univ. Rouen) J2EE 5 / 16


Historique (4/6)
Architecture 3 tiers objet

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

RM
I/ Requètes SQL
CO Primergy
objet
RB
A

objet objet Base


BA de
COR
I/ objet
RM Données

Thierry Lecroq (Univ. Rouen) J2EE 6 / 16


Historique (5/6)
Architecture  Internet 

Les années 90, architecture  Internet 


Primergy

HTTP Internet HTTP SQL Base


de
Données

Navigateur Serveur Web + "CGI"

Thierry Lecroq (Univ. Rouen) 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 (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 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 (3/5)
Serveur d'application J2EE

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 Application Serveur


web cliente J2EE

Thierry Lecroq (Univ. Rouen) J2EE 11 / 16


Architecture J2EE (4/5)
Exemples de conteneurs

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 (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


J2EE et applications Web (1/3)
Spécications J2EE

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


servlets Java et JSP
I Les servlets et JSP constituent les blocs de construction du
développement d'applications web avec J2EE
I 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 Essentiellement un environnement d'exécution Java pour les
applications web
I 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 (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


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

Vous aimerez peut-être aussi