Vous êtes sur la page 1sur 47

2007/02/28 Eric Hbert.eheb@yahoo.

fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p1
Architecture JEE.
Objectifs attendus

Serveurs dapplications JEE

Systmes distribus

Architectures JEE

Normes JEE

couches logicielles, n-Tiers

framework !! et design patterns


2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p"
Objectifs atteindre .

Rpondre la !e"tion

#u$est ce #ue l$architecture !! %

#ettre en $rati!e %

raliser une application !! dans


pro&et de '(h par #uipe de '
2007/02/28 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p)
Cible JEE.

JEE , pour quelle informatique?

Questce quun serveur dapplications JEE ?


2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p'
Systmes distribus.

&i'i"ion de" traite(ent" en (od!le"


indpendant"

plus disponible

plus *olutif

plus maintenable
Systmes distribus : petits,
rapides et facilement adaptables
Systmes monolithique : gros,
lents et inadaptables
2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p+
Systmes distribus.

&i"ponibilit

,finition

-aute disponibilit
2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p.
Systmes distribus.

)'ol!ti'it

,finition

/apacits de traitement
2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p0
Systmes distribus.

#aintenabilit

,finition

Solution
2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p1
Serveurs d'applications JEE.

*rchitect!re +eb
,23
4irewall Ser*eur
5eb
Ser*eur
d6application
/lient
5eb
7ase de
donnes
4irewall
2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p8
,ntranet
,ntranet
Architecture schma de principe
Serveurs web
Routeurs
quilibrants
*$*-HE
http
http -ontene!r +eb
Serveurs prsentation
-ontene!r E./
rmi
Serveurs mtiers
-l!"ter
0R*-1E
&dbc
Base de donnes
$a2e" "tati!e"3
a!tre"3 ...
40#-*4 ./055
2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p1(
Serveurs d'applications JEE.

-lient +eb

un na*igateur

interprte les pages -T29 ou :29

e;cute les applets ou du code


a*aScript

possde diffrents ni*eau; de


scurit configurable

peut interagir a*ec un ser*eur d$application *ia -TT=


2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p11
Serveurs d'applications JEE.

*pplication cliente

applications autre #u$un na*igateur

communi#ue *ia >2=, ??@=, T/=/?=, AAA


2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p1"
Serveurs d'applications JEE.

5er'e!r +eb

fourni du contenu 5eb B-T29, CD

communi#ue *ia -TT=, AAA

traite des re#uEtes /F?

peut Etre un pro;y frontal d$un ser*eur d$applications


2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p1)
Serveurs d'applications JEE.

#achine

machine physi#ue sur la#uelle est install une ou


plusieurs instances de 5eb9ogic Ser*er

diffrence entre les machines GH?: et machines non-


GH?: BHTD
2achine 1
HT
2achine "
GH?:
2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p1'
Apport des serveurs d'applications.
!"#$%

$er(ettent d6e7c!ter de" co(po"ant"

/onformes au; technologies !!

?ndpendants du *isuel et de l$accs au; donnes

,ployables dans un en*ironnement

=ermettant une large possibilit d$e;tension de puissance

S$affranchissant du lieu

1e co(po"ant le pl!" 'ol! e"t !n


8Enterpri"e .a'a /ean:
2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p1+

5er'ice" d6ad(ini"tration

,ploiement de ser*lets et de composants

Structuration en ser*eur, application

Festion d6annuaires H,?

Festion de =ools et de ,ata sources

#od;le de "c!rit applicable

Iu ni*eau de cha#ue composant

Iu ni*eau de cha#ue mthode


Apport des serveurs d'applications.
!$#$%
2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p1.
&mplementation de
Serveurs d'applications JEE.

<a((e +eb1o2ic

5eb9ogic Ser*er 8A1

-o(patible .EE =.>

<a((e ,/# +eb5phere

5ebSphere J.

-o(patible .EE =.3

<a((e 0pen5o!rce

boss IS *+

-o(patible .EE =.>3 E./3


2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p10
'essources.

5ite 5!n "!r .EE

httpK//&a*aAsunAcom/!!/

5ite /E* "!r .EE

httpK//de*"de*AbeaAcom/products/wlser*er11/inde;A&sp

?o!r .EE -o((!nity

httpK//wwwAtheser*ersideAcom/
2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p11
(ocus.
?mplmentation ?72 5ebSphere
2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p18
Architecture de )ebSphere *#JEE "+,
2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p"(
)eb container

#ote!r de "er'let 2.3 et .5$ =.2


2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p"1
EJ- container

E./ container

!7 modules selon la spcification !7 "


2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p""
)eb administrative console
2007/02/28 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p")
(in .rsentation JEE.

!e quil faut retenir "

Systmes distribus K disponible, *olutif et maintenable

Hormes !! K des nombreuses technologies IJI


#ui *oluent

Ser*eur d$application !! K un web container, un !7


container et une collection de ser*ices mis L disposition
des applications
2007/02/28 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p"'
Architecture JEE.

Normes JEE

9es principales technologies !!

#$veloppement distribu$ JEE

n tiers, n couches logicielles

,esign =atterns
2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p"+
/ormes JEE

&finition de .a'a 2 $latfor( Entrepri"e Edition


@.EEA

1e" application" dploye" a'ec .EE

adhrent au; standards !!

sui*ent les spcifications !!

sont crites en a*a

sont dployables sur tous les ser*eurs implmentant !!

Bi'ea! 4echnolo2ie" .EE % .EE C et .&D 6


2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p".
Architecture JEE.

Ene application .EE "e co(po"e de


2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p"0
Architecture JEE.

Ene architect!re .EE "e dco(po"e en nFtier" %

partie cliente

un 5eb /ontainer

un !7 /ontainer

partie mtier
2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p"1
JEE * types de conteneur
2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p"8
/ormes JEE "+,.

En "er'e!r dGapplication .EE =.3 "!pporte


le" technolo2ie" .*H*

1 a*a ,ata 7ase /onnecti*ity "A(

" a*a Haming ,irectory ?nterface 1A"

) >emote 2ethod ?n*ocation B>2?-??@=D 1A(

' a*a ?nterface ,efinition 9anguage

+ Ser*let "A)

. a*a Ser*er =ages 1A"

0 !nterprise a*a 7eans "A(


2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p)(
/ormes JEE "+,.

1 a*a Transaction Irchitecture / a*a Transaction Ser*ice


BTI/TSD 1A1

8 a*a2ail 1A" includes a*a Icti*ation 4ramework 1A(

1( a*a 2essage Ser*ice B2SD 1A(A"

11 e:tended 2arkup 9anguage

1" a*a I=? for :29 =arsing BI:=D 1A1

1) a*a I=? for :29-7ased >=/ BI:->=/D 1A( B5eb Ser*icesD

1' !! /onnector Irchitecture B/ID 1A(

1+ a*a 2anagement !;tensions B2:D 1A(

!t les ser*ices 5eb


2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p)1
/ormes JEE .

.a'a &ata /a"e -onnecti'ity @.&/-A

interface d$accs au; bases de donnes

spcifications sur les liens entre I=? et pilote de la base


donnes
2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p)"
/ormes JEE.

.a'a Ba(in2 I &irectory ,nterface @.B&,A

I=? a*a d$accs au ser*ice de nommage et de


rpertoires

construit comme un pont *ers des fournisseurs


d$annuaire B,HS, 9,I=, CD
2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p))
/ormes JEE .

5er'let"

mcanisme de traitement de re#uEtes/rponses

ser*lets -TT=

in*o#ues par des re#uEtes -TT=

dployables sur un ser*eur 5eb

leur rsultat est un flu; -T29 en*oy au na*igateur

peu*ent grer des donnes de ni*eau session


2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p)'
/ormes JEE .

.a'a 5er'er $a2e @.5$A

gnre des pages 5eb dynami#uement

compose de K

code -T29 pour la reprsentation des donnes

directi*es S=

scriptlets Bcode a*a insr dans la page S=D


2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p)+
/ormes JEE .

Entrepri"e .a'a /ean" @E./A

composants distribus crits en a*a

fournissent des ser*ices distribuables et dployables

rutilisables sur les diffrents ser*eurs d$applications

e;cuts dans un conteneur B!7 containerD

intrEts des !7 K

distribution

scurit

transactionnel

5eb9ogic Ser*er BMN 0A(D supporte les !7 1A1 et les


!7 "A(
2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p).
/ormes JEE .

.a'a 4ran"action *$, @.4*A

I=? a*a de gestion des transactions

5eb9ogic Ser*er supporte les transactions locales et


distribues
2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p)0
/ormes JEE .

.a'a #e""a2e 5er'ice @.#5A

I=? a*a d$accs L un middleware de messagerie

supporte K

le domaine =oint L =oint

le domaine Oditeur/Ibonn

l$acheminement garantie des messages

les sessions transactionnelles


2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p)1
/ormes JEE .

.a'a #ana2e(ent E7ten"ion @.#JA

dfinit un standard de gestion d$infrastructure en a*a

dissocie les lments administrs de l$outil


d$administration

les spcifications dcri*ent les 2beans

l$administration interne de 5eb9ogic Ser*er est base


sur 2:
2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p)8
Feosynchronous
orbit
low !arth
orbit
=olar @rbit
eccentric
orbit
0a 1ala2ie 340
X!
Schema
DTD
DOM
SGML
Xpoiter
X!TML
XML "uer#
X$ase
XSL
Xpath
XML si%ature
X&i'
ICE
CSS
SMIL
XML (rotoco&
X)rame
2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p'(
5u6est7ce 8u6un )eb Service9

Ene 8!nit lo2i!e applicati'e: acce""ible en !tili"ant le"


protocole" "tandard dG,nternet

>utilisable et bas sur un protocole BS@I=D

?ndpendamment de

la plate-forme BGH?:, 5indows, CD

l$implmentation BJ7, /P, a*a, CD

l$architecture sous-&acente BAH!T, !!, CD

&crit par !n +5&1

,finition d6une interface 5eb N contrat bas sur :29

,finit un schma pour n6importe #uel type d6interface

Enre2i"tr dan" !n ann!aire E&&,

permet de retrou*er le ser*ice dynami#uement


2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p'1
*nn!aire
E&&,
-lient
J#1
C% .Gai co(pri" co((ent in'o!er
ton "er'ice et Ke tGen'oie !n doc!(ent
J#1 repr"entant (a re!Lte
5er'e!r
2% .Gai tro!'M Hoici le "er'e!r
hber2eant ce "er'ice Neb
3% O!el e"t le for(at dGappel d!
"er'ice !e t! propo"e"P
ER1
d!
Neb
"er'ice
>% Hoici (on contrat @+5&1A
J#1
J#1
6% .Gai e7c!t ta re!Lte et Ke te reto!rne le r"!ltat
=
%
.
e

r
e
c
h
e
r
c
h
e
!
n

"
e
r
'
i
c
e

+
E
/

2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p'"
:finition des couches

-o!che pr"entation

4ramework 2J/ Struts 1A1

-o!che *pplication @/!"ine"" &ele2ate 1ayerA

/lasses simple a*a et design patterns

-o!che (tier @/!"ine"" 1ayerA

Ser*ice

2tier K contrQleur mtier

Techni#ue

@b&et 2tier persistant B!7sD

-o!che dGacc;" a!7 donne" @$er"i"tance layerA

9iaison a*ec entrepQt de donnes

Festion des oprations />G, K /reate, >ead, Gpdate, ,eleteA

&onne" @$hy"ical 1ayerA

!ntrepQt des donnes de l$application

Schema modele physi#ue de base de donnes, schema :29,C


2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p')
(rame;or< Soft;are Architecture
R
S
T
U
V
W
X
Y
Z
T
[
Z
V
\
Y
]
V
S
T
S
S
^
X
Y
V
_
\
Y
\
`
T
_
T
Y
Z
Technical Ser*ice
Session Stateless
or 2,7
7usiness Ser*ice
4acade
Stateless or Stateful
Session
a
\
Z
\
V
\
W
W
T
S
S
V
b
X
`
^
W
&ata
4reat(ent"
$re"entation
$er"i"tence 5er'ice <E,/Ba'i2ation /!"ine"" lo2ic 1ayo!t
!7 72= ou /2=
54RE45 E./ 2.0
E"er =
E"er 2
E"er 3
E"er J
2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p''
=ue 1nrale
.atterns principau2 utiliss

/!"ine"" &ele2ate
%http"&&java'sun'com&blueprints&patterns&(usiness#ele)ate'html*

Reduce coupling between Web and Enterprise JavaBeans


TM
tiers

&ata *cce"" 0bKect @&*0A


%http"&&java'sun'com&blueprints&patterns&#AO'html*

Abstract and encapsulate data access mechanisms

5er'ice 1ocator
%http"&&java'sun'com&blueprints&patterns&Service+ocator'html*

Simplify client access to enterprise business services

5e""ion Qacade
%http"&&java'sun'com&blueprints&patterns&Session,acade'html*

oordinate operations between multiple business ob!ects in a wor"flow

&ata 4ran"fer 0bKect


%http"&&java'sun'com&blueprints&patterns&-ransferObject'html*

Transfer business data between tiers

Qa"t 1ane Reader


%http"&&java'sun'com&blueprints&patterns&,ast+ane.eader'html*

#mprove read performance of tabular data


2007/02/28 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p'+
Architecture JEE.

!e quil faut retenir "

Horme !! K ensemble de technologies IJI Bc1+D #ui


*oluent

,*eloppement application !! distribue

' containers K applet, client, web, !7

Ipplication d$entreprise !! B!I>D

structure !! de rpertoires L respecter

,claration des modules #ui la composent par


descripteurs de dploiement :29 K

application.xml, client-application.xml, web.xml, ejb-


jar.xml.

Architecture n tiers, couches logicielles distribus

Framework JEE et design patterns.


2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p'.
Objectifs atteints.

Ho!" "a'eR rpondre


(aintenant la !e"tion

#u$est ce #ue l$architecture


!! %

#i"e en $rati!e % proKet


de >0h par !ipe de >

Inimation K )(h encadrs L


partir du 0 mars "((.
2006/03/08 Eric Hbert.eheb@yahoo.fr / ifsic-DIC2-ARC-LSI-Architecture JEE / p'0
Objectifs Module enseignement TD

@b&ectifs 2odule enseignement T,

2ettre en du*re un ser*eur d$applications !!

,crire une architecture gnrale :-Het !!

Gtiliser les technologies !! 1A'

=rototyper une application !! 1A'

=r re#uis initiau;

=rogrammation ob&et a*ec a*a

,*eloppement 5eb a*ec a*a

/omprhension de la notation G29

/onnaissance des techni#ues de gestion de pro&et

Vous aimerez peut-être aussi