Académique Documents
Professionnel Documents
Culture Documents
Sommaire
1. PRÉSENTATION 7
2.1 LA PERFORMANCE TELLE QUE PERÇUE PAR LES UTILISATEURS ET LES MANAGERS 15
2.1.1 LE TEMPS DE RÉPONSE 15
2.1.1.1 Benchmark pour les transactions E-commerce (Keynote E-Commerce Index) 18
2.1.1.2 Benchmark pour les transactions bancaires 19
2.1.1.3 Benchmark pour les connexions à 56 Kbps 20
2.1.1.4 Benchmarks sectoriels 20
2.1.2 LE DÉBIT 21
2.2 LA PERFORMANCE TELLE QUE PERÇUE PAR L’ÉQUIPE DE DÉVELOPPEMENT 25
2.2.1 SEGMENTATION DU TEMPS DE RÉPONSE EN FONCTION DES COMPOSANTS 25
2.2.1.1 Injection d’un compteur dans le code source (Custom Instrumentation) 25
2.2.1.2 Utilisation d’un profiler 35
2.2.2 MESURE DE LA CHARGE DE TRAVAIL EN FONCTION DU COMPORTEMENT DES VISITEURS 40
2.2.3 MESURE DU DÉBIT ET DES COÛTS Y AFFÉRENTS (BENCHMARK TPC-W) 42
6. CONCLUSION 165
8. ANNEXES 171
!
"
# $ % & ' (
%
! )
"
*
+
,
" -
" .
/
"
!
0
1
• 1 2 2 # # # , 2
• 1 2 2 # # # , 2 3
Conditions d’utilisation
4 5
"
5
"
!
6
7
!
, 8 , 9
"
: !
'
5
!
1 2 2 # # # , 2 3
!
&
& ; ;
1. Présentation
1.1 Problématique de l’essai
! #"$%'& (!
# ) ! (*+) ", -
. !
/
102
234
/5
5!6 07/
+
. 8:9",! ; .
<*+ (>=.*("?
@
A!
;=>=#
"B
.C
5D
",
,EFG",*1*+#",G
"H
.
@ I(JK*4*+L C*(?
#L
5
M3&-"!N ,
C*(
< GN =>=. # PO0J @
A!.
/ Q
R
5"$Q!"? S5
.
?!!
*+!
T
U V!
"H
. .VW X
",
UY Z&[W N !
.)*+
=) " <#&?\
5
) *+1
^]_
ZI
Tableau 1: Répartition par secteurs d’activité des pertes potentielles dues aux problèmes de
4
performance affectant les applications de commerce électronique de type B2C
`
",
F5
"
",
F *1
*+!
.
9: N a
.
"$
Z b!]c*+)
5
[
N d
#R?
]I^efg=h=#
)&i
D.
>
-N jhkKJU ? #"$g ,
*+ @ l*( !TR02mn
`
",
Ho-b!0eeD)) ]!
p9q?
H=. #r [H
5 .
[r>=.)*("?I :#
5*1
=) " <# \??
!*++
@ s
1
Source: Zona Research, Need for speed 2, http://www.keynote.com/downloads/Zona_Need_For_Speed.pdf
2
Cette perte est évaluée en termes de manque à gagner c’est à dire en calculant le montant des revenus qui auraient pu
être acquis si ces problèmes avaient été évités.
3
Source: Ethan Henry, Brad Micklea, Bridging the Java™ 2, Platform Enterprise Edition (J2EE™) Technology
Performance Gaps, JavaOne 2004
4
Source: Zona Research, Inc., The Economic Impacts of Unacceptable Web-Site Download Speeds,
http://www.webperf.net/info/wp_downloadspeed.pdf, August 2000
5
Dans le reste de ce document les termes site et application seront utilisés de façon interchangeable.
`
*(#"$4i
.
"$
Z ^b!0eeF ,
] 4
"H
# *+!
940
\+
.HtuI
wyx
7m z!
# ) ! w {5
y7
2
2|!
!. !
Vb?0ee}
v
N *1
*+!
5
[
5/*1
/
.~)
","5,)
##[ N !
...
. H_,
.<*+
,
5!
5H*( ^?? Z.=h=# ?] ,(!>]
"? \9
_.uI
`
:
5?cT
#.
:b!]q
c
!
##
) ! [!.
i T*+d*+ @ q"?
O
":~.! i>
-x
2m q!
##
) ?
r D*(D!
. !
\"?
Z
Z I
b!0eeR ,
]
:
[H
5
.:[=.
.%#(~.a=."H
5c,
5
.
#< Fc
7mY
!
# ) ! -" !
. ^ O) ;f=>
#1JK).
%%'I
JK!
. #*+!
9a
/"._"?F .Z*+!
f#F
.
<*+ 1F>=.*("??!
",
>
#)
9 *(
N _!&L Z
.
Z.*1*(
( \
",
@ N 91 + ,=>=) ,"? -
#( \_H=."H
#
*+!
5\
] [
?=).
H
)"H
.
*(
.) %.6 @
*(
>
.?
q [*+
>
##:c# ! [q
$.Z
a ;
"!!
.I .
*+!
)& !
#
) ! ;?
.
"?/9[
) ]
Z
v
1? !
1N !
*1 ?
/*(
.) %#EK< @ N 1?!
",?=).?
.
19/
.
<*+
>=.)*("?I8. 5
.%5i5
-.
;"H?=) )*+&
9"? #
)& @ N (=.!
?
. ¡? !
P *+ # Sh=.*("? ¡L
7m ¡
",
Db!0ee
?] *+!
_
I¢£¤.£
¥
¦§£¨ ©ª+©«!¬s
2 m l
.
<*+ RG>=.*("?S??
1g9P D)#
.D",*4*1 ! l
.
. .\ ^
",
+~#)# .\N ) Z $
*( I
*+!
02mQ 4
.
<*+ ->=.)*("?4?!
-9 ;=. "?;;*(
.)
#G N @
(+?(?]
.
*+!
.%.ouI
6
Source: Segue Software, Inc., ACHIEVING HIGH PERFORMANCE J2EE APPLICATIONS, January 2003
7
Legacy systems
8
Source: Borland White Paper, Maximizing business value by optimizing J2EE™ performance, June 28, 2004
9
Source: Thomas Malvehill, Key Challenges in developing and deploying J2EE applications, July 28, 2003
10
Format, langage ou protocole qui est devenu un standard non pas en raison de son approbation par un organisme de
standardisation mais en raison de sa grande popularité.
11
Source: Borland presentation on Performance management for the J2EE platform,
http://www.pcuf.fi/sytyke/kerhot/javasig/PerfMan_J2EE.pdf
12
Indisponibilité du réseau, serveur avec une mémoire ou un processeur sous- dimensionnés par rapport à la charge de
travail, panne du serveur, sinistres dus à des aléas climatiques…
13
Cela n’est pas sans liens avec la baisse continue des prix du matériel informatique.
14
Teresa Lanowitz, Tearing Down the Wall, Gartner, 2002
15
Température excessive, rupture du courant électrique…
g?S
#*1 <# g",! ¡
#
*+?
1"!
.
g
",
!
#
"H
]*+!
4N
=.*(
½ ?=>=) ??
.¾½.?
Y
¿N
½*(?] À *+
*+!
?=).
,
#)"B
# D*(
.)
&- l
#. <*+S",!D
.?]G
?
5Á
4?R) Z l
S¨ £Q£¨ «¦«
¸ «!¬. »¤.£ ¬¸ ¦«q¥¹ª(£«£
»©ª+©«!¬\¥© ²T³©¤>¶.¦¤ª(£«·?© ²cº¡¨ à ©«²!©ª1´
¨ ©r¥© ²r³
Ä£
²!© ²:¥¹r·BÅ·¨ ©¥©
¥ÂÆ©¨ ¦³
³©ª+©«!¬¼;efG=>=.
",*4*+CS
.*( Z!
.G.
5
5l
F L
5 &1
_,
.
&l Ç."$
.
"B
.
Q n
.
Z.*1*+
.Ç Ç
",
È¿",*1*+#"?
"H
.
@ /;
!
(
5 .
.4",*1?
. 1"$
*(ÉB+/h=.*-"?
;
$
! FN _!&c
Z
:",
ZIj
>
.?
@ q :",
,
Ê!
<#*+!
")
4
\
. ,
.(?¡",!"
.R9S>=.)*+(
g?]
.
*+!
-ËD r",!
. !
5
N !
?
%.tf??
@
] !
. \91"? \; N ?]
.
*+!
#
B;
. "H
I
`
/#>
*(
Z*+!
;>=.)*(", +9 1=) 1;"B_" !]
*+!
*+<
]
.
.9[",,
5
.N *1>
5!
5
?!*+!
5K.
>
?
"$ " .
?r
Z
5
#]
c
5
5?
\ . @ g g*(
$
Z TT] *+!
^!
!
)*+
-q
:N
..
!
#R T
$
? :T
. ,
&KN _!&Kr ZT
i
",
ZI
Ì ¡". #G
G
# !!
5
DG CO) G=5
#PJK).
%#a RB),
.*+!
5
5
. -? ]
.
-
?
. 1
$
! (!
#.,'5 !
;#
#.
;7
2mQ
(
",
Í.9T*1 ! a[!>]
"?:
F
?!*+?
5
!
Z
5 # a] F9Î
2mY
",Ï!
K
5
5
`
/
.B#
5!%.uI N *1>
5",F"? ;
?!*+!
5),
=) [
"? ?
./F"H"?] K
",
F",*1*+."?F
"H
.
@
/
[.
"H
]N !
*1 ?
&
"?&<
+
#*1 <# +
$ ! \("B_" 4+]
*+?
)I
16
Utilisation intensive des données et des traitements, accès concurrentiels…
17
Jon Ha Building Quality into developement., Borland softwares,
http://www.java.no/web/moter/javazone03/presentations/JonHarrison/JH_QualityDevelopment_JavaZone.pdf
18
Ces dépassements sont particulièrement importants dans les méthodologies dites séquentielles parce qu’elles
contiennent peu ou pas d’itérations.
19
Source : ACCELERATE YOUR PERFORMANCE, Borland softwares,
http://www.borland.com/optimizeit/pdf/opt6_datasheet.pdf
`
Ç
£ »¤.£«¥©³¦³
¹
¨ £¤)¸ ¬.ÂÖ:N
#< W È?"
.ÔÑ^_Ò Ì O6×Ø&q"?È(OkÊz",*1!
.
Õ
.
.N $
?
\17;*1 \N ,
5
\"H
]
I
«©Ú¹!¬¸ ¨ ¸ ²?£ ¬¸ ¦«Q£·?·¤)¹©Q¥
£«²C¥© ²L£³
³
¨ ¸ ·,£ ¬¸ ¦«²PÛi©´Ð²©«²¸ ´
¨ © ²L£¹?§M³
¤.¦´
¨ µª+© ²G¥©
Ù `
³©¤>¶.¦¤ª(£«·?©/ÖÑ^_fÒ ,
"B
*+!
!
! 4!
##
) ! ;
5 #4
4
",
iaËc /
F
Ê
.
.*+!
5??
p?
! F=.Ü,c !
. ]
~>]!
.+(
5 &,
.
",*4*1
",
&H=) "? &?,!
.ÝF'I
`
Ì
. @ c
c!
"H
.
Ê
",*1*+#"?:
"H
.
@ &Ñ^_Ò
..
*+!
`
!
. (" !
54
. ,
Z ?4",*1*+PÞK$
& _",
1ef
.& i
Z 1
i N
v
ÉBH6%'I
ø «!¬.¤#଻¤.£«¥¸ ²?²?£«!¬¥©a¨ £a·,¦ª4ª1¹
«£¹!¬.Âá!£Æ£Ö=h=#
/
?
Za# ![
ß `
Ñ _Ò Ì O& 0I mÈ c]
.:?
$
.!
i
? H
.^9R
=.*(
q
-
^
`
]
*+!
5:",*1
!
Ab!]
-Ñ^_Ò ~#",!
#T0 I ÎmÔ
- c]
5
)â
3,7mL!
*+?
\!]
. ) #66uI
v
«a³©¤.²³©
·H¬¸ Ʃ乫©Æ©¤5²¸ ¦«å¼ ¯a ¯¼ æ¹
¸³
¤.¦³¦
²!©a¥©² ¶.¦«·H¬¸ ¦«
«£¨ ¸ ¬. ²F³
Ä£¤#© ²F³¦¹
¤Kª1¸ ©¹?§
ã
£
¥¤#© ²?²!©¤ ¨ © ²R³
¤.¦´
¨ µª+© ²r¥©S³©¤>¶.¦¤ª(£«·?©/Ö^ KN
Z
1
) " *+!
(
."?
#
`
,
5"ÉH
g
?
N !",lS ?]!
5
ZG r]. g!
.)
# gGÑ^_Ò
`
.
>
9Ñ(çÒ h]
è(.
" I 8G]5 Qd
5Q?>
QPb!?]
/02
2
7
",!
!
Ê:
F
."?
# F,
5
"ÉH
FN !
## /=."B
. a"?!
.
F
? + 4!
# ) ! ;~)
5*1*+?
(
#) Z
Z.
&
/#
",
.
. Z
",!
#/
".
$\
+","!$ \=)
\(
5
?.6×EØI
`
#!=##?
?
.
!4 H
",*1
4] "( (*+
$
Z +
..
] @
Í
$<#?
?
) " \
]!
5 s
¦«²,¬¤)¹·H¬¸ ¦«(¥© ¨ à £³
³
¨ ¸ ·,£ ¬¸ ¦«1³£¤£
²?²!©ª1´
¨ £
»©1¥©1·,¦ª1³¦
²?£«!¬5²Ö"?
h
.4
.
"$ )*+
• é
4
.
"B
..
*+!
\*( \4",
Z+
#-4 ZI
¬ ¸ ¨ ¸ ²£ ¬¸ ¦«¥Ã ·,¦ª4ª(©«¦ ¬5£ ¬¸ ¦«³ ¦¹
¤¨ £F³
¤.¦
¥¹·H¬¸ ¦«;¥© ²1£¤5¬.©!¶.£·H¬5²;Ö N !
5
.
• Ù ÙÊê1ß
5
1*+
1"!# (
.=) +
??" (*+
#) @ \; >=.*("?
`
?( =>=##!
>\
Z.*4*( \N 8ÊÑ I
20
Source : http://www.MySQL.com
21
Une liste complète de ces entreprises est disponible à l’adresse : http://www.MySQL.com/customers/#Retail
22
Source: http://dev.MySQL.com/tech-resources/quickpolls/
23
Source: http://dev.MySQL.com/doc/MySQL/fr/todo-MySQL-5-1.html
ª1³
¨ ¸ 湩¤:¥
£«²Ú¨ £V»© ²,¬¸ ¦«ì¥© ²³©¤>¶.¦¤ª(£«·?© ²Ú¨ © ²Vª(£«£
»©¤.² äF¨ © ²Q£«£¨ Ų,¬.© ²
ä¨ © ²
• ë
£¤#·Ä
¸ ¬.©
·H¬.© ²äa¨ © ²Ú³
¤.¦
»¤.£ª1ª+©¹ ¤.²äF¨ © ²C¬.©²,¬.©¹
¤.²ä/¨ © ²Ð£
¥ª1¸ «
¸ ²,¬¤.£¬.©¹
¤.²C¥© ²ì´£
²!© ²Q¥©
¥
¦«
«Â
© ²©¬¨ © ²r£
¥ª1¸ «
¸ ²,¬¤.£ ¬.©¹ ¤.²T¥© ²T²!©¤>Æ©¹
¤.²:Ûi©´,í#£³
³
¨ ¸ ·,£ ¬¸ ¦« sÊ
5!r ]!
+d
##
*1
@ gS*+d*+lZ#G
1N
?
# @ P ¡ ? RS>=.*("?l?!
",?]
*+!
4
) r"$.ZR9R
.].
5!
4 D"B_" RR]
*+!
IJ
h
.
*1
",
a*+<:9r·,¦«²¸ ¥Â¤#©¤i¨ £³©¤>¶.¦¤)ª(£«·?©·,¦ª1ª+©q¹
«q´© ²?¦¸ «
¥Ã £¶>¶.£¸ ¤#©²c©¬
«¦«1¹
«1¤# »¨ £
»©(¬.©
·Ä
«
¸ 湩4¥©4¥©¤)«
¸ µ¤#©;ª1¸ «
¹!¬.©¼
f!
" ^1) *+<
.41 # !!
??? ^!*( \
h
)
4s
â
5
. @ r N ??T",?]
# @
$
!
N _!&
q Z
A
`
",
ZI g
$
! T
. ,
)&pR
*+!
(
-l*( !
."?R!
(
.R!" *4*+!
" #"? @ N
,
5FÍ.9c
a*1
#a",!! @ !
]
#
N 5
" @
.
.?
1*(
Z*+!
(h=5)*("? ^
\"? \Î
$!
!
I
Ì g
] T¡ ¡
$
!gN _!Dr
."? .9¡ N !
=) ",
T r ? q
>=.)*("?F9:5
/",
N ?
?
@
#!
#?
f
h_
@ *+?
",,
#)"B
N
",
",*1*+#"?/
"H
.
@ Iâ;=>=#
"B
.;
.
/
.=)
Z
"? [ ? F
.!
K"H*1!
.
" =) "
.c*(
<
N =h=. # a~O0O&O0J&fJK0JK'I
`
Ì X
.)*+Ô"?
h
.
$
!Ç
# !!
..Ç N ?!!
:
L Ó
.=) r8ÊÑ =.
"$
h_ >=.*("?FFðf *+F
!
@ .",*4*+?
K !
d
#
?
!
v
*+ # @
.P ;",*4*1
",
(\! ( N @
44]
*+!
)I
Ì q
] cr
$
!: Zq:
?!.
q#]
T
.[!
çñ
h
.)[
>
.):Rh=.*(", @
fN
@ !
i?K
q?T",*1
?!
5cR N
",
@ N 9 N #"$
.
"H
.49 @ \?!
!
. Z#
I
Ì /
] F a
$
!
/",
ZF1 _!5
.
<*+ 4F>=.*("?
9 N !
?
X ± #
5 @
q#!
##!
P$
*+!
¡
È Ô",H
)"B
XN
",
GQ",*1*+."?Q
"H
.
@ I âG
.
!.Sl=)
/
9ì*+
#C
`
? !
4
4# ?#14; *1
. (",! @ "?
I ( *+!
>(",?]5
5-
"?
>
.;
$
!+?!
s
b!0Ke&?b!0ees
`
-"$,'\4",.
"H
.<. ~#"
?!4
#) Z
I
• `
-",
"H
(~
"H
5.
&ò
$!
5
ÝF'I
• `
+"
I
• `
1",
,
Z1
-\.
ZI
• `
1Z ,
(
-)# .(~) "\",
."$&,
>_!I
• `
i=) "$
.4I b Ì pI
• `
\
5 I
• `
->]
>-
ib!]1>]
Z
I
• ` v
4ef!
.)
) !(b!]O
I
• `
Ì j? +
!\+
-
-",
"H
. .(~5b
kÊOJ&!",
"B
5bÝI
• v
`
Ñ^_Ò s
`
1"$ ( (*(
.
5\+,
5"!ÉB
Z1
i
_
\
4
I
• `
^
.
"$
@ ^N
# I
• `
+
."? # ^,
5"!ÉH
I
• `
N !
*1 ?
( (# @ d
5
I
•
.
!^
:*(#"$","#<
.r ^ !
. Z#i r*(
Z*+?
p ch=.*("?
• v
?1
#*1 <# (
$
! ^+"B_" 4+]
*+!
I
k =)
1*+
#) @ +
1"$
*()ÉB @
*(
>
.?
N ] /h=.*("?;
•
",
;",*1*+."?
"H
5
@ IJ
>
.
=)
;] 9a N _!/
",
.
.(
#.
4",*1*+/
;
.*4+/#!Ief ,
",!
#
V",
ÚN !
?
&c W*(
< Uï",*15
.*+!
q î!
?
.
.Ú
î]
","
)#?
I
.
!
c*(#"$
Ê _!p
" =)
? a:>=.*("?c
• v
* d*+(
# @ +? \N =>=. #
I
+
"?!1
4"
? =) D
) " ?l
h
.)
+!
çñ
>
.)P>=5)*("?l!
•
]
",
.4?S
",
^1",*4*+#"?4
"H
#.
@ I
Ñ
h
#
a.Z: )#
5=)# @ *4*+!
K",*1*1 ! /
a
.
Z.*1*(
F
(
•
",
F",*1*(."?F
"H
.
@ F
. ! ? !
/ K ]
.
*+
!
*1
"H
+>=.*("?
I
`
{ #: : !
p a?] =."H
. /: a]. a7I 2[Ñ^_fÒ
Ê
!
•
5
"
<#*+?
"? @
H",!
)
?
9 N *+ .
( +>=5*("? I
2.1 La performance telle que perçue par les utilisateurs et les managers24
24
Les managers dont il est question sont supposés relever des fonctions métiers et non de la fonction chargée des
technologies de l’information.
25
Cette affirmation est démontrée par plusieurs études spécialisées dont les plus connues sont:
Zona Research, Need for speed 2, http://www.keynote.com/downloads/Zona_Need_For_Speed.pdf
Jakob Nielson, The Need for speed à l’adresse: http://www.useit.com/alertbox/9703a.html
k r
5
5rD!
?
.D",*1*+gb!ÉB¡â !?6#
",*4*(!
4
=>=) "$
ZR
#
5
>cr!
Úr÷q9S3,2T!
", c
]?
^ N ?]g R# @ d
.*( :"? c!
]!
d
#/.*+ 4;",!
.!
. N !
?
."?
."
.N
!
.)!!
.;=."?9F
."?;N
4
.; ",*1*+#"?
"H
#.
@ ;/
(!
*+!
1?1]
. ?!;
",
1*( \ Z
*+!
s
26
Source: Nielsen//NetRatings, Web connection speed trends—U.S., http://www.websiteoptimization.com/bw/0406/
27
Idem
28
Pour plus de détails consulter l’article: The Need for Speed à l’adresse: http://www.useit.com/alertbox/9703a.html
¹ ·,£
²+¥Ã ¹!¬¸ ¨ ¸ ²?£ ¬¸ ¦«Ö*1
N =>=) "$
Z1
Z;N "?" ,*(
*( (
ú
."
. @
??
1N
",*4*( /#< Z *+?
N
1"$
Ij
*Ð f
#*1
??
Z4N
4
N "$
N !") !
(9
>
##4;?] Ý
¹qª(¦
¥µ¨ ©¥Ã £¶>¶.£¸ ¤#© ²;ÖK q
T*+
r\ø!_
.E4*(!
##9q"? #
@ r
ú
!
?
.
.q
g*( < lO0OG?!
+*(
."?r]
?ç)9
ç#]
q¡
.", @ ¡
!
?
.
.N
c*(
< O0JC~#"? q N ,
p
?![ ]
"a q
#
*1 "?
",
\9$?
.-]
. ,!1"$ö+ -!
##
) ! &!J=×IH=) Z
#GÎI
¹F·,¦ó!¬¥©c¨ £
·,¦«
«©§
¸ ¦«Ö"?F! @ N
[?
?
.
@
_c
=.>=.
ú
",
C *1
.
Ð
).
*(
=# ,
.F
lP
."
.S=."?L9M M
5"? @ N
!
?
.
@
H,
=."B
#+\=."B
(\
.*1\+",
I
q *1
"
. F=."H
.
. @
f ?=) !
p
^
."
.c=."?9
."?&K ,
Ê
#<
=>=) " /=)
!
5*1;a#!a
>
.=) ;N !
.)?
.
5
",
TN !
?
I\j *+!
4 r!
##
) ! T!]
. !
4*+
#(
1 q
. Tl
.
","
)#?
5( +
.*1^;#!4
,?" 491"$ @ 1",
\N ?
?
I
29
Source: Zona Research, Need for speed 2, http://www.keynote.com/downloads/Zona_Need_For_Speed.pdf
30
Source: Keynote Systems Inc, E-COMMERCE RESPONSE TIME: A REFERENCE MODEL,
http://www.avoka.com/resources/keynote/E-Commerce_Response_Time_CMG_2000__Chris_.pdf
`
[#
5
5 !
. [
). ?
K!>]
:"$
*(ÉB>=.)*-"?
9
#.].
5!
["B_" aa] *+!
)Ifk ?"
.
" !
/=>=#
"H
!
#Z
<#*+!
",
h_
[*+
# HE'%
. 9/=.5
.=h=) "?F
!
./#
5
> ?1=.)*+
î"$
*()ÉB I )*11"? Ð?"
. M"!N ,
qø_
.î~â
?
@ôû øeÞAâü:ðf$ïj!
.)
v
>=.*("? Ì ?
$)
_#E)6 @
'.
4
\Z.
5)
.;
5*4*+!
+. ?(
v `
) Z
q?T*(#"$q
A =)
.qq! #
5
5 I # ,
5qT"?
>
.q!
"B
?!SS#]
P ¡"$
*()ÉÍ @
#!=) <
.!
; G*1 ?S g
" =) "
. g
. g
",*1*+#"?¡
"H
#.
@ I\j ,
1 *15
5?
(S
5 @ ¡"? R"$
*()ÉBgD?!
1
",Ü;
*+
#f />=.)*("? N
1
.
"$
!
Z
/~5b!0ee&
)â
1?
#
*( V
@ *+?
T V
.*1ìU#!ô
??
" ô?V",
ìN !
?
@
/#!
.!
$
*+!
R
W Ç",*1
±N
X
",
±È",*1*+."?X
"H
.
@
~)#
"$#"$
(5
" 4
+
+",
5
Z&??]
) +",*1?
.&?N !
$?
=) fÝFI
31
Pour plus de détails sur la méthodologie de mesure se rendre à l’adresse:
http://www.keynote.com/keynote_method/keynote_method_main_tpl.html
32
http://www.keynote.com/about_us/about_us_tpl.html
33
Boston, Chicago, Dallas, Detroit, Houston, Los Angeles, New York, Philadelphia, San Francisco et Washington, D.C
34
Traduction littérale de ghost transactions. Il s’agit d’un ensemble de transactions fictives qui affectent des sites réels et
qui simulent le comportement d’achat sur Internet.
2.1.1.2 Benchmark pour les transactions bancaires (Keynote E-Banking Web Transaction
Performance Index)
J "$
*()É^*+ # ^
.*1^;#!4 ,?" \?(",
\N !
?
(
]!
54s
N !
$!
=)
4
.(N
@ 14#! Z!
4 !
=) !
4*(
•
?!I
Ì =>=) "$ # ]+1"H*4!
.1
^]) =) +? I
•
Ò(
>
. +
.I
•
`
*+
$
Z g¡*+
#¡!
!
R ,
+ !
@ g9D"? gþø_
.leç×JK*1*+#"?
l
`
jI :*+ a F.
5
5!
.
/ H
c$
*(
#*+!
Ê a
.a
k Z
5Íðf.?"H
HE)tuI
37
Tableau 4: Résultats du Keynote E-Banking Web Transaction Performance Index
35
Source: Keynote E-Commerce Transaction Performance Index, http://ecommercetimes.com/ectpi/#infofaq
36
http://www.digitaltransactions.net/index.cfm?pageid=22
37
Source: http://www.digitaltransactions.net/index.cfm?pageid=22.
38
Pour les autres benchmarks la connexion se fait via des lignes T1 à T3.
39
Source : http://www.keynote.com/solutions/performance_indices/consumer_index/consumer_40.html
40
Pour plus de détails sur la dite méthodologie Voir 2.1.1.1 Keynote E-Commerce Web Transaction Performance Index
41
Kilométrages gratuits offerts aux clients au fur et à mesure de leurs achats.
42
Tableau 6: Les benchmarks sectoriels de Keynote, semaine du 24 Janvier 2005
2.1.2 Le débit
{
*+!
5 *+!
a"?
h
5Ú*+
) @ Ú !
.# ?!Ú ",
ì
Ð Ð*(
Z. @ Ú
!
?
.
.
I1ef Ð*+
.L
G
C lP
.*1l
?ñE: Q"$.ZGG
.] @
N
",
ia ,
K",
[a
.
.×I p
.qj?
.)
G
.a ",
.
./??
`
.
*+!
!
!+
*+
# ;"$.Z+(
.] I +
\",*4*1
^?!
)s
42
Source: http://www.keynote.com/solutions/performance_indices/travel_hospitality/results-122704.html
43
Une seconde en général
`
*1 #4;# @ d
. i(;#! ($!
h
I
`
@ !
.+
5i
.B=.#
1?
#; 1" !
(!>]
I
`
*1 #4N "?"?< \","!
)#?
+~)?
?
.
.\","?
!
*1
5*+!
(
. 'I
`
R*1
#rR
Z ",
.
Ij ,
- *1>
5!
iR
. @ "?R*1
#R N ,
-
5 .
.l Z
A9C"?
P# @ d
. P$?
>
I1efS!=>=#
/#"? @ N
Q
Z
lõS",!
!
.",*1
??
5Í\ =)
#
.
Z#[*1
# @ d
. ]?
?]
N =>=) "$\
5
5
.I
`
¡*1 #gr
.?"H
Iikr g
*( qõR D*(
i
.?"B
# R N l
*+d*+","?!
@ r
*( r
!
Iij ZD g",
=.*+
;# @ d
. $?
h
+
#!-_(=>=##?
.?×ouI
ð_
@ *+!
)& N ] !
rr
\N
g
",
rR",*1*+."?R
"H
5
@ g
-Î
$
! -",*1*+; ;*(!
#. +=) Z
# I
«©T³
Ä£
²!©c¥©·¤.¦¸ ²?²?£«·?©s
.?
@ T :
ÊZ*+?
.T #*(!
ÊF=) A
Ê9
Ù
*+
#+ N Z*+?
5
( ;"$.Z+(
.] ,~J=×I Z$!
+ö! 'I
«©³
Ä£
²!©³
¨ £ ¬.© £¹ s
5!
@ ;
N
",
+*+
#1,
5
@ @ 1?
Ù
;"$.Z4(
#.] Í
#.
. ~J=I $ ]?_1
+ö! 'I
«©a³
Ä£
²!©¥©/¥Â
·¨ ¸ «Ö
!
@ a
! Z.
F . @ F "$.Z
.]
Ù
".,
~J=I
"É? (ö! 'I
46
Figure 4: Courbe de débit d’un site de commerce électronique
`
#
!
#a
.*1!;a#!& F"$.Z/
.]
/
!
f"$"
[
1"? +
$ ! -,
@
1" ç)
#<4s
44
Images, sons, vidéos, autres pages incluses dans des frames…
45
Source de la definition: Stacy Joines, Ruth Willenborg, Ken Hygh, Performance Analysis for Java™ Web Sites, Addison
Wesley, September 10, 2002, ISBN: 0-201-84454-0, pages 464
46
Source: Gennaro (Jerry) Cuomo, Srini Rangaswamy, IBM WebSphere Application Server 4.0 Performance Tuning
Methodology
¢©«¥
£«!¬¨ £a³
Ä£
²!©¥©/·¤.¦¸ ²?²?£«·?©Ö
.*1!1#!F*(_# H
.#
]*+!
,
5
. @ ;"$.Z4(
#.]! BZ*+!
.I
¢ ©«¥
£«!¬¨ £/³
Ä£
²!©³
¨ £ ¬.© £¹Ö ;
,
",,
5?
*( 1 1
.*1(#?;Z*+?
.;
=.Ü,1 # 5 @ 1"$.Z4(
#.] BZ*+!
.I
¢©«¥
£«!¬¨ £³
Ä£
²!©4¥©4¥Â·¨ ¸ «Ö +
.*1\;#!4".,
;*(
<#1
!
. @
;"$.Z4(
#.] BZ*+!
.;~) (=) Z
#47 ,
#; N !*1
44"? (#
?I
`
T",*1. ?:?
#r c=."B
*+?
p a
. [",*4*+."?q
"H
#5
@ q
A"?
*(
Z
) @
Y*(5
±*+
ô *1 ? ",*1
##| #
*(
$*(
@ :!
##"?c
5 T*+
) @ :r
] q T
$
! c"!. ??"?
. I
47
Figure 5: Relation entre le débit, le temps de réponse et la charge de travail
? @ V
ô
"?) V
.
VV7ô", ?! Ú U#< Z *+!
cN
5
"
*(?×s
3 *1
!
.
F*1
#
/" !
5; ,
?=#) Z
/*1
#/", ?? ; !>]
"?I
;
`
k+"? ",
1 N _4/
+4=) ;N
>
.!
.I 4
.*1!(#! ",*1 #
@ *+!
.*1r
"??? #D
( D#< Z *+!
×;D N "$
-
(
^D N
"?) o×1Z*+!
.
Z.
*+!
1=."B
/*1
#/" !
5 @
!F
# !!
.!
9a ", ?!F~./297
" !
5ì*1
!
. 'I/J
>
.
Ú#=) <
.ô ô*+d*+_
*1 @ @ ô î
$
!
". ??"?4N
-
.44"H*1*+#"?1
"B
.
@ I
47
Source: Stacy Joines, Ruth Willenborg, Ken Hygh, Performance Analysis for Java™ Web Sites, Addison Wesley,
September 10, 2002, ISBN: 0-201-84454-0, pages 464
48
Ces données sont fictives et reposent sur un modèle très simplifié.
49
Lecture du code à barre, insertion de la carte bancaire dans le terminal de paiement, emballage…
50
Nombre d’articles achetés par minute
0*1
!
. ( /*1
#;
" !
H
)
97
,=#)
; Z
?9[3,2Ik+"?",
47" !
5L
*+?
> # +
]!
h
.# @ / 4", ? .( !
=)
? !>]
.
`
#
"? ?! .
I r
.*1!q¡#!g",*1 #g
"r
.*1qN
h
.!
5RR
q
.*1
"??? #F
F#< Z *+!
F N 5
" Ij Z*+!
. =.Ü,/ #9"$ @
`
=. @ 1" @ " !
5\
\!
# !!
.!
*1
5*(!
9 ;", ?!I 4
?r5
# H
.",H
5!
Êc÷ ô3, 2 (" !
i~#c=>=#
*+d*+:]
"a"?
>
."$.Z:
.] ? N
"?) 4!>
5 5
.-74" !
5+*1
!
.I
Figure 7 : Equivalent de la phase plateau dans un magasin brique et mortier
51
Tableau 7: Exemple de benchmarks pour la mesure du débit (cas d’utilisation: accès à la page
52
d’accueil d’un site de commerce électronique)
Throughput (Bytes/Second)
Category Leaders At-Home At-Work
Portals - Yahoo 1,991 28,318
eShopping - WebVan 923 8,005
Brokerages - Ameritrade 1,306 8,402
Travel - Yahoo! Travel 1,407 20,481
Overall Worst Site 526 11,200
51
Source : Yahoo Wins Throughput Race, http://reviews-zdnet.com.com/AnchorDesk/4520-6033_16-4204488.html
52
Ces résultats sont basés sur le Keynote Consumer 40 Index. Pour plus d’informations sur la méthodologie du
benchmark voir section 2.1.1.3
53
Comme nous le verrons plus loin cette technique a plusieurs inconvénients.
Ñ
#a G
.*1L
"??? #M
"$*1 F ì# @ d
.Ð$!
h
GG" !
].L
(
1.
",!
.
4!>]
I
Ñ
#; g
.*1g# @
R
; H
5" ; ¡!h]
I 4"? ¡¡?
4
"?;
(
2. v
",*1!
. _!,
.* I " )#!
>ðf *+Ñ4 ~.q
?
U U*+
$
î
~#f>]
#JK?=) Z
",?=) Z
.ot @
a ,
!
5*-
@ *+!
È¡ W",!
.
¡ . @ N
.*1
N ,
5"
F /!>]
I Ì
.×&
5?
.=. & @ /"?
h
.*+
#
? =. # @
/
#*1 <## @ d
.;!
.!
.; N jhâðeÊ{ Ì Jeo× *1
*+!
.
!h]
N ,
\(
h_
4 Z ðf$
#
Ñ-
ouI
54
Au moins PII, 128Mo, JVM 1.1.8 et plus, Windows 2000
55
Source: Diagnosing J2EE performance problems throughout the application life cycle. MERCURY INTERACTIVE,
www.mercuryinteractive.com
56
Pour plus d’informations sur la signature de cette méthode se rendre à l’adresse :
http://www.jakarta.apache.org/tomcat/tomcat-5.0-doc/servletapi/javax/servlet/http/HttpServlet.html
57
INTERFACE en majuscules désigne les classes d’interface et non les méthodes et les propriétés.
58
Le package javax.servlet comprend une INTERFACE SingleThreadModel qui permet de créer autant d’instances de la
servlet qu’il y a de requêtes entrantes. En règle générale, il faut éviter l’implémentation de cette INTERFACE pour ne pas
épuiser rapidement et vainement les ressources du serveur.
Snippet 1: Exemple d’un compteur associé à la méthode doFilter() d’une classe qui implémente
61
l’interface Filter
#%$&' ( )+*-,"( ./.,101( ' 24357698:35;*' 3-2=<>3?$%3@A215B3?$%3@A2DC
8E35;*' 3-2=<>3@%#,1F@G3H5B3@%#,1F@G3IC
01( ' 24359J+KL1( FM)%KL1( FN"2DK%5B,-OP@RQ SUT"V-)G3"#W27( ,1FC
8E35;*' 3-2=T"V-)G3"#W2D( ,"FMX
' ,"F-YZ&3%[4,5B3Z\H8^]-@A243_H` )-$575B31FW2;a:( _U3"bR( ' ' ( @-6"NdcAe e)G,"_R#W2B3$5
59
public void init(FilterConfig filterConfig). public void doFilter(HttpServletRequest request, HttpServletResponse
response, FilterChain chain). public void destroy()
60
Nous rappelons à ce sujet que contrairement aux méthodes init() et destroy() qui ne sont appelées qu’une seule fois
dans le cycle de vie du Filter la méthode doFilter() est invoquée autant de fois qu’il y a de requêtes entrantes ou de
réponses y afférentes.
61
Source: Jack Shirazi, Java Performance Tuning, 1st Edition September 2000 , ISBN: 0-596-00015-4, pages 496
Ñ
#
Q
.*1!Q# @ Q
# _
Ú# @ d
.ÐQ",!
. F!>]
].Q
(
6.
",!
.
-eb
OS~)*1
q N
",
T!
!T", . !
.*+?
pð*("H
Ú",*1*+
",!
.
+!>]
>-
b
O
?-",*1*+4",?
.
N eb
OI
Ñ
# ¡
.*1D# @
¡
P"#
DG N eb
Ot)Ês- S",*1!
. @
Ê!5
49L
(
7.
*+
# !
d
#
"?49
.-.
5\
*1*+?
-
h_
4N eb
O[!
!to
+",."B
.<#;
\+*( \ ,
#)
4 N
",
?ttuI
62
Différences qui ont trait à la syntaxe et aux noms des interfaces.
63
Source : Jason Hunter , William Crawford, Java Servlet Programming, 2nd edition, O'Reilly, ISBN: 0-596-00040-5
64
Un EJB est crée lorsqu’il acquiert le statut ready et que ses business methods deviennent invocables.
65
Session, entity, message-driven beans
66
Répartition des EJB sur une ou plusieurs JVM.
*1
ì;
ì
",
Ð",*4*+.",
"H
.
@ V?
!V
Ð,
5
. ?
v
! ? : :
p
.
5
[N *(>
?!*+!
N
:
#d
A", #~J=×I=) Z
#
`
3,2 &!
??"
",*1?
.
9a F*+
$
Í) Jp#
.~.F /"
?!
O
~#"B=I
0
'I Ì
. @ : . @ N
a" !
*(: c"!#
F,
>
. ?a
"!N ,
*+
$
;"#
.~.;$*+ !
.>=."? @ N ?] @ 19 "$.Z
",!
.
`
eb
OUÚ# ) Z
~>=.hA.
?c"?
h
.Ú ?]",
G].Ð Ú*+
$
ìÍ) Jp.
.~5.t×ØI
"#
ì,
5
. ?Ú ô N ,
c
"ì."$]
@ N
#< Ú N ?]",
U
*+
$
4Í) Jp#
.~.'I
68
Figure 10: diagramme de classes d’un EJB permettant d’éditer un tableau d’amortissement
Snippet 2: Exemple de compteur pour mesurer le temps nécessaire pour l’instanciation d’un
stateless bean
( _R#-,5;2Gl4L-*-L-V` FL"_R( F-Y1` J,1FW243%VG2Dc
( _R#-,5;2Gl4L-*-L-V` FL"_R( F-Y1`;Q F( 2D( L"' J,"FW243-VG2Dc
( _R#-,5;2Gl4L-*-L-V` 57_R( ` m^,5;24L1&' 31<h3_f,-2B3Sf&nl43)A2Dc
e eI' 3@U( FW*-,)GL-2D( ,"F@p@G,"FG2I#,@G@%( &' 3@pqr#L5;2D( 5".3r#' $-@( 3$5B@2 ]#3@p.3/)' ( 31FW24@f6B@G35;*' 3-2DCTIstuvN
o o;o
295;]
X=J,"FW243-VG2^( F( 27( L"'W\ZF-3-OwQ F( 2D( L1' J,"FW243-VG296BNdc
Sf&nl;3)A2","&xlB5B3-[I\Z( F( 2D( L1' ` ' ,,y$#%6Bz;l;L-*-L1{ )G,"_R#We431FW*Ge43Al7&We7b]|-,L"F-zDNdc
|,L1F}>,"_f3rK,_U3H\
6D|-,L1F}>,_U3N~m,5;24L"&' 3I<>3_f,-2B3Sf&xl;3)A2D` F-L575B,-O6B,"&xlB5B3-[DC
67
En fait create() est une méthode abstraite et ejbCreate() correspond à son implémentation dans la classe LoanBean
68
Source: Gail Anderson, Paul Anderson, Enterprise JavaBeans Component Architecture: Designing and Coding
Enterprise Applications, Prentice Hall PTR, 0-13-035571-2, pages 456
{
*+!
5 *+!
"?
h
.
.
"$
@ *+
# ??" F
",*1?
.
?*+
$
@
a",!
.
?] @
Z# a"B_" F/]
Feb
O~#"!N ,
9a #
*+
$
N jhâðeÊ{ Ì JAe
eb
Oò*+tñI
69
Le conteneur appelle ces méthodes pour gérer le cycle de vie des EJB.
70
Invocation de la méthode create() à partir d’un client situé sur la même JVM.
71
Invocation de la méthode create() à partir d’un client situé sur une JVM différente de celle où se trouve l’EJB.
72
Par exemple une servlet, un autre EJB ou un serveur JMS
73
Ces messages sont placés dans une file d’attente (Topic ou Queue) pour ne pas obliger le client à attendre la réponse
du bean (Contrairement aux invocations qui bloquent le client tant que le bean ne lui a pas retourné une réponse).
74
Java Messaging Service
Ñ
#+ T
.*1T# @
r
-,]_(
*+ ,?
Zr" !
h)o4].r R g~)
(
*1
N
"$Z *+ ??
Z 4! =.
N !
#*1 !b
Ñ(q/!
", "
=>=##"?
!
#:
a",*1!
. K
??" [9 *4
$
[Ñ( ??
Z~.p[ a
Ê
!
#S
??" P9C Q*+
#$
C
$
~./L L"
?!Sð
"
$ l",#L
v
*+
$
+!~5; ;" ?!GÒ(
>)tfI
77
Figure 11: Cycle de vie d’un MessageDrivenBean
Ñ
#( q
.*1!T# @
T
.,]- N *1
"?*+!
reb
OD]
rb
âkpj )~)
(
8.
*1
c
:
0T ?=>=)
q
"?Ê a",*1!
. .F]!
Ê
#<
`
Z1è( #
"H
#:= ¥
I
É?
~D¦.]s "H*1H?]HÍ),×Ñi_
"¦)¨§ I
Ñ(
#×&
F! ?
A a!
h_: F
*+!
&
.*1
# @
9.
N ?]",
C Q*+
$
G N !
.>=."?eb
Oè- #
"H
F",*4*1
*+!
?F*+
$
!F 1..Z
aeb
Og~.
F N *1
ac F=) Z
#T3,2["?
!
T!î=. #Yî
?
5!
g Y
T0Y?ï*+
$
î*(?
$
_ _
*+!
#~.ñ&
v
Ì *(5
>ð
~5&*(!
$
_ Ì *(>
>ð
~.'I
75
Servlet, EJB ou tout autre classe Java.
76
Selon qu’il s’agisse d’un Topic ou d’un Queue.
77
Source: Gail Anderson, Paul Anderson, Enterprise JavaBeans Component Architecture: Designing and Coding
Enterprise Applications, Prentice Hall PTR, 0-13-035571-2, pages 456
78
Nous rappelons à ce sujet qu’avant de pouvoir invoquer les méthodes de l’EJB le client doit trouver son emplacement
sur le réseau. Cette responsabilité est confiée à l’API JNDI via un mécanisme de look up. Pour plus de détails voir snippet
2.
Ñ
#
.*1# @
5
F",
]
" [
!/
~#
(
10.
??" !
Ú*1
",*1!
. ì9 *+
$
Z
#JK
"H
~.V
k) ]Ñ-
Z.'IFOf MÏ
c"?
h
.ô*(
#
[d
#Ú!=>=#
"B
ô
a
5?
5 ì
",
+
"?
\
!+ 1",
"B
1
I
Ñ
#R U
.*1ô",!?*1*+±R N
"!
ôN
W# @ d
.&c N !5
# &:
(
11.
*(
=) ",
(1 1
#? (N
+
# Z ,
#*+!
~)*1
1(
??
" !
",*1!
. A#
"H
]*+?
K?
*+
$
"!
. Ò(>_ ~.
"?
.8
.~.p
;"
?!1
5
.*+?
##
5
.*+!
>I
v
Ñ(
#[ C
.*1C
"??? #ì
[ N
"!
LN
ì
."?
#Q,
5"ÉB
ì~#
12.
??" !
z*1
",*1?
.
.½? *+
$
"?
5~.
"?"!
.8
.~.; ;"!
?!;JK
5
.*+!
>'I
Ñ
#
.*1!
"? ,? #F
N
"!
/ N
N
.?"H
!)
(
13.
~)¡*1
ȱ
??" !
R Y",*1!
5
.W.
"H
]*+?
R?È*+
$
",*1*1
~5
. "É?~. ; N #
JK
"H
I
b @ N "c]q
.
!g
g ,
.gr *;
5
]Tg*+
#q
! Z*+!
.-
.*1Fq#!!
5
5N
c
",
:!
?!
A F!>]
5
ceb
O&
A N Ì jb
kÊOJI
v
k4
1
",
;
(",*1
<
. @
! !
.< Z#1N !
# (",*1
??
5(" \4b!0ee&"?
h
.
,
. !
d
##1
.4?1*+
# ^
]!
. 4s
`
+
.*1(# @
+
.?]
- #
;
-
#×]
;# @ d
.+b
âkpj>I
• `
+
.*1(# @
+ ?]! @
- #
% ,
5!
N !
.*+ #4Ñ;jhI
• `
.*1
,!
*+ ??
ZF H_
"$
.F
ð
" F
/Ò(b
Ñ(
•
~5b!]Ñ( ??
Z Z1>]
", ]?
N d
##+ ]
#49 N #
,
5 #I
`
+
.*1(# @
+ ]
#
(", )) ]
4b!]Ñ- I
• `
1
.*14# @
1
N !
$!
=) ",
1
N !
5) ,
4N
!
?
.
•
(!>]
"?(b ÌÌ :~>b!] Ì !
$!
=) ",
( Ì ?
$) ö!
(!>]
"? 'I
`
+
.*1(# @
+ ?]! @
-!>]
"?\i\]
+b Ì Kç' JI
• ` v
V
.*1Ú# @
V
T N
"!
î~#",*4*1
5Tî N
î~). "ÉBrN
•
.?"B
\]
+b?ð:~>b!]!4ðf.?"B
+h]
"? I
79
Transaction de base de données et non une transaction Web.
80
LDAP par exemple
81
Objet placé sur une aute JVM
`
=)# @ "?C G*+
# S
F#!=)
.a Ð"$!.ZCL
.] @ M N
",
G!.
L
`
*+
9:
5
.p
: N ?]
.
*+?
pr .
"H
I c*(_
a)
$
*+
@ H6
4#
5
5-?
.
\
]!
d
#1",*1
-
+
(
5
+ .1(=5Ü,+9 "? @
W]
.Ç
,!!
P##L5
*+!
G ï=).
Z*+!
>W",
@
:?!
# ?
; *1!
,!
1Z
5;N
#.Z *+!
IOf ]
*1*(!
5?
.
"H
@ N *+<!
^
i",)) Z\
*( # ]
]!
A!q? \
.*1^;#!; ?=#)
.\( Z
?-?1"$ *()ÉB(
#!!
. ^
( 1!
"H
-0I.3I
âF
.
?" ç)
#<F
a*(
< a *1
=) a
5
c.: Ê /",*1 ?!
5
@
c#!
##!
¡$
*+!
± È",H
)"B
YN
W
",
ïX",*4*+#"?
"H
.
@ I-kR
¡
.B#
+¡]
*+!
;#
&"?S*(
< ¡
+d
#DB),
.l
.!
",*1?
.+^É =) (&-; N #"$
.
"B
#4
\!
## \",*1
??
5^
N
",
I
Références de Cette case sert à indiquer le nom et les autres références permettant
l’application d’identifier l’application et les fonctionnalités mesurées.
Cette case sert à indiquer le cas d’utilisation pour lequel on souhaite effectuer
Cas d’utilisation
la mesure
Interprétation des écarts Cette case interprète les écarts relevés entre le benchmark et la mesure réelle
82
Somme des temps de réponse pour un composant sur le nombre de mesures prises pour le composant en question.
.4\
5
( !.
83
Entity et stateful session beans seulement.
84
Idem.
â
"? ?
.;#
",*1
×&
#< 1 N !5
4 +",*1!
. .
& ",
;? #"?11
51
•
",*1
??
5D
!
;l,
$
.C*+ #/ Qh=5)*("?I\è("? L H
1 =>=) " l]
*1
?
/9[*+
h
# ©?]
#a . @ a ",*1!
?!
5;??
$) @ 1 . @
c]
N T
a"?"?< F9T
p",
c?
#"?ouI
p",!
5
)p"?q
.
<*+&
v
"?5
5 G?
.
5Bt½
.!
!!
N ?]
[~h\5
Z
L",*1!
?!
>G
!
?
$
.F*+
# a>=5)*("?9a N !
.)
N
/*1
#F# H
# !
N .
5
.?_,×ØI
J
>
.ï
.
"$
@ X*+
&c"?>
. &
X#
#X X*1
#Y±",*1?
. .î±
"?!
. ?!
î
w #
5
.?_y*( !
.,'
",?*1*(
*+!
5 #+ (# ?,
#"? @
,!
! +#
5
5=) ?I
`
$)
Z /*("$
@ "H*1
?!
>?!
"?
]!
d
##
•
H_
"$
.
!
I
`
ì
.
"$
@ VV!
Qd
#*1
_
V
[
>] : Mh=.*("? C
•
N
",
GC
$
!CÐ
.
"H
g~)#"? @ Ð G*+ ??
Z l=>=) "$ GF
",*1!
. .(?]!
Zdh#.!
. N !
?
.
.'I
85
Par exemple lorsque l’application utilise des composants commerciaux à source fermée (par opposition aux
composants open source).
86
A l’adresse : http://www.onjava.com/pub/a/onjava/2001/12/05/optimization.html, Jack Shirazi auteur du livre Java
Performance Tuning propose une technique pour envelopper les principales classes de JDBC.
87
Objets mandataires qui reçoivent les requêtes destinées à d’autres objets avant de la leur déléguer. Cette alternative
permet de réduire le nombre de compteurs.
88
Pour la JVM 1.4 et les versions antérieures
89
Introduite dans la version 1.5 elle est plus robuste et consomme moins de ressources que JVMPI.
»7¼½
¶· ´¸º¹
£F¥©¹?§
¸ µª+©F",
. Z
) a
.=) .!
!/ 1
.
"$
@ ;a*+
# @
# ?!*1
!
9
ß `
S l Z
.
¡9C"? P
# !!
.
¡
P L!
"H
S0I 0I.3I 0I P*+
",
*+ ¡
=."H
*+!
??
*( =>=##!
>F#"? @ c /",*1!
. .[",
>
.a?
<*(
",
. Z
) +?!
s
^# ^!
5*(
@ *+!
I
•
j #
"H
. ^ #
"H
.*+?
!+ ?_?
.1",
+ N
",
I
•
O
! \
^ Z
)
$ *( +
- # I
•
è(!
*1 ! + #
# ;",?*1*(
( (# ,?
#"? ^(H
) "B
*1
*1 * I
•
) *+ \?
5*(
@ *+!
1?_?
.4",
5 @ (*+
# ^??
.*1
I
•
J *1#
?F .=) . @
!
!!
/ !
.>=."? [ b Ñ;&",
h
.?
<*+F",
. Z
)
K
",?*4*+*( Fq#??
#"?
#"? @ [*+ ??
Z a
A a]*+!
5Z#
*(
? ]*+?
4b Ñ¡?!
?"B
]
I
90
Source: Ali Syed and Jamiel Sheikh, Java Doctor, Manning Publications , Spring 2005,
http://www.theserverside.com/articles/article.tss?l=JavaDoctorBookInReview
â
5A
. @ r
.=) .
r g
#*1 <#T",
. Z
) rc=.
?!!
@ q
*+
# -Z. 4#
] (9/ ",?*4*(
4
1# ?? #"? B% . @ ?
<*+
",
. Z
) /)*+
N
??
" 1*+
# 1 "H
4"
+?1 =>=.#!
. +"
?!
!
.>=."?\; N
",
I
`
g=."B
. DC G¬¤.¦¸ ²¸ µª+©G·,£ ¬. »
¦¤)¸ ©P
C
.=) .R?!
!
. Z# Dl!>]
N
",
Ief +?!
Z. *+!
","? ?
-]
Ì j @
?!/
!
/
4
` v
\ b!]RÑ- Z*+!
\e?
. ~5b / Ñ K I~ :
5
ù:=. )
i
,
.
$,
]4;
.
5+?
# ?!
;b
R Ñ :'I
b
ÑRP!.q
#!!
.:.
*+!
[ c
.[
"?
h
.
!
"B
IfJ
h
. #!!
5
a!.
*1
.
/9?#"$
.
"H
./Z F
?
?
. ;=>=#>
. *(
<#/
>] "?
+h=.*("? I
92
Tableau 9 : Liste non exhaustive de produits utilisant JMX
b
ÑRÓ ,
T
ì=.*+!)É @
/)*+
:N
*1
,
##q
:ô
h] 9î ,
5"?ô
",
Cb!]&*( Q Z
*+!
: Ð",*1 ?!
. ì*(
.) QN
Ú# ! Ú~ J&
v
!>]
&K.!
. ×&hI>IhI 'IKJK*1*+r *(?
#r :=) Z
#D3 & Ñ1O :~*( Z g# ? #"?
Q*(
Z*+!
!?/!l
.,]!
;l%" © ;G"?¡=).*+!)É!I1j D",)# ?
","#<
.*+?
91 ib!]!O @
?*+
h
.!
91 \ #
5- ")
5\-b!]×E4
!
N
c !
.>=."?[",!
.!
F ?=.)*(
/
F ]
.[",!
.Á c"? ?? # 9:
`
>] "?1
9
*1
,
.
I \?
# \"H*1
?!
.-" ^^=).*+!)ÉA?!
s
91
Occupation de la mémoire, nombre de threads actifs, pourcentage du CPU consommé…
92
Source : Benjamin G. Sullins and Mark B. Whipple , JMX in Action, Manning, ISBN 1930110561, October 2002
93
Ces objets peuvent être aussi écrits dans un autre langage mais ils doivent être dotés d’une interface ad hoc qui
permet leur interopérabilité avec les plateformes Java.
`
Z!
5 @
=.
)
?!!
!>]
"? B)\
Z.l FÑ1O
&*( Z
*+!
•
+
!
5
.
.(/ .
>", ;*+
h
5!
^! _4","? f ", *+?
49 ,
5"?~)
`
*1
4
+
4
.A!òðfÑ I
8 !>]
ÇÑ4 >] @
M=>=# "H
} N
# Z ,
#*+?
Y Ñ1O
&î
•
#=##"?*+?
N
Z# Z
S
.+ !
.>=."? \
.+*+
5
ç)
IJ
#/]
f
5
K a# ! ?
!K
Z @
" =) @ /
Z!
5&
?
\ =h=##?
5\",
"H
.
.Bo
!>]
"? @
,
??
,?"
I
7Â"?:"ÉB
Z.]I*(
Z*+?
I *(
5&
qÑ1O c ,
p",
:
>] i
-
.*14",?*4*+/
5; 4",*1
?!
5+N
",
1",*1*+#",
"H
.
@
~5b &!h]
&feb
O'Ifâ
>F
. @ c a
.Ü,
.a=>=#5
.cb
Ñ/S ,
*+
#
v
@ M"? Ð M?
<*+M",
. Z
) Ð .=) .Q#", @ Ð! l=."H
. G
*(
5) Z
N
.!
Ê!a!
*+?
K?a",*1!
?!
5: N
",
c*( F Z
*+?
?G",*1
??
. P*(
.) lC# ! Iw8S!
#L]?
5
ZLGb / Ñ ±L
.
9M
",?*4*(
1;#?,
#"? @
!,
*( # "H*1.
]*+?
9"? ; ;
.=) .+
D",
. Z
) g0IAJ Dq=.
+
g
.)
]R=h=) ","?¡
-
>] 4 >=.*("?
N
4
",
+1
$ !4 .
"H
I
94
Monitoring, timing, relation et class-loading
95
En soi un agent ne dispose pas de capacités de communication. Il doit transiter par un connecteur pour obtenir des
capacités de communication via SNMP, http ou tout autre protocole
[
© ¨ £¬5£¸ ¨ ¨ ©¥©[¨ à £³
³
¨ ¸ ·,£ ¬¸ ¦«1©¬¥©²?¦«/¥©
»¤#ÂF¥©¥¸ ²,¬¤)¸ ´
¹!¬¸ ¦«Ö",*1*+a N ]1]
&
• ú
P
.
"$
@ PS",
5*Ó ,
)
*+?
5
S ,
; =h=) " l] / *1
?
P9Q*+
h
#G
©?]
#
/ Z. ;
",
@
!
f ",*1
??
5/#5
K
.
b Ñ;I
©Ð¨ £M³
Ä£
²!©L¥¹L³
¤.¦ #©¬Ö1 . @ N P?
$
.C!=>=.
"H
P*+
# lL
$
!L
• ú
.
"H
R f=.?
-]
.\N !
!4 R",
5* H
) *+!
5
+
.=) .q¡
",
. Z
) 3;
f0[#"? @ N ",?*1*+?
"H
[# ??
#"?
fZ<#!
f
*+ ??
Z Zd?
5F N !
?
.
×IJK*4*+a
K
./"!N ,
F
.=) .c
",
. Z
) [Î @ N =.!
) ]
Z
/"?
>
.c
$
!I
Ê
Ê5
)& F
.=) .c
v
",
. Z
) :31
0?!
h_
@ *+!
!
! ;
$
! ;",
Z
. ,
Ij
!!
-
- D
5
ig
Z
?çñ @
*(
>
.?
iR ",?
.Á i9D5
i
?]
.
*+?
5\+]
*+!
?
. Z# (~jhkÊe'I
©:¨ Ã ¦´A#©
·H¬¸ ¶¥©c¨ £:ª+© ²¹
¤.©Ö F
.=) .c
",
5 Z
) T31=. )
?!!
*+
#) @
• ú
#
] -9 ;",?*1*(
# + 4# ?,
#"? ~J 8p& *+*( #&?
$ #
Ý . @
v
!
# 1",
. Z
) 4
.=) . )*+
>
5!
h]
#< ",*1>
.*+?
N *1>
. @ H",*1 ?!
; N
",
I
©q¨ à ¦¤.»
£«
¸ ²?£ ¬¸ ¦«a¥©q¨ à ©«!¬¤#©³
¤)¸ ²!©/Ö . @ *(
5) Zc [h=.*("? F H
• ú
",?=) ±9Ç
.Y !
.>]!
5 &q /=.!
!
5D
g Y
.=) . @
F!
=."H
. ôU
.]! F", .
=>tL~#*1
s)*+
>
##Y9± ô"H
5!
5
!
.) PQ
]
#Q9Ð ,
5"?ì C
.*1Pì#!Qì N
",
I Ì ]5
[
k5
.*(!
ÐN Ì ?
."?Ò(
.zì",
)) D",
Z.
Ó
>=.)*("?
I Ì , ZG X9
Â"$ Ç?
. Z.*4*+
. ISe
.Ln.
5
5
N "H
]
.ÝF'I
ÃMÄ G
Ö
,
.
$H
]Ó ¿
) " ?
5=) .n ,
C
Ó9w N
# ?!s
$!
>
s h>ÊÊ(I b!] h=.*-"?ðf
ZI ",*i# ? #",
I $!
#*1
v
96
La plupart des profilers de la catégorie 2 et 3 offrent ce genre de fonctionnalités.
97
D. A. Menascé and V. A. F. Almeida, “Challenges in Scaling E-Business Sites," Proc. 2000 Computer Measurement
Group Conference, Orlando, FL, December 10-15, 2000.
D. A. Menascé and V. A. F. Almeida, Scaling for E-Business: technologies, models, performance, and capacity planning,
Prentice Hall, 2000.
D. A. Menascé, V. Almeida, R. Fonseca, and M. A. Mendes, "A Methodology for Workload Characterization of E-
commerce Sites,'' Proc. First ACM Conference on Electronic Commerce, Denver, CO, November 3-5, 1999.
98
Crawlers, auction proxies…
99
L’étude suivante propose une méthodologie pour analyser les comportements des robots sur les sites d’affaires
électroniques. Virgilio Almeida, Daniel Menasce, Rudolf Riedi, Rodrigo Fonseca, Wagner Meira Jr., Flavia Peligrinelli,
Analyzing Robot Behavior in E-Business Sites.
4 ? -;
# ?!
?? &
!-]("$! H1
") #
) <]*+!
4#
5
5
v
.]?F*+ Ì IÑ(
!"?a
I Ì I{I Ì *+
%#p
a
!
ÆÅ Ì
Ñ(
$
Z_=.õ:)É?
Jp$."H
.) ö!
a=eç",*4*+."?c
. N IfJ
>
.
@
=.
!
5)
.;
1 /
>
..
.
.
!
*(
< ; ",*1>
.*+?
( Z
)
$
*+ 1
] ;"$.Z+(
.]! @
H(
",
I Ì I Ñ(
!"?1
I Ì I
{I Ì *+ L]
!
*(
< ; ",*15
.*+!
5
5?
N *1
;;?1",
. Z
) (4]
.
.(9
?] s
`
3I C]
.
. @
!
!!
Ú
.ô
#
"$#"!$c ,=.*(
Q
q
.
5B.!>]
"? Pì N !
# ) !ì*( @
i=)
,!!
##< P?,]!
aaì)
"$
.I
0I k q" !
5 @
g
N !
!+
.D
\N ?=.)*+×&=)
?!!
i
> .
.r
"$
.g . @ N
.,]!
q î
.
5Í#!>]
", @
/",)# ?
q9W
.
?
I
`
:",*15
.*+?
:"? F?
",
. Z
) a ,
A.
# !!
.c9T N cN
c
Z.*1*+c
@ #
#.?]a +=."H
. ;a
!N
.//",*4*+."? "H
.
@ /
`
@ /
.
[
,
F!
#c"? =>=##!
.=."H
. I F"$ =>=)#
.
-=) <
"$ &*( @ ?
f
.
&",)# !!
9 F
.
. @ N
4]
.
?!4N
-=."H
549
+!
##I
J *1*+44!
(]
\?-Z.
$
@ +
.
.
@ N
^]
.
?
!
K
=."H
.ÇÅ "$
#N1 H
f Z
/9[
3
K 1]
.
.;a [
#*1 <#",
. Z
) / 5
`
@ N a ,
K
.
@ *+!
]
.
.# ]!
a?
<*+a",
. Z
) I
.
aN
F=."B
.
9q
!
##c",*1!5
.
.*1:#!=)
c~5
$
É;
*+
.!
@ ]
.
N "
a !
.."H
]
" N
",
I
!
f"?
.*1
v
# ??
#"?G ] GC!>]
?]?
Fd
##Ð
GL
.
.*+!
N
?]
# @ d
.P-N
4.
1# H
.
1- I
100
Source: D. A. Menascé, V. Almeida, R. Fonseca, and M. A. Mendes, "A Methodology for Workload Characterization of
E-commerce Sites,'' Proc. First ACM Conference on Electronic Commerce, Denver, CO, November 3-5, 1999.
",
,
#L C*4
#C*(_l¡=. @ N
l=."B
.P!.C!
!
C/
v
]
.
q~ Ë & Ð?
.
5ÐZ
Z<#?
î# ? !
ììH_H
.<*+ÚN @
#
]!
s
101
Figure 14: Modèle de comportement d’un visiteur relevant de la catégorie 1
`
\=) Z
# 3
3,7#=) <
.?
1 N !*1
-
.
1
?
(
4
.;
",*1*+#"?
"B
.
@ /*(
?
5
?
N ]#N
Z.!
. . @ N
]!
#] N *1"H
("H*1>
.*+?
i]
. .\ h=.*("?41 N
",
I
101
Source: D. A. Menascé, V. Almeida, R. Fonseca, and M. A. Mendes, "A Methodology for Workload Characterization of
E-commerce Sites,'' Proc. First ACM Conference on Electronic Commerce, Denver, CO, November 3-5, 1999.
102
Modèle d’interactions avec le site appelé aussi modèle de comportent dans le reste de ce document.
103
Par exemple sur les sites de commerce électronique la demande pour les pages générées automatiquement est plus
grande que sur les autres sites. Cela réduit les possibilités de mise en cache et par conséquent augmente la charge de
travail que le serveur doit traiter.
`
" =) ",
c
#
" !
N #"$
.
"H
#
a
.
/
.
"$
Z @
]!
d
#
c
!
!
P
L",,
#I+JÊN ,
?P"$#"$
.
&-?P
.
.¡Q Z " l
?
",,
)"H
. . @ N
.
!
"$ 1
.
"$
Z
N #"$
.
"H
# @
)*+
h
.!
N
>
. #L L*+
] ¡L>=.)*("?¡?i
lD
.*+ R
S
@ N
.*+ \4",Ï?
I
`
"$.Z:
.] :ð JKç#õw,
pZ#
?]
.
*+?
"H!
.Á qËc
r
v
*1
.
5R *1
!
.l*(
< RP",*45
.*+!
1
¡
.SP",*1*+#",
"H
.
@ IJ *(
(
. H
. - *+!
5^
]!
5 s
^ ,
- \!? (*4
I
•
Ñ4 !1(","$I!^.
(_
*1 @ + +
Z\95
N
!++
I
•
^ ,
- i
.!?"H
I
"B
; N !
. Z)
.+
!4+
(~ Ì JjhkI
• `
JK
- I
•
fe l
5!
@ Q"$ *(É,%# &\ð JKç.õÀ)*+
G"H*1# Ð>=.)*(",L
/ C.
v
) ,h=.*("?îB_,
.<*+ U",*4*+#"?î
"H
.
@ Y~#_!,
.*+Y8ð ,
>
",*1
! :N
q!>]
-*("$
&KN
q!>]
N
",
&MN
q!>]
Ai&KN
Z ,
#q
!q
q
c
AN
q
",
@
#
"H
.
" !
`
" =) ",
%#)ouI Ph=.*("?¡ H
+
) *+
DTõj PÎÐÏ=."B
.
/ k
!",
.^ ÑG~>õ
v
j!
.."H
", S
Ó Ò5õrj PÎÐÏ =."B
.
h k
!",
.^ ÑI
",*1
##
v v v
@ ", ,
.!
"? 4?*+
) @ & ,
f
"? ?? ##]
]
";
4
5
4",!
.
- 4
"! =) ",
I
`
N
",
F",*1*+."?F
"H
.
@ /
. @ /=)
[K F
" =) ",
/ ,
.
/]!
.F
]
#
. ;=."H
.
]!
. 4s#
"$#"$F
.
5
&=h=) "$
Z
?=.*(
ì#
] Ð?V
.
5
&# Z ,
#.
&F!
cN "$
)&=>=) "$
ZÚ
.
54]
h
.
&
*1
,
.
.
5 IJ 4=."H
. ;?!
.5
;
p3
Z +
!
34
Z;,
5
@ /~Jp,
5*+f Z ,
.
&
Z
@
?]?
d
#*1 ! 4
","$È~â! .
"B
&O ,
g ×& .
"B
Dk
5
&: #"$W
>?l
Z
v ` v
"?"? ?
i]
; ~Of,_1# @ H
&
?_(",?=) )*(
&!. @
>_&?.
_I
104
L’acronyme TPC-W désigne à la fois le benchmark, la spécification et l’application.
105
Certains auteurs affirment que TCP-W sert uniquement à comparer les performances des serveurs d’application mais
la spécification indique clairement que le système testé (SUT ou Systeme Under Test) est composé d’un serveur
machine, d’un serveur d’application, d’un serveur web, d’une base de données et d’une application. Le benchmark sert
donc à tester la performance globale de tout le système et non la performance individuelle de ses différents composants.
`
" =) ",
[=)
A
p"$ @ q
Zq q*1
#cN *(
Z
" !
&
5 T~ @
:
]) 417øO/9107
2øO
(
.*1!\;#!1*-
*1
*G~J=I,
5
3,2%#)tuI
107
Tableau 10 : Pages du site TPC-W
106
Si le système testé (SUT ou System Under Test) n’arrive pas à répondre aux requêtes qu’il reçoit au bout desdits
temps de réponse, la charge de travail doit être réduite jusqu'à ce qu’il y arrive.
107
Source: Mehdi Khouja, Farouk Kamoun, Experimenting With the TPC-W E-commerce Benchmark.
108
Selon la spécification l’utilisation d’une base de données relationnelle n’est pas obligatoire.
109
La spécification distingue entre deux types de scalabilité. La première qui est fixe affecte la taille du magasin virtuel
(augmentation du nombre de livres dans la table ITEM). La deuxième qui est variable résulte de l’augmentation du
nombre d’émulateurs (augmentation du nombre d’enregistrements dans les autres tables).
1
Ö *1
Q L",*15
.*+!
g]
.
. @
\!
!!
/ G
.Q
• Browsing mix
N ?=.)*+( 1
.
5r
@
f=)
?!!
-?,]!
41¡) "$
.I^kT"?
`
*(
< ;ù
7mQ "$.Z
14
.] , ,
Z#
#
"$#"$1N ?=.)*-
I
7mÐ# ,
5?
5^?!
Z#+ \"$
5
I
.¤ ¥©¤)¸ «» ª1¸ §Ö!
!-"?;*(
< ;"$.Z4Z# #
"$#"$4N ?=.*(
- H
• Ö
Z
49;"? 4Z#
; \
"$
5 I
`
#"?!
5
ZF"?",< ", ! ;]."$" F
Z /
.a H
5
3H0I
J *1*+
[*(?
#
/=) Z
#q3,& ["$.Z/
.] ,
Z#
>
=) " *+!
K
K
*1
.
5 @
*1
.!
1Î",*15
.*+?
54
"!)
51" ç) ?!
IJp$ @ *4
.
5
l",
l
!
.¡]
"R ¡H_,
.<*+R
. ,
.R]
G D
.
5", D$!
>
l~#","$
`
N
",
4
iðJ ñj ~#","$r
.>
\
\","$lj!
.)
>I :"H
]
.
v v
*1
.
5?!
K !
..*1
!
#F?a# @ d
. ",!
"!
]
*1
.*1
T#=)
:~5
$
É
*+IJ c !
.)
!
F!
=.!
Ê!
: H
)
!
!
Z
]%%#ØI
110
Source: Transaction Processing Performance Council (TPC), TPC-W BENCHMARK, Version 1.7, Oct 11, 2001
111
Figure 16: Modèle relationnel de données de TPC-W
ü ýfþ%± «´³ ¾"ÿ «A¸n¸ ¹ ¾ MÁ ¹ +¹"Á ¬x ÿ¾ À d¹ À «A¸P¬x ÿ
ÿ «A¸¨³¨Á ¹ ¾ Á ¨ ¾ ¨À «A¸P«¨¿ ¿ À ÿ À xÁ Á ¬xMÁ ÿ À ¿ À ÿ ¹ À «A¸
µ%± ª>Á ¨¬ ¾ ¹ ¹ ¹ ÿ « ¾ · ¹ ÿ ÿ ¹ ÿ ! #
¯ " $ ¬¨¿
`
# @ d
. ?]_
*1
.
.;
./?!
.
>
5"$
;9 ;! ? ;
!
`
T
#
T ,
Z
*+?
p
.*1
q! T
q ,
)
!
!
Z
]I
! ? ;",*4*+"??
Z
5 #*+!
9F a
ZN "?" Ief 1?!
!
>*+
1! 0
!"?)
4s
"?) R3+s
# @ d
.
.]
!
KN
:!
?
.
@
q
?!< q!
F
•
",*1!
.;~."? (# @ d
. ^
?!
Z#
\02mC\
.*4?I
"?) r0/sÊ q# @ d
.q
.]
!
N
r!
!
.
@
f ,
Í.9
# Z ,
#I
•
k;"?/",
!
$?
=) ",
,
f# @
!F~#"?# @ d
. 1,!
Z#
;x
2m
-
.*1?'I
` `
;
#
*(_
11"$! @ 1! ? 4 ,
F3,7 *1
!
. I . @ ;"?
>
.+
#
1N
",
&
`
N *1
.
=#*+ \",
^ðJ ñj
+# Z<#;
;?] 4! ? I
v v
`
T
i ,
i", "
T9R5
ir*1
#TN !
..
"H
!%%.6 #? @
!
\ q"$ @
!
",a!
##
*1
.
.U
K aK8ðr~#_,
5*ô8fð H
5'I8
!
5."H
F#?
Z
5 #*+?
#
"H
. + *1
. ^(
.*1!\=)
\
( (
5
3,2I
111
Source: Transaction Processing Performance Council (TPC), TPC BENCHMARKTM W, Version 1.7, Oct 11, 2001
112
Requêtes et réponses.
J *1*+ N
Z
" =) ",
;
d
## "H."H
.) ! (
.!
",*4!
.;;*(
<
K
1",*15
.*+?
]
.
. I Ì s
õj [ Z; 4
!
;*(
< 44",*1>
.*+?
$
Z *1 I
• v
õj f;?"
B4*(
< (.) Z *1 I
• v
õj +?"
B4*(
< 1
. Z*1 I
• v
113
Tableau 12: Pourcentage des accès à chacune des pages de TPC-W
114
Figure 17: Environnement TPC-W
NB : Le PGE génère les mêmes requêtes qu’un système de paiement en ligne utilisant SSL version 3 ou TLS
(RFC2246). Les RBE génèrent le reste des requêtes.
113
Source: Transaction Processing Performance Council (TPC), TPC-W BENCHMARK, Version 1.7, Oct 11, 2001
114
Source: Idem
~â*1
#4*1
.
.,.3 Ï4õrj ÆÏ~â*1 #1*1
.
.,.
v
]) =) "?
h
. Z
. ,=.!
f#
"H
. 1",
4!",
.=)
4
v
5
3
3I
`
l
" =) ",
R=)
;
¡!
#P*+
) @ P 1", "
P.
5
; ) ,h=.*("?
`
~)
) ,>õj f'I ) + @ ,
+",*1
#s
v
`
c
) =h=##?
. /"H*1
?!
.F*(
.)
Z " FK8ðg~ Ì
.
•
@
) - -*1
. .+ N H
( " ?I
`
[
) ,
5"!ÉB
Z ;
F Z[~J a",*1
#
[ ) ,
5
"ÉB
Z
•
+
4",!>]
+
;
!/
/ 4"?
? +
+Z#
;*1
.
.1
F)
c3,x
2-.
.;9a. ? /xF$
#
.
I
`
P" !SI 0I ÎI.3rP S
" =) ",
¡
ZG4
.g9P"? @ N K_D
)
4(
.
.*+?
5+ !
.).*1
^N 1*( 13 .
.?'I
`
;",Ï!
4
54 4
Z " -_!
!>]
H9
.
"H
&9 N
*1
,
.
+
9
•
*( !
."?+ N
",
1~jhkÊe&Hõ[Þj õ[ÞÊ;ÝI
J
&
) 4
5
5! ,
", "
. +
& 1 47;$
&
.
*+!
. ? .B#
!!*+!
ô.
z ?>]
. ",*4*+#"?z
"H
.
@
",*1.
]*+?
,(?
# ^!h]
. I
k [Z. [",*1
Z
",*4*+jhOfÑ;&K8ÊâGTÑ4 ". ?=>
i?
!!
p .
.N $
ð JKç.õ
v
. H
.Ê >=.*("?[:
.a .
5!%%.t^
f]!
.p .a*()
. FÊ.
>
9
","
)#"?I
115
Nombre de livres stockées dans la table ITEM choisi obligatoirement dans l’intervalle { 1,000; 10,000; 100,000;
1,000,000; 10,000,000}
116
Serveur d’application, base de données, serveur http…
k [",Á
.
F @
[]
*+!
p "!$
*()É ð Jç#õ±!
K?>] [
.*1
5
v
g W*1 !ïï "?UN
î?]
.
*+!
qî
. ,
)*+
>
5?
W*+
#ï
",."H
.) ?
/
f
",
a",*4*+#"?a
"H
#.
@ I Ì N a !
g
. ,
5T?
5*(
! &i N "H
]
.RZ#
l1 r*1
.
.g?
(d
##g
!
.
R9D
",
@
",*15
5!
(=."H
. *1
#! 1
f
1",*1
Ik
M M*(
< C"?*1>
.*+?
[
c Q",
Cì!",
.=)
M:
" =) ",
Y?]!
q!N ]#rN
ïZ.Y!
.W . @ N î?
$
5Y] R
!"?)
\
]?
54s
117
Les résultats des tests effectués par les compagnies qui sponsorisent le benchmark sont publiés à l’adresse :
http://www.tpc.org/tpcw/results/tpcw_price_perf_results.asp . Les résultats des autres compagnies sont publiés sur leurs
sites et/ou dans les réseaux de presse spécialisée.
118
Les pseudo-codes inclus dans les annexes de la spécification ne sont donnés qu’à titre d’exemple.
`
1
*1
. .+Z<#?
"B
]
. @
#=) <
./
@ *+!
f 4",*15
.*+!
5+
•
]
.
.-
4
;*(
< 4N =>=. #O0J~) 4*(
< +JK0JT
O0O
1?!
4
) (
",*1!
.I
ð K J ç#õ *1
l
@ *+!
- r",*1>
.*+?
5$
*(
I\j=.
-,
.
"H
l
• v
"$.Zg
.] Z#
¡4 .
5%%. @
!
+
R*(
< gR",*15
.*+!
" =) @ I
`
P"$
*()ÉP
#]!
+"
P !
.."H
l
1] D>=.)*-"?
•
!>]
"? Mi @
N *4
!!
q±
VU
Ú
î ±*(Uô",*4*+#"?
"H
.
@ I
`
;
. H
5 ??
*+
/
/?]
.
*+!
f",!
.Á @
a#=) <
.a
4=.#"?*+!
•
-",!
#. !
. \4",
!
(
-iI
119
Crawlers, shopping agents…
120
Ces affirmations sont basées sur des constats personnels dans plusieurs grands projets de développement.
121
Gestion des performances
122
Ces affirmations sont basées sur les résultats des travaux de Stacy Joines, Ruth Willenborg, Ken Hygh publiés dans le
livre Performance Analysis for Java™ Web Sites, Addison Wesley, September 10, 2002, ISBN: 0-201-84454-0
123
Figure 18: Pattern du trafic quotidien sur un site d’intermédiation financière
`
;",
.1 4
# &
5
)&
]!
d
#5=).H×"$
;;
.*1#
!=) F#=)
.
a_
*1 @ F[ N =>=)#
[ a*( *(#"$ IJ[.=.,"$
?!*+!
!
Ú!
*+!
T Y
!ôô
V*( Z
*+!
T ì
",
M
#"? @
`
=.
)
?!?
.;!>]
"?
.I
N ?=.)*(
.
!5
5;N "H
]
.
=>=#!
)&
*(
&
?
.
*1 !a","$
#"? @
.
?!
F.
*+!
??
F~.
*1*+?
c :)
"
.a a
/
.
>
5-"? ?ç",1"$Z!
^? =)# @ *4*+!
@ \",
.^ i
# ,I
`
4 ? (+!
"
)
.1=>=#
"B
.!
Z
*+?
4>=.)*("?- -
. -N !
.)*+
=) " <#IAè(!
##S N
Z
¡ Z
DDZ
.+ T
."?r
-
5!
. R T
.?
"H
!
=>=#
"B
Ç"??!ç"T
"$!Z!
P È
È",?=) !
%.6)M]
Ô
.
5",
`
!
"
) ! P~# &+KeðÝ'I4JK*4*+Ð Q*(?
#Ð D=) Z
# Q3,ùC
02Ð Q.
",
.l9C"?
.
5", Z*+?
.
/
.*1 [#!F
. !
K F
K
5*4*+!
F. ?/
">_
!
5
ZrR
- q]) =) ",
@
K
]!
+d
#¡!=h=#
"H
r
#< T
.Z
*+ -;"?5
=) ",
;~#*1
s?]) =) ",
( -
-N
1"?5
=) ",
*+) @
#< \ ) Z%.6oñI
5
)& \
. \
4$
Z
# !!
.?
+*+d*+-",."B
.) H
@ @ \
.
v
N !
.)*+
^=) " <.49 1 =h=##"? #< @ s
`
.ï
Z ï#
5 )?
R
±*1
#X
ï *1!5
5?
rN *(
Z ï~.?=.)*+Y
•
",
5
Z \]
"-
,
.4N
Z. (;#
# 4
5 =h=#
(ö!
*-I
`
;
@
!>]!
9[ Z.
",
>
Z ;?!
*( 4]
"? @
•
=>=#
\;
?
. ^ *1 !4+","$I
123
Source: Stacy Joines, Ruth Willenborg, Ken Hygh, Performance Analysis for Java™ Web Sites, Addison Wesley,
September 10, 2002, ISBN: 0-201-84454-0, pages 464
124
Numéro de carte de crédit. Numéro de compte. Identité des clients….
125
Clé publique, date d’expiration…
`
.=) " & @
, ,
4
#!]
&
>
. !
?;.,_*+
?
4)
-+=#d
.
4
•
; @
+~>]
=) Z
#P03H'I
`
N "H
]
.4 (.
5\
"? \
. \ H
",
4 + !
. ]I
•
Figure 19: Impact de l’utilisation du protocole TLS sur le débit d’une application d’e-commerce126
Figure 20: Variation du temps de réponse et du débit en fonction de la taille de la clé TLS127
*1
?=5)*(
",."B
5) ,
@
. O0Jl
K
*1"B
v
(h=.*("? ] 1! "H
(0I 0I ÎI
126
Source: Daniel A. Menascé, Virgilio A. F. Almeida, Scaling for E-Business: Technologies, Models, Performance, and
Capacity Planning, Prentice Hall, 2000, ISBN 0-13-086328-9, pages 357
127
Source: Idem
128
Figure 21: Pattern de trafic annuel sur un site de shopping
JK*1.
]*+?
?-
5 \N !
.*+
^=) " <#& ^
. +O0O
s
J !
!
*( \4Z5
$
*+ -
"
.;~)
.-",
5
Z \?!
*- +) "$
K
•
1 *(
Z @ 1"?,( i
. \N !
.*+
^=) !" <# I
è(!
*( ^(]
. . I
•
ðf.
.!
*1
#c*( a *1>
5!
F
.?"B
# %.6-~5
#.?"B
/[Z5
a*(
•
=)# @ ?
. @ R
.!?"H
:r
5 =>=#
"B
#
:
( :
. :N !
.)*+
=) " <# 'I
`
e"$Z!
;*(
?!11Z.
^=) "$
.\=.*(
. (Z AÑ ~# 1
"?1
("
•
.
5", ^
" ! +!
! +
N ekpj %#E×I
f!
]
. 4 4?
?
.
. @
H?
++
.!"
.+=."?19
."?~h]! !
"H
•
0I.3I.3\
\+
5 \9;"?+ #
>I
Ñ d*+SA"? R
. R!
D
.=) "g.
@ &(
.D",
RN !
?
¡
" "$!
1
(
.
.*+!
>z
",*1
î
Z
*(
# ?? #"? @ y
.
`
N !
.)*+
F=) " <#%#E'%'I Ì "?c #
& N
"$Z
:
A q. Z:cZ.
=) "$
. AÑ
*1
.!
;
?
. +/*1 !;","$
#
!!
@ !
. /*+*- #
N
",
I:â
5f
. @ a [
5
"? ;
. ?
!!
;!>] .
:*+ ??
Z
H_
"$ . %#E)6 @
"?!
Ê /
/
a
=) [N
>
.!
.[]!
\ ]
#- H
5 .(=) ?~#!*1
s
jhOr
Ñ ! Aõ
$# Ñ-Ò\) ?'I
128
Source: Stacy Joines, Ruth Willenborg, Ken Hygh, Performance Analysis for Java™ Web Sites, Addison Wesley,
September 10, 2002, ISBN: 0-201-84454-0, pages 464
129
Transaction au sens économique, c’est à dire l’achat et la vente des biens et/ou services
130
EDI FACT ou X.12
131
Parsing de gros fihciers XML, connexion avec des applications tierces via des middletiers, traitements batch…
132
Comme IBM's WebSphere MQSeries
8
(Z.;=>=) "?#"? @ N (?!
=)# @ !
. (?
("$
.
.
•
@ i]
. I
`
[",
5
Z[",!
!
[
Z.:*1
#aN 5
" F~#"? @
*1
.c F
?
.
•
*1 !4+","$
`
/
.
5;
]!
=. .[ N #
f[
."$<# ]?
fN d
##"$
. /~."? @
•
Z*+!
.4", .
*+!
*1
#+;# @ d
. i
.
.
?'I
8a!
?
"?")/ ;
Z!
5~)
Z[
.
?I8
a*+
%#EEAKk
•
Ì IiÑ(
!"?R
!] Ì É?
&*(!
#g9D"?g #
@ R7
7mÔ T"$<# q?!
"?
Z!
5[
!
^ N "H
]
.T ,
^
!
. ] @ T"? q q!
?
.
.
$
*(
I
`
#
]
?T
.
5q?!
^
",!>]
? Z
5*1 @
•
+ \
. \4$
Z#"? @ 1"$ @ (]!
.4
4
.4(]
.4( 91
@ c /"$<# Fa?!
"?"??
.
IJK
!
.,'
.*4 ! 9;.
+
5
4 (
.
5
I
`
N "H
]
.N !
. =) @ a a)
;]
.F ]!
.?"$<#4
5"$9
•
? =) I8?
#
%#Ep*+
qk
Ì IÑ-
!"?*-!
##&
!=>=#
& @ Î
2m
4"$<# +?!
=.
. (9 ;=) 1 "B_" 1]
"$ @ 1]!
./~>=) @
#
# !?
.
7mC; 1
#
+-]
.4 +]?
. 'I
`
? a:h=.*-"?c aÎ:",
. Z
) F
c
. @ q]F
F??
#
*+ ^
( +
5
3 I
133
Daniel A. Menascé, Vasudeva Akula, Towards Workload Characterization of Auction Sites, In Proc. Sixth IEEE
Workshop on Workload Characterization (WWC-6), Austin, TX, Oct. 27, 2003.
134
Daniel A. Menascé, Vasudeva Akula, Improving the Performance of Online Auction Sites through Closing Time
Rescheduling, September 27 - 30, 2004
` `
.=) q?!
(
+ l
5
D8ÊÑ "? @ D
Z *+ ?!
(
4 ¡ Z
Z
# Ij F*+
h
.!
a
" !K
N
.#c :
5
9[:?] ?
*(
N
",
1?;#*+
>
##;",!/ H_
!
5
!*(!
@ =)
+
; /*+
5
ç
*(
< 4 !
%#E)tuI
k 4 *+
5
çñ*(
< 1
!&
( *+!
5 @
H>]!
9 "#
+ 1
.=) -?!
,
.#
h_
& \
@
h
.-
-",?
. !
5
IJ \ *+!
5^?!
")
5-" ç
#<
I
© ²c²,¬.¤# ¦ ¬hÅ
³© ²;ÖÊ q*+
h
.!
T
" !- r!*(!
@ T : *(!
5cr*+
5 ç
ß
*(
< [
!I *1
[
#
#!!
.K "?!
F Z
Z
/b!]F K
v
Z.*1*+ÈÇ"
?!&q!
DB.!
.G È,
.#
h_
% "??
'&XXH_ *1
Z.
$
@ @
?# # !?
.; -"
?! ^
+ ;*+
>
çñ*(
<
%#EØI
135
Pierre Alain Muller, modélisation objet avec UML , Rational Software Europe, avril 1997
136
Il s’agit du méta-modèle original tel que défini par la spécification d’UML.
137
Parce qu’une exception n’est rien d’autre qu’une classe
[*( @ [ Ð =>=#."?Ð!
#ì
L"B
.
a$
*( C
a
L"H
. a*("$
Q
[
v
Z.*1*+RR",
TN !
?
&pD!
-B.!
.4 R,
.#
h_
% "B
5(& 9¡"?l*+d*+
H_
*1 I a# # !!
.a
C"
?!CN jhâðefÊ{ Ì JAeô
F Q ,
ZN
Q"
?!
v `
","#<
.&T!
Ê=. # g*+d*+T"$
!q]
": q,
.#
h_
% !
.>=.
"?) &I =) Z
#q0Î
,
#1"? ^ =>=##!
5\*1
I
Ì ] !
"!#
p
,
.#
h_
&f
=.?
]) =) @ N N
,
.:
/
a :*(
5
ç×*(
< [
!ì
C *+!
/]
"L *+d*+Q!*(!
@ I Ì !
#*+?
/Ð) @ QQ*1
`
!
*+!
\H_
?_
*( -
"( -",?=) !
I # ?
.4(]) =) N !"?
+#
"? -
5
"?4 +?] ?-,
.#
h_
-"!#
+#]
?
91 -",*1
.
`
$"FT N è( #
"H
Ñ- Z*+!
p\.
I . @ :"? a)
.c ] & a" @
<#?
+
"$*1(N
",
1 *+d*+-=.#"?+ @ - *+!
>\4*(
5
ç×*(
< 4
!I
138
Figure 23: Exemples de stéréotypes spécialisant les éléments de base du méta-modèle d’UML
138
Source: Craig Larman, An Introduction to Object-Oriented Analysis And Design And The Rup, 3 edition (October 20,
2004), Prentice Hall PTR, ISBN: 0131489062, 736 pages
139
Figure 24: Exemple d’une contrainte associée aux éléments de modélisation d’un diagramme UML
139
Source: Craig Larman, An Introduction To Object-Oriented Analysis And Design And The Rup, 3 edition (October 20,
2004), Prentice Hall PTR, ISBN: 0131489062, 736 pages
140
Basée sur la définition donnée par Pierre Alain Muller dans modélisation objet avec UML , Rational Software Europe,
avril 1997
3.2.2 L’essentiel sur le UML Profile for Schedulability, Performance, and Time
â
#4 #
"H
=
-"?
h
.+!
"H
1 N ,
\N
(
5 ? 1",!
.
(1"?
.=) ?*(
# !!
. 1 *+?
5 @
)*+
h
.!
N
. "$
*(ÉB1
f *+
) @ 4
`
>=.)*("?; (
Z.*4*+ (N 8ÊÑ Ij? ,
*45
5?
. @ "?
.=) N ,
r!
T
.)
]g
?
IJK*1*+gq N ][]
q r!
"H
r
#
"? !
.&Ê
`
5
ô8ÊÑ ,
c!
.
Ú9ï N ?=) IJ
>
.V!
.
.V",?=#<#Ú? @
Ð
]
*+!
1 D.
-¡"#
; ;
. #S
5=) p; S
r r,
.#
h_
&A
@
>
.
",?
. !
.
I
K
#a>
&/#
",*1*( N !
!
.=)
v
,
5
. ! \",*1*+Qð %5%#"? @ s
v
j \??
! ^ (*+
.+
>
.)\; N ,
) I
j )*+
>
.?
? @
F]
*+!
F
!N
a#=##?
",*1*1
N 5
.=."B
5/"? @
,
c
"? ?
.a
F Z.
F
.B#
5a]
*+!
@
=.!
!
.>]
^"B
.
5-!
.) ^9 N !
# ) !I
j L?!
F
5
. Ð
.Ð
.=) .C
Z " LÚ*(
?
ì~
?=5
#
& $?
_&?è- #
"H
.
) Z;f=>
#ÝF'I
141
Cet acronyme désigne le UML Profile for Schedulability, Performance, and Time
.4\
5
f?çñ
.=) k !") !
{
)
T V,
.#
h_
&[ ô
@
>
. ô
T ô",!
. !
. U
JK"
)#?
. *(
![ P
"H
5P","
)#?
PN
Q
",
LLQ?
~#","
#"B_! ?]
.
*+?
-*(
.)
Z " ~#",*1*+R N
"!
q c
$
#
&p
?]",
\H_
"$ . ^
H_
"$
. &+ @ ÝF
{
)
a *+?
5F*(
?
@
)*+
>
.?
q#
#!!
.
=) ",
","?!
5[r
=) "H
:",*4*+r :
) )
.
&K :
#
"? "?
&
v
~#"$
h_ 4]*+!
5+
" "!$
.;~>
) Z
Z.,& />
5 Z
N =>=#
"H
5
1
# ??
#"?Ý
çðf *+ {
)
!*1
ÚN !
.
c
?
5q M *+?
5Ð
Jè+ÊO Ì *(
?
S-?,çñ
5=) ?
=) ",
(?(
",
(JKè+ÊO Ì I
{
)
[ Ð *+!
>Cô*(
?
Ú
!
. Z# ì*+
#
`
@ !
5
] 4 F>=.*("??;
Z.*4*+ 4N 8ÊÑ Ie
5!
>=.*("?
v N #
"H
=L
# !!
?? &+²!©¹
¨ ²G·?©¤5¬5£¸ «²D¥©Ð·?© ²l¨ ª+©«!¬5²D²!©¤.¦«?¬
¬¹¥¸  ²(¥
£«²+¨ £1²¹
¸ ¬.©+¥©4·?©¬>¬.©+²!©
·H¬¸ ¦«¼
142
Figure 25: Structure du profil RTP
142
Source: OMG, UML Profile for Schedulability, Performance, and Time Specification, September 2003
Version 1.0
`
*+!
5rS*(
?
¡#
=.r?¡>=5)*("? r??
(
")
5rg
5 K
N
0Ik"?
,?/ N /!
! @ N
??ç!*1
"? *+!
>
a
;B.!
.f?
Z.*1*+
","$F
!
/N ,
."H
",*1
.I
`
.T"$ TD
#T!
$
Z D]c"?",.D D ) *(g9D g *1
"
.&9¡
#
# !?
5
]
.4
9
.I
k+ +=) Z #40÷s
¢ ©¤>¶)ª(£«·?© ¦«!¬.©!§!¬;5
??*1
P =>=##?
5!",)
D~ "?)
@
p)*+
>
.?
+
é v
" =) D ï>=.)*("? ôX N
",
UUY?ï?]
.
*+!
143 Ic
R
`
Z.*1*+4N 8ÊÑ "? (!"?)
4??
f# # !!
5 49F N ;,
.#
h_
% Ì ",!
.!
,&I
v
k+ +]5 (=h=) " 41
.=) !ð "
1
@
>
.; N ,
??"
49 % Ì ",!
.!
,&I
v v
¢ ¬.©³S# # !?
.¡9G N !
.)
4N
R!"?) &\ l
5P5
"
<#¡ D N
"!
Õ
N
4"H
%5 If(,
.#
_
1 ,
% Ì H
.- &I?ð_
@ *+!
H ,
.4 \"H
v
T *+ ??
Z
Z.*4*+
q! @ "?r*( c"?
^?
Z N ,
^
*1
5
=#%5×ouI
.G
@
h
. C*+
h
.!
@ =) [ P *+!
5SM*(
?
L? @
v `
Ì ,
.' &+ H
,?" I +
+5
!
5\(Z
.1?4 ? \4"?
??B?!
s
%
v
Ì # !ðf *+s,
.*1^;.!4+
.I
v
Ì *(/sH
.*1i
5
5,# @
+
"?
. 1
.I
v
Ì #s *1
#+-=. @ 1
.( ,
#
.+
+
4*+d*+4!"?) I
v
Ì _s! BN
>
.?
.4!
#; N
"!
(+?-1
.\
.I
v
:¦/¤ .?¨ ¦
£
¥±*+
î
" =) ï"$.ZîV
.] Icef U H
r# # ?!
.
î
` `
Z.*1*+(9/ N ; -,
.#
h_
% Ì
&1
% Ì "
!
&I
.=)
` v v
Ì
&[",)# !c9q
c*1 #a])
# @ d
. @
Ê
,
)
!
%
v `
,
5
H
@
I % Ì "
!
&/F#]"$ Z[
F*1
#=) N !
?
.
.
v
@
\ !
..
Z ?!!
]
"S N
",
SS?P?] .
*+!
*(_
?
/
l
.*1¡
`
#=)
±~>
$
Éì
*+¡!
#X ô =h=##?
. ï !
5."H
I ï
) " î
@
>
.
??"
\91"? \,(H
5#
h_
^??
s
Ì
) )
h_s
) )
.+; 1"$.Z4(
#.] I
v `
Ì "?"
)#"?s! H
)
!
(,
5
,
@ 4 % Ì
&
v ` v
Ì
s?
5 4 % Ì "
!
&1~.?
!*1
#+N !
?
.
.,I
v v
143
Par exemple il peut être utilisé pour décrire un scénario d’heures de pointe pendant lesquelles la charge de travail
traitée par le processeur atteint son paroxysme.
144
Par exemple l’initialisation d’une servlet
145
Consulter l’annexe 2 pour connaître la liste des méta-classes associées à ce stéréotype
¢ g © ²?¦¹
¤#·?©g ZD
q
=\
+ @ K :!"?)
??
\
"?
. T~#",*1*+D
*1
s
."? ?! &
1!>]
/
5 ,
5"ÉB
Z 'I % Ì $
,
0&)*+
/
` v
,
.#
h_
\
Z5*1*+ I + ) " \
@
>
. @
?
B??
,?"
\?!
)s
146
Figure 26: Sous-profil de performance tel que défini par UML RTP
â : N .:
:
: c
: q !") !
*+!
5aq
.=) ð #"? @
v
P
?P ?*( PC
5C P,
.#
h_
G
@
>
. C "? ?? # C
`
" =) \ *+
) @ [ g5
q0T
\
Z.*4*+
N 8ÊÑ IKJK*4!
.
.
:
!*(!
@ @ N B.!
.!
^*+
5
ç×*(
< g"? :,
.#
h_
q
\
@
>
5 rD?],
d
#r
. @ r ( :
Z.*4*+ @
#!=) <
5!
- *1
"
.*+?
iT
"
.*+!
-
"H
5^
]!
54s
à £
²³©
·H¬¬.©ª1³¦¤#©¨Ö @ N 1#
.?]+
\
Z.*4*+ \+! @ "?;*- \?B
• ß
\
Z.*4*+ ^N
5
N "H
]
.I
146
Source: OMG, UMLTM Profile for Schedulability, Performance, and Time Specification, September 2003
Version 1.0
à £
²³
©
·H¬V·,¦¨ ¨ £´¦¤.£ ¬¸ ¶fÖ @ N #
.?]
"
.*+!
Ú
U
Z.*1*+
• ß
", .
,! @ "?4
5"
.*+!
\
Z.*4*+ \4",
^N !
?
I
à £
²³©
·H¬
¶.¦«·B¬¸ ¦«
«©¨ Ö .Í#
. -",
^N !
?
I
• ß
k a
.Fa"?
>
.F?
"H
a
. ?*1
","#
5
N !
?
1
.=) !ð
" = + ? \1>=.*("?I
v
Figure 27: Exemple d’annotations ajoutées aux diagrammes de cas d’utilisation
<<PAopenLoad>>
{PArespTime=('8','s')
<<PAstep>>
Visualiser le contenu du panier <<PAstep>>
<<PAstep>> d'achat Afficher page d'accueil
Log in
<<PAopenLoad>>
{PArespTime=('9','s')
<<PAstep>>
Recherche par auteur
<<PAstep>>
Parcourir la liste des livres
Client
<<PAstep>>
Ouvrir un compte
<<PAstep>>
Annuler une commande
<<PAstep>>
Passer à la caisse
`
=) Z
#
0q ,
# [
) " ?
",
FN ?
?
[
a
.ca]?
5cq ]
#I
"?
>
.1=) Z
#4]+
" =)
.*14/#!!1
.*+ @ F
ZN "?"
N =>=) "$×Iâ+]+
??" / ,
.#
h_
% Ì ,
.- &1;",
+N !
?
ÍÅ =>=) "$
v `
ZDN "?" NA
;*( @ ;
¡
5S*1N !
# r
R N !
?
gg
.I
.*1(~ Ì # ,ðf *+ H
!
) *+49 N 4+",
;~~ Å xN & N N Z
=) !
x+!
",
I
v
ÃMÄ Öj?,
*1>
5!
!
. @ (H
.#
h_
(
+
@
>
. - .=) ð ?]!
v
Z??
4 +>=.)*("?\?
$
.
@ +h=.*("? -*(
#
!5% ñØI
147
C’est à dire les performances réelles.
`
Z.*1*+DN "H
]
.RS R=) Z
#D0xP ,
#S R !
.."H
1 ", .
D
"? ?? # L
/=>=) "$a L ?=.)*(
SN
Q
.
9ì5
/C
?Q
! S
\ =>=.#?
. !%5×uI
+"?R
Z.*4*+RR.
.?]&A?
#R!
##
&Ê
g ",
T
4 l*1
#RN "?"?<
","
)#?
T~7ÒâÊ8!.,&p
H
*(
~#,
>(
.*1q*(_~*+ !1# @
T~~Å # @ N
D",*1
.D"$ @ W
.&: @ N
",
Y
l ±
.*1îÇ#=)
~ Ì k _( Ì _'I
v v
!;=.*1 ) !N ]!
5
Z]
"; 1 *+!
54;??çñ
.=)
ð
f F*(
?
v ` v
8ÊÑ
( c
",
cr",*1*+#"?r
"B
5
@ gq#
",*4*(!
q R
"H
#
\?1 ]
#\
]?
54s
` `
fO )"? i!kZ
?
& 4ðf *+U8ÊÑ s Ì ]"? Mðf$U8Ñ =. çðf *+
• v
_,
.*-
&ðf$
.e
& Ì
?õ _&{
)>_02&02
2 &fj KOâps2 çÎ 03HçØ3,÷
2
÷ ç)0&
7 0
Z
kZ
!
.Zq&fø
",
>
& Ì
_
Z8!cJK
!:k) ]Fè( #
"H
ÊÑ- Z-
$
• `
8ÊÑ s Ì Ì
5
. Fç×JK*1*+#"?[e*1
& Ì
?;õ _&{ .,
e
b
:3 &
02
23&
j KOâps2ç)023Hç
Î
2
Î ù çØ3&3,
÷
Z
148
Celle qui contient les prix est sécurisée mais celle qui contient les autres informations relatives au produit ne l’est pas.
149
Figure 28: Exemple d’annotations ajoutées aux diagrammes d’activité
132 4 5687 9:5;<5= >5= ?A@BC(CD5= @85DEF5= >5= EF5@G= 5IHKJ7 J;J<5 HKJ7 J;J<5
149
Source: Early Evaluation of Software Performance based on the UML Performance Profile, Gordon Ping Gu and
Dorina C. Petriu, Department of Systems and Computer Engineering, Carleton University, Ottawa
k-"?
h
.4#"$
.
"B
#; ^b " *1
!
?4.Á 1s
v
J
",!
.Á
"$5Z ) ZK /# @ d
. !
.!
.1]./
b!]!cO @
•
",
+
5?
.
Z @ 4N =>=. #+
"? ,? # !
i
.
.I
J
S g]
@
p)*+
-g" !
-N !
..
Z -]
" N
",
g
-N =>=) "$1
•
#
5
i
#.
.*+?
5^=>=#
"B
( +b!]O I
150
Cette architecture a été initialement conçue par SmallTlak au début des années 80
151
Source : Govind Seshadri, Understanding JavaServer Pages Model 2 architecture,
http://www.javaworld.com/javaworld/jw-12-1999/jw-12-ssj-jspmvc.html
k1 (
",
(4
5 *(_
1]
1 + @
4
(
" !
&
\.Z
*+?
5-] @ (4?!
+#
"?]
I
jH ,
]
. @ N B.!
\",*1
??
5-
c","$ [Z*+?
.!
^ :
.*1[r#!r*( c",*4*+: N ]a]
:
:
5
/0& [>=.)*("?F N ,
1!
*+!
=h=. #/
.*1*( Z
*+!
=>=. #+1",Ï?
5 I
152
C'est-à-dire qu’ils sont capables de développer en Java, HTML, Javascript et tout autre technologie qui peut rentrer
dans la construction de l’application
f
ZG
. @ Ð G# @ d
.G N !
@ N
P!
- !
N !
#
P].
N
",
C . @ Ð
Q N #"$
.
"H
#Ñ-
3P"$ @ Qb ",H
M !
v
N !
#
4? IkKN *1
;
).
# *+ @ "?; Z
.] @
",Z ,
X# @ d
.YÇ
]WX",!
#.Á
l
l!l",! @ ?
S
Ç#
>.Ç
X
"$*1 *+?
].S Ñ-
I
O gjq)\lZ Y q)\3Oyqzg3U\'Plh|{PSRlVF\Sh}uUg#VK\3OKOKY RKeY OxVXPSn n \ShzopgjU0_DO g-Y[Z~O-Z Y q)\Z g-O3Z PSU8ZSo[Y n n Y RKeY RZ Wl\'W#gjn \3O
Y RZ Wl\`a3cPjUVXWSY[Z[\SV Z^] U\K_OjZ PSU8Z Y RKet Y[Z WZ Wl\VFgjRDZ Ugjn n \3Uv:gZNgjRSn sY OZ Wl\VFgjRZ Ugjn n \3UZ Wl\o[Y U/O3Z
uIgjY RDZDg#oIVFgjRDZ PlVZ(opg3UU\Sl]\3OjZ OX_|Y[ZY OzPSn O gZ Wl\xun PlVK\ Wl\3U\ \rWSPN{\Z Wl\rqzgjOjZuUgFe(U/PSq'q-Y RKe
K#§ ¦ x¨l
.”
153
William Crawford, Jonathan Kaplan, J2EE Design Patterns, O'Reilly, September 2003, 0-596-00427-3, pages 368
154
Source: idem
155
Source: Small servlets versus front controller strategy. From IBM Software Group Services Performance Workshop
presented by Stacy Joines, 2001, Hursley, U.K. © IBM Corp. 2001. Reprinted by permission of IBM Corp.
Figure 32: Génération dynamique des pages web par assemblage de composants (pattern du composite view)156
156
Sun Microsystems, Core J2EE Pattern Catalog,
http://java.sun.com/blueprints/corej2eepatterns/Patterns/CompositeView.html
k M C
",
Lb!] M
Z C?!
F
h_
@ *+!
[",*1 !
C!
ì
.\ i
.
"$
@ ( ?=).s
8
?
*+
",
*(:N " !
. Z#:?[b s
:c",*1*+q
=.!
• ` v
=).*+ ÐN òðÑ &/"?
h
.
.
"$
@ î)*+
N ",)#c9U ]
î
î
ZÚ9
N !
.)
cN
Ú!
#IFâC]).Ð
î5
V7 @ Ú?=h=) ","
.V ,
.
1
h_
N " /!
!
F~) " #
"H
] ]. " "H
9g g
#q",!
.
T " ~.,
5
@ q:_
*1 @ IÊefT#< Z qZ5 =.!
]
.; N !
! . @ ; 1",!
.
4 ",)# 1!
\d
##;*1 -(","!$I
8
?
b!]O s b!]O ?!
/",*1
?!
5!) ?
@
•
=.!
f*( ? ]*+?
!?
. 4N !
#
!#?5
~×j #è^K
?
# F. ,
5"?
. .
)
.
I @ "? 4
+?!
",Ï!
5? *+*( #&
.
"? ?!
.*1[#!& =.!
#
#
!
?
//,
) "H
*1
*1 * Ij=.!
?
."?",
#"
q
#
ôV]
U
r#
#Y
r5
.
Y~5!", D q]
.
"?"
r
!
Tg g*+*( # . @ g ]
N R
q ? IÊef,=) r =.!
??_
(
5!
. *(
#
?
,
5
"ÉH
. )
. 4 +b?]aO
g ¡
! gl
¾#"? @ N RZ<#!
¡*1 ! g9T.
*1
~)
.f
-!=h=) ","?*+!
@ ; 4H_H
.<*(4-=) "$ .+~)
.\N !
##
^?>
1j #è^'I
\*1
&K q
T
.
"$.Z^9R*( !
.q#
) ! T
r
ir R
Z
&p ,
v
?
4,
5"ÉH F*+*( #","$
.!;=.ÜH;9?
Z
.=) "
`
# ! 1
9/#
. 1
.*1(#!#Ü " !
I /
) " ; =>=) "
.
]
"+"?
>
.1
.
"$
@
5
9 ;=)# @ "? /*1 ? 9\.
[;","$Iâ*( *+!
"!N ,
!>]
N ]5
Ê [" !
. @ c
/"$Z!
*( F*( $
#!*+?
`
.!.[
>
.!
Ê
F"?*(
c",*1*4
",
I *(
<
i]!
@ a F",*1*1
",
,
a
.!.
IJÊN ,
"19F?N ]) =) f9[
?
#"? @ l r
R N !
1 "$ZIiJ
>
.]) =) ",
g
(d
##R"?",
1 N !
?
(1"?
h
.(
.
"$
@ 4
d
#;#*1 !1 @ H
I
â Ocs 1
. ) (4
5
Z (
" ! +",*4*+ è\JK"$;=>=#!
1? !
1",*1
<
.
Ê
*1
l
+",
"$(g*+
h
#g
- @ l T =>=##?
5r",*1
??
5TN
gb IJ
v
. # \!.?
^]
"(
\+
5 \
!+ >
17I
157
Dans la plupart des cas les informations stockées dans les sessions expirent lorsque le client ferme le navigateur, se
déconnecte (log out), se dirige vers un autre site ou encore lorsque la durée de la session est révolue.
158
Champs dont l’attribut TYPE est égal à HIDDEN.
© ²c·,¦
¦ .?¸ © ² Ö"$,'qq",."H
.<#
!
q
=) "$
\ q @ q
• ß
" !
I Ì *( @ N ; ? !
@
& +
+,
5"ÉH
+
4",
>
."$H'
?!
#.*1 ! :9D N
",
:õq9g"$ @ =5 @ N
R# @ d
.R
>]
!
i
*+d*+4" !
I
£
¤#Â
Â
·¤)¸ ¬¹
¤#©/¥Ã g Ö"?
h
./
.
"$
@ F H
f??]!
!
!
[ . @ [ F" !
K
@ [
• ß Ù ß
#
"?!
F ",
É? Ifef
", ,
.[9
B.!
.p
!
=) !
Ê
@ [9[
5a a
$?_
5
.?
. @
B!(
5?]!
+]
I Ì "$ @ -=. @ 1" !
" @ 4
"? +
î# @ d
.V",?
.!
: N !
=) !
@ V ,
c?]_
Ú9U N
",
V
q
)*+
>
##4; # ",
,
#I
© ²£¤5¬¸ ¶)¸ ·?© ²¥Â
·¤)¸ ¬5²;·¸ ©×¥© ²?²¹²;¶.¦«!¬£³
³©¨º¥© ²¥
¦«
«Â
© ²F¸ «²!¤#Â
© ² ¥
£«²/¨ £Æ
¹©/¦¹²¹
¤¨ ©
ß
¥¸ ²?湩a¥¹
¤¥¹·¨ ¸ ©«!¬¼ ¨ ²¥Â
·?©«!¬¤.£¨ ¸ ²!©«!¬Ê¨ £a»© ²,¬¸ ¦«/¥© ²²!© ²?²¸ ¦«²£¹[«
¸ Æ© £¹/¥©c¨ £[·,¦¹·Ä©
ë
¥©L³
¤# ²!©«!¬5£ ¬¸ ¦«¼ ©¬>¬.©l¥Â
·?©«!¬¤.£¨ ¸ ²?£ ¬¸ ¦«P³©¹!¬1²Ã £Æ¤#©¤+¶.£ ¬5£¨ ©L³¦¹
¤/¨ £C³©¤>¶.¦¤ª(£«·?©l¥©
é
¨ Ã £³
³
¨ ¸ ·,£ ¬¸ ¦«1·,£¤fÖ
`
N !
?
GM C
.
"$
@ C P"$*1P","$ S]
"G ì*+
$
è\ð%.oq
• v
",!
Z!
.g q @ ?
.Tq
: "$Z
r!
##g r" !
^ q!>]
I Ì
*+
# @ 1"?
h
. @ !
51".,)
# ! (N Z
5Z1
+
.*1\N "$*1 *+!
# @ d
. ]5+ 4!>] Z*+!
.
%.t×ØI
` `
F#
")
#N 8Ê Z*+!
.
.*1
"? ?? #
Z# ]
f#
f
•
?
. \ *1 !4+"H"$I
`
]$
"
!
#
[" !
a!>]
ÊF?!
!
#!
!
FÊ
•
=>=##?
5[",*1
?!
>!%.t%T N
",
IKef a
]!
pd
##T#ç",
"H
.
a9"$ @
=. @ N
P",*1
?!
SÐ ? I;jiL#
.G P#
"? ¡
P N ?]
#
"??
C G
G
[
ì*(?] !C=.
"H
>) ?
CC",
ÐM ] C
",*1
??
5
I
`
Ñ(d*+/N N
K ",
É? F
#
")
# #N 8Ê & [*+
",
*+/Z ,
! ? [ !
. Z#a["ÉB
Zô.]I !>]
I$?
>
Ihòf
>
? [*+
c#
#a=.Ü,
Z
=) ",
] @ !
.4
4
i]$
"
-?
#; 1" !
+!>] ×I
159
La méthode GET en revanche limite cette quantité à 240 caractères
160
A en croire un article paru sur precisejava.com la performance diminuerait de façon inversement proportionnelle à la
quantité de donnée véhiculée. Pour plus de détails voir Ravi Kalidindi and Rohini Datla , Best Practices to improve
performance in Servlets, http://www.precisejava.com/javaperf/j2ee/Servlets.htm#Servlets106
161
Servlets, JSP …
Figure 33: Gestion des sessions par le biais du mécanisme intégré à l’objet HttpSession 164
`
" =) ",
rb!0eeÐ
N =>=)#R9¡"?c.
("
D*(_D
Ô
=.
4 R
5 RS
D
*+*( #a"?"
:Ê / #
5ò
h
?
*- a
.
"$
@ /
")
5 " ç) ??
)*+
>
.?
N )Z
.
Z# ? I
JK?=) Z
# /",!
. =.Ü, 9a *1
. F*1
#N #
5ò
h
? "#
•
N
",
I
5"ÉH!
*+?
4" %.to
; + #
5ò
>
? ;
",!>]f /# ,
.
•
]
.D
l Q
!P
P
DL N
",
I Ì ]
"D",
h
.l
.
"$
@ C Ê=.!
&
"?
!
&?N
h
.#+9
4Z*+?
5
-\
.*1\;#!!I
#a
#
/]
; #
5/ò
>
? =) @ a ",!
.
?!a #
•
q T*+*( #q . @ :" !
#d
.
N !
..
Z ]
"[ c
.IJ
>
.# "H
[
&
*(
&M
.
Y",*4!
.| ",
N !
?
#
X
y5
X
=."H
*+!
lZ c N
",
I P*1
:Ô!
! W #
5
v
ò
>
? Q /H
5"ÉBa S5
" SN
Q
/N "$
)&; =.?
/]
./
L
#.
."?",
#" p
K
#
[F]
I c :
p) @ [[!F]
K]!
@ :
" !
N
f
.*14
?!9F /", ?!I Ì N
! 4
#
4;]
",
5
. +?!
f
5 #
M
T M
. ÐN !
.)*+
M=) " <#U#"? @ N ì",!
)
!
c
#?=.#"?*+?
!
" )
.IJ
)& F
>
1",!
. .4
>
#)
!
=.?
#
]
.Î
2[*1
!
. ? #
>ïò
>
? *( "?
h
./
#
[!
d
#/!?*(
=)
/9a5
f",
/F N
",
",*4*+a ].;
5
17I
Figure 34: Impact de la taille d’un objet HttpSession sur le débit du Websphere Application Server166
165
Rappelons que les objets HttpSession sont des Hastables qui stockent les données dans un vecteur (clef, valeur).
166
Source : Harvey W. Gunther, WebSphere Application Server, Development Best Practices for Performance and
Scalability, IBM White Paper, September 7, 2000
j !
. Z#9 N
",
4=."B
. @
*+
1" !
1!; ",
"H
.~)
Z
• `
!
5K9[ /=) F"$ @ ]
.I N #
"H
=
5!
fN ,] K N #
Kò
>
? @
.4
h
)
4< + 1 >]"?4 1
",
IJ
>
.(
.
"$
@ # !?
.+
5?
.=.
a *1
. /
")
. /
!"?
K!
#.
]
# h=.*("? Ì _ =.b?] ªÈõ
v
. %.t×ØI
«¬® ¯ ° ±²±³,±K´¶µF·}·¸±K¹ º»° µ¶¼#µ3½K¾|¿ ±X»j¾[½À³,±AÁk²l±ºFµ ¹Â ¾³,±F» ° ° ñÄÀÅ#±K´X¾¯ ¾N¾ µ+ÆÀµ °ÈDZÉyÊ#ÊËÆA±FÆÀÆÀ¯ µK¹
·Ì» ¹F»A¼#±F·¸±F¹3¾I¿ µF³Ãµj½À³y²l±KÍÆÀ¯ ¾ ±KÎÐÏ#»3ºF° ÃKÁз}µKÆF¾|½AÆA±X³0Æz¹±DDZX³Ñ¾ µ3½X´¶¾ ±° µ¶¼Sµj½K¾Í3½K¾ ¾ µK¹KÆzµK¹²l±KÍ
ÆÀ¯ ¾ ±Fƾ ±ÒÃQǯ ÆÀ¯ ¾ Î|Ó̵KÆF¾Ð½AÆA±X³,ÆÔ½AÆF¾·}µ(DZ¾ µÕ¾ ±¹ ±Äj¾²±FÍ+ÆÀ¯ ¾ ±²#¯ ¾ Kµ3½ ¾¿ µF³È·Ì»° ° ð µÀ¼K¼S¯ ¹¶¼µ3½K¾Iµ ¿
õ3½À³0ÆAÎÐÏlµXÁ}²#K¯ ° ±¯ ¾#Åj³0µ(ǯ º ±KÆ)ÆÀµF·¸±Í ±F¹ ±K¿ ¯ ¾ ÆÁ¾ ±° µ¶¼#µj½K¾I¿p½A¹ ´X¾ ¯ µK¹¯ Æ)µK¹ ° Ã+»)Åj»K³¾Iµ ¿I» ¹µ(DZX³È»° °
ÉyÊSÊËrÆA±FÆÀÆÀ¯ µK¹k·Ì»¹F»À¼l±X·¸±K¹j¾KÆF¾ ³È»j¾ ±¼FÃ3ÎjÖ ¿Aõ3½À³²l±K͸»AÅKÅ#° ¯ ´»j¾ ¯ µK¹yF»¹ ºF° ±FÆÑÆA±F¹KÆÀ¯ ¾ ¯ÈDZkºF»S¾ »'×pÆF½X´¶¸» Æ
¿ ¯ ¹F»¹ ´¶¯ »°S¯ ¹¿ µF³È·Ì»S¾ ¯ µ ¹ØÑ» ¹ ºz·Ì»¶ÃrÍ ±-»´À´À±FÆÀÆA±Kº)¿ ³0µF·Ù»ÆAF»K³,±Kº²#µF³ÈÚAÆF¾ »j¾ ¯ µK¹)µF³ÐÚA¯ µKƶڶÁ|´¶µK¹KÆÀ¯ ºK±X³Ð»
° µ¶¼#µ3½K¾ ¿p½X¹ ´X¾ ¯ µK¹x¾ µyÍ ±}»k³,±KÛ3½A¯ ³,±X·k±F¹3¾ Î3ÜKµ¶¼ ¼S¯ ¹¶¼-µj½K¾¶Åj³,±DÇ8±F¹3¾ ÆÑÆF½AÍKÆA±KÛ3½X±F¹3¾j½AÆA±X³0ÆÌ¿ ³0µF·QµKÍ3¾ » ¯ ¹ ¯ ¹À¼'»
Åj³,±Dǯ µ3½AÆfǯ ÆÀ¯ ¾ µF³À ÆÕ¯ ¹ ¿ µF³È·Ì»S¾ ¯ µK¹Tǯ »» ¹b±Ä ¯ ÆF¾ ¯ ¹À¼fÉyÊSÊËÆA±FÆÀÆÀ¯ µK¹ ÎÑÝI»j¾ ½À³0» ° ° ÃKÁy¾ ±FÆA±»ÀÅKÅ#° ¯ ´»j¾ ¯ µK¹KÆ
¼#±F¹ ±X³0» ° ° ÃÆF½ÅKÅ#µF³¾l»bDZX³ ÃÆÀKµF³¾DÉyÊSÊËÆA±FÆÀÆÀ¯ µK¹+¾ ¯ ·¸±Kµ3½K¾D¯ ¹3¾ ±X³ÒÇ/» °#» ¹ º)·}»¶Ã¿ µF³,´À±)»r° µ¶¼Sµ3½ ¾l»¿^¾ ±X³
*1
f N #
"H
=pr N Z
)
$
*+c]
: ,
p
]) =) @ N
q
*+.
v
," 5
.RD"#
4# "H
.¡ D,
)"H
#SÑ- ,
.4JK.D j Ì &i !.
-9P
#*1 <#]
).?
c N *1
*+?
5[
] /!>] IJ
Z
)
$
*+a ,
=>=#
" Ifk
V V
=)# @ !
5V9X
î!>] r H
5!
g?]?
g N
!R
!
*+!
r
Z*+!
.c Ð
.*1LÚ#!Ú#Üìc ì" !
I/efì#]"$M1 N #
"H
=a
N Z
)
$
*+
,
F]) =) @ : :
*+.
: ",5
.[
"#
K
,
.[
a
![
[r @ T ,
@ N f N
c
.
!r^
.!
.
A
r T",5
.&?
*1
*+!
5
S4
] ((!>]
]
!
"H!
5
)
I
167
Stacy Joines,Ruth Willenborg, Ken Hygh, Performance Analysis for Java™ Web Sites, Addison Wesley, September
10, 2002, 0-201-84454-0, pages 464
8 +!
#
.
<*+
? ;",."H
.<#+=.5
.*+!
,
)
1\i4 ,
",
H -!") !
5
" !
5g
@ ¡ S]
N S"
D=.)*+lS",?
.Á I Ì Ê S" !
?"H
] N !
.)
#
5
FFb!]
!") !
Ka !") !
K
?c
.!A
]
,
Z4N *1
*+?
.
(?
<*+;*+
",
*++(]
(4
] -(!>] ×I
]
. ;]a
]
!
K
!
!
##
.?
N
",
& F]
!
v
5 .
.c !#p
a?c",
: c ,
#)"H
]) =) pb!]
!"!) !
Ê !") ,
?!
"H
] +
H
. " !
#%.tuIk N =>=) *(
# ]&
;]
;
]
V!>]
V=#.
@ N "?".,
#Y ô
.*1
Y#!U
r ï",!*1*(
V
# ??
#"?
I
ò
*+!
& ;!") ?
5
*+ ??
Z ;]!
?!
Z# ;_
*1 @ *+?
9q5
N
=) "$
. ??
#"? [>
5
Z
F",*1*+c"?
!
!Ê
#)!
5[~ ? #"?
`
Of
ic",
[
i*(
*+?
Ê
c
]
I r
#*1 <#:
5"$
=."
.T
*( !
."?;4",
*- + ; 1#
5*1
4 Z Z
(
1>=.*("?
#"? @ N (=.
B9+ \.
-",*1
-",*1*+s
`
ï. Zî Ð=) "$
5ìï# ??
."? !%.tl
q"$.Zr ì Z
)
$ *(
T
•
.*+<
# ^-]
(
\ ^ #
5ib!]I
` `
N !
.)
#
5
1=.*4
[ N e
# ? Z
ZIâ
5"?
!
@ F"?
•
=.*1
Ð?]?
>=. L!#] c
Qh=5)*(?
. @ L Z
)
$
*+ G
]
Ð
! P
a C" G
F PB\
."!$C~. 5
5?
a . @ M l]
" "$!
(
..
!\
+ \ *+?
5\N
1"$,'+4",."B
.<# ,I
4?G5
)&\ l?
<*+¡
."$l",?*4*(P*( P# ??
#"?R#"? @ P
v
! >]
g
.
. ï?") !
5Y" !
l " ï
W Ub ",*1*+X±",
X,
5
@ I
v
JK!
. #*+!
9
#*1 <#4
.
"$ 4!"!) !
-]
1 N ,
\",!,
)
(
5!
.
<
"? c9R>
i
=) "$
i # ?? #"?
Ipjf H
^#?]_Tr
.!i!?
5Á
@ N f ,
.
"H
.; 4!>]
I
168
Cette information est incluse par le browser dans l’entête du paquet http envoyé au serveur.
169
Formatés souvent en XML
fn
Ç !
.)*+ #È
X N #"$
.
"H
#
)*+
DÇ",
H)
#.Ô Y #
5
=)# @ *1*+?
?
! + -" !
5\
1",.
"H
.<.
\4*( ]
+
.-
5
>
I
`
/.Á N
;",?
.Á
f ! *1
./
(9 N !
=) ",
1 ( #
5;?]!
d
#*1
l","$I4ji
i#]
!
; Z
*+!
1L*+
h
#S
©?]
#L
S,
.
. Z P=>=) ","?L
.=)5,×"$
&\ *+!
.
# *+*( #4","$( *(
<#+9s
e]
. =)
. ^;*+*- #%#~*+*(>_4 ÉB?
• `
*1
. 4Z.
(_
!*1 @ 4 (
Z
I
• `
*1
. ^"?"?< ^9 !44
I
` •
-,
#.
. Z (",,]!
-.=.,×"$
?!*(!
4","$ #
!?
N
"$Z1
*+ ??
Z
B_
"$
. c!
# T",!
#.Á
i
^ T?
#"?q
:*1 ! c","$I
ka"?q*(
< q ",!
.Á
p?] q)
@ *+!
*+ ,?
Z F9T :?
#"?q
]) =) @ \ #
5(*1 -+",
"$ N !
\"$Z4N
5
)I
@
/*+ ??
Z ?]_ ??
H_
"$
. / a",!
#.Á
K# ,
.Fa ,
5"?4) @ ! 9
"? @ g r?
#"?g
#I Ì *- cg
>
)
-
T
."? ,c r"?
>
.
.
¿?
Q
@ Q ¿",!
#.Á
C
L",!
*1Q Ô=."B
*+!
S
5
5T
`
N
",
I N .
l
!l?i S?
#"! @
Ê
4?") =)
G5
ll!
# ??
#"?!%#'%i
A#.
[",?
.Á
p*+d*+
#
5a*1 F[",
"$ N !
p
"$Z4N
5
I
c*+
# F>=.)*("? &"!N ,
[?
#", @
]5
Ê [ ,
[ . @
v `
N
5
#
5"$Z
I N ?]. //![ [",*1*1
",
/?
Z&=h=#
)&
# ! g
- *1
l g) @ Tl
",
ZRl
] g",!
.Á
×I^kg D!
"H
I 0I.3I.3l+ N ]+ +
1 *1
*+!
."? *( 41",*1*1
",
1 ?].!41
]
","$ac # !?
5
[#"? @ N N ,
5
.
F
.!.
IJ
!
)&
1
] (; ;","$+
1",!
#.Á _(+
5
"$
@ *+!
.+ ?
.
I
`
N ]<*+!
N Ì j b
Ñ(q
*+ ??
Z 4) ] 4? =) F.Á \.
v
*+ ??
Z ;
H_
"$
. 1
Z ,
","$I\7 Â"?/9F"? *+ ??
Z ",!
.Á
,
[*1!
.MN
V>
ìì?"$.ZìÐ
#5] 4
1.
ìN
*+
a
5?Ð
.I
170
Contrairement à une croyance largement répandue le garbage collector ne prévient pas toujours les fuites de
mémoire.
171
Mémoire, processeur, temps de réponse …
8 M",*1*+ì
!Ð
Ð!>]
[V?] M ",!
.Á
[N !"!
a
#< CN
*+ ??
Z¡) ]l RRN
R!>]
4P*+ ,?
Z rb
Ñ( @
]!
; P
=) n9
"$ @ =. @ U N
5
M #
5Ú*1 ì"H"$ô"$ZU~.
?") !
$I[k<
#
"?!
/a"?
>
.
!
=) "H
a a",!
.Á
K*+
94.
",!>]
","$4-=.Ü,-9 #=)
. -"$Z*+!
5^N
5
5(#
"?*1*+?
>]
!(~#"B=IH=) Z
#1Î
7I
172
Figure 35: Rôle joué par les messages asynchrones dans la gestion du cache
kl R
",
gb!0eeÚ P,
.
. Z SSZ
,
¡P","$P ,
1??]!
;",
S9
N !
.)
[ G=)
# M~.?>]
=)
.5? @
4",*4*(VM N ]G]
Ð
M ô5
ì0
!
.#"?!
.?
5!
.
[. @ d
. #!aa*(!
#][",!
#.Á
hÊq
]
Ief
*(!
f # @ d
. 5
>!
4
4Í.9F*1 ! 1 ","$?!
f !
.#"??
.
~.?Ê=)
#~.? @
F*1d
"$~)!
>AN )) ]) @ N [",!
.Á
A~.!h]
5'Ikc"?
>
.a=.Ü,
`
"? S# @ d
. l#
Ü, ]!
4 S#! l
S.
*+!
)I l# @ d
. R ,
D?
[c
"?
/ [ c","$[?!
Ê# _
].a c",?
.Á
p*- Fa]
#! _(=>=##!
. ^?!
9
5
*1 ! \("H"$1",*1*+; ;*(!
## +=) Z
#4Î
÷I
â Ocs /", ;
"$ ?
& =)
# @
Z<#F /","$
d
##F
"? # < 1"?
@
Z<#F
Ê
!
"
)
.D -*1d
"$^ r .?
TT?
5) !
N "?"? \9g
",?=) !
I
172
Adaptation d’un digramme de séquence publié dans J2EE Design Patterns, William Crawford, Jonathan Kaplan,
O'Reilly, September 2003, ISBN: 0-596-00427-3, pages 368
`
#
5?!
*1 /","$F
c*+*( #]
]F/!>]
& ? @ F
",#D
R P*+*( .¡","$D¡
.!×IiJp$"
g¡"? R#
"
!
5R
# ! !
.S
]!
5
Z -
+ ",?]
!
5-
*+# \" ç) ?,1s
ª(¦¸ ¤#©Æ
¸ Æ©¥¹/²!©¤>Æ©¹
¤Ö"?[#
"
!
H
.
FN "?"?< /*(
*+
fFH
5"ÉH
ê
@ N
@ !
.a *1
.
/
/
I v @ /"?
>
.F*+*( #/?
Z#
F5
*+!
H=.!
!
! + Z
)
)$
*+ @
H *1 !
~>=) $!.
*+!
+
+
>=) 4
@
*+
>
.?
Ê
","$:", F_!
A
#< /=.5
5q
.
.cN d
#c*-
."$ (# @ d
. !%# I )*1H"?\ Z
)
$ *+ ^1!
"
.s
v
© £
²,: ¬ ߤ#© 湩«!¬¨ Å ²!© Õ
¥ à ß Ö",*4*+?F*Ú N @ a"?
f Z
)
$
*+F *1
• ß Ù ß ÙNá
","$ -
4;.
"?*1*+?
*(
I k4 4
.
Z.*1*+ 4 H ,
*1 (
©?]
#
(N
/ ,
. @
"?;
#*1 .Z;
5!
.;
?] *+!
*(
I Ì a=)
A
Ê9r*+
#:T N )) ]
: c# @ d
.
& a
c c*(
*(
1?!
#"
,!
) @ " ! 9/"? @ N 4? !
=)
]*+!
*1
1
,
.I
173
Adaptation d’un digramme de séquence publié dans J2EE Design Patterns, William Crawford, Jonathan Kaplan,
O'Reilly, September 2003, ISBN: 0-596-00427-3, pages 368
174
Par exemple les données relatives aux produits vedettes.
߸ ¤.²,¬ «ä¸ß¸ ¤.²,¬ ¹!¬xàß ß Öp
##< R.#*+!
1?
!¡"?
( Z
)
$ *+¡ *1 RR","$
• ë Ö ë Ö¸á
N *+!
\" \ ,
.;~)
#*1 !
##&
#*1 ?5
I
£
²,¬(¸ «Ñ
ä ߸ ¤.²,¬ ¹!¬kà ß ÖA )
<#r
Í.!
.
r","$ H
\ *1
g
• ß Ö ß
ë Ö}á
#*1 I
g © ª(£¤.湩 1ÖÖ1
/", ,)
##Ð l #
5 @
- ?]!
d
#Q*1 SG","$L
G
",
(1",*1*+#"?4
"H
.
@ & =.?
!;.#4?-!
"B
\0I 0I Î4
ÎI.3I
`
@
5$!
h
??
/ *1
+=) "$
. Ì Jjhj]
"
. ! #
!
. @
=."
.!
*+*+!
",*1
# ? %#)ouI !*1
1
4
.1
Ñ(
"$
",
v v
~
Ñ(
"$
", I ",*( N !
?
glj S)*1 rl#
#R¡x I Îm R
5
v v
) Z 4
Z4N "," I
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Content-Encoding: gzip
Keep-Alive: 300
Connection: keep-alive
k T N !
.d
." ç) ?q "$*1rJK!
.!
>ç'ef"H
ZD @ @ D R
.!(~Ñ\ ö
5
.F =.)*(
j Ief1=.
F3,ù
ù
xF a
5
.!.1!
.
. 1
v
=."H
. G# @
! G
/
5
.a Ð",*1
# ? GL @
>G$!
>
P]
"l
`
Z
)
$
*+ ÐM
*( î
"Ð",*1*+Vj %#)tuI #
"$#"$ @ ôÐ]
v
=>=#
"B
4!
"?
!
f#] "?5
5 ",*1
. 1!
#j
Ñ4 ".
?=5
` v
j!
.)
Êe
#×I : !a /",
??"? ~)øf\
Z:O
! Ê:Ñ4 ".
?=>
",?
!
\*1
\
> \91"?4 #
)I $!
h
s >#
>
I *1 ".
?=5
)I ",*^É?HÎ 03, 0 0
175
Source: Speed Up Your Site: Web Site Optimization, New Riders Publishing, January 17, 2003, ISBN: 0-7357-1324-3
176
GZIP par exemple
p¹¡«
¸ Æ© £ ¹g¥© ²g´£
²!© ²r¥©D¥
¦«
«Â
© ² Ö^ ¡",
g9P
S !ÀR
,
4
.
Q
##< Q",Ï?
.!ì*+*( #
[ 5"? ?!
I Ì N ,
5[L
$
#
M
]
G!
!
g!G*+
h
#ll"# 1!
5?
4S",
! @ N K_DS
# @ d
. !
#.!
.
Ik[
*+d*+[*(
<#& c!
/5
5
ZK
?
F",
!
#4
5?
. 1 4# @ d
. - ) @ ;;",
*1 -
#.
.*+?
51. < +
-"?"?<
","
)#?
\9
!+4
I
177
Source : Adaptation d’une figure publiée dans: Threading/queuing "funnel." From IBM Software Group Services
Performance Workshop presented by Stacy Joines, 2001, Hursley, U.K. © IBM Corp. 2001
p¹/«¸ Æ© £ ¹ ¥©F¨ £·,¦¹·Ä©Fª+¬¸ ©¤s9a / =>=##"?
1,
5
.!=)
! ? / ! 1,
5
. ?
! ? Ð CÐ",!>]!
a
PQ
L.?
!
P
C P #
5P
`
! ? IJ
>
.F
. )
.;=."
./)*+*+!
",!>]
1
I . @
Ç",!
.
¡N eb
O#
Ü,
S
Ô# @ d
.& N n
Y9Ç!È?" l Y
.?
!
Rl"
@
i N G?]_
I #"? @ N R?!
!
@
&( i!
v
#
5 )a N *15
. @ M ,
5"?CM N eb
OU
I1JM. ?
*+!
N
@ M
.
]
. ?;?
h_ 4
?*+ ??
Z ) ] ;*( ;
+?1,
>
.=)
?! ?
Q#"? @ N L",!>]!
[
?
[ M! ? M G
Q.?
!
G
"$ @ c" !
Ief/=.
&,[#
?
&
.!
?
a ,
5
.=)
! ? c
!
=h=#
"B
. ;",?=) !
#
.1
N !
. Z)
.4 ^
+~)*1
4? +" !
#?
!
N "$
#*1
,?
#4" !
5'I
J a
K N _/c
c# ,
) "B
@ !
?
h_
N #
5 @ N a!
K
"?
`
I [#!
?
. ?
.
@ *+!
!
",
@ N ;
]!
]) =) ×IJK*1*+
c*(!
#c F=) Z
#[Î
ùc [# ?
#"?c
!
d
.c,
.
"H
Z. !a9a
5F
h_
rN #
5q]
P
D"
?!S !
.)*+ #l~{
"H
5>_! @
p*+
1 R=."B
5) ?
g
*+
$
\
(
. )
5 \1
I
178
Adaptation d’un diagramme de classe publié à l’adresse: http://www.developer.com/java/other/article.php/626291 ,
Wiebe de Jong, Implement a JDBC Connection Pool via the Object Pool Pattern
`
*+
$
Q"#
. ,
#"?~5[ì M"
?!{
"H
5>_Ð*+
/Q"#
a
ì?]
,
5"?F
N #
@ N ?
$
.
"?
c
I Ì ]!
?] #!
!"?
h
.
,
5"?
B
*+
$
validateResource( ) pour la réinitialiser.
179
Source: William Crawford, Jonathan Kaplan, J2EE Design Patterns, O'Reilly, September 2003, ISBN: 0-596-00427-3,
368
180
Traduction littérale de legacy systems
k
.
",*1*+: N ,
5"
& N "H
]
ac q
? ]
# a [
?!
Z
*( :r
5"? ?!
^
iT*+*( .Ipâ
5qi
. @ g Teb
OG
?]!
f
1d
#
"?
5 4
",!
.
!>]
51",*1*+ ð*(",
)Ij 4!
?
N
Ô",!
.
G
" T",*1*+"?
qN jhOѽ~>õ
$# QOfe Ì _,
.*(
`
~>õ
Z ",I g
@
5) =) ",
cT"? [,"
. c H
Ê
#< [
Z# , ]#"? @ N
]!
F
.L .
5l
L
G!
(
"G*(
$
@ C]
"l"
M
?
.C
",
Z1!
# ;","$ @
BZ<# ^b h]
5-
"? @
BZ<# +eb
OI Ì *(
v
N ?]
?
ZK N !
?
N
/",!
.
Z.
.%.%K",*1*+/b
Oè\R =.!
f
" ] K
f
;",!
# eb
Oc?
;
.)*+ 4/",*1
.
.
"$
@ @ N ;
.)*+
a",Ï!
5/~).
a",#
/=. c>=.*("?
N ,
K !
*(!
K
F=h=. #
4
(
.*1^;.! *( \ Z
*+?
4=h=. #44",Ï?
5?'I
ef
.
@ :!
Ê]
p]
"
Fb & a!>]
5[
Fb!]rO F
5!
p"?
v
@ N !
]
]
"; eb
OI/f
Z49/"? #
@ ;=).*(!)É(
)?
5
",!
!
(N eb
O[
"? / N =>=#
"H
.
,?/
)
.
,?4
",
.;9/
.-
h_
.
Ik;
1 +",
; eb
O:?]!
N ]# . *+
;!f.
5
?
? þN =>=. #
Ij }?!
n"?>
5 *+?
¿
"$ þ
.
"$
!
Z @
N *1
*+!
5
*1
.;
; ?]
.
*+!
5+=.>
.*+!
,
#)
*(
?]!
Ê]
p
])
>
aZ
5aN
.Z *+!
Ê
c a
",
a *1
[
"?!
. !
;~#*1
;
.",*4*+#"?
"B
.
@ N
Ñ1e
! @ N _;
v
"
!
..
"H
(]
"-
(H_H
.<*++N $)
5
Z
%.6ñI
181
Très souvent les licences sont gratuites mais il y a plusieurs coûts cachés liés à la formation, à la maintenance à l’ajout
de modules supplémentaires…
182
Legacy system
Now that we've blown away the FUD (Fear, Uncertainty, and Doubt), here are the real reasons to use EJB
over Java classes:
Your system is built faster and more reliably. EJB components benefit from declarative middleware, such as
instance pooling, transactions, security, container-managed persistence, container-managed relationships,
and data caching. If you used regular Java classes, you'd need to write this middleware yourself over time.
Eventually you might find that you have your own middleware framework. That 'framework' is a fancy word
for building your own home-grown application server. The framework needs to be tested, debugged,
features need to be added. This is a non-trivial task indeed. Can you honestly state that your staff is capable
of building a better application server than the market leaders who specialize in middleware?
It is easier to hire new employees. If you build your own custom framework using Java classes, then
newhires need to be trained on this framework. If your framework is complex, then you can no longer look
for "EJB" on a resume when hiring a developer and expect them to be productive on your system.
You benefit from the best practices the world is building around EJB. You can figure out how to optimize
your system by reading articles on the Internet, or picking up a book on EJB best practices, such as Floyd
Marinescu's "EJB Design Patterns" book. This global knowledge base is not at your disposal with a
proprietary Java class framework.
You can have different user interfaces. You can reuse the same EJB component layer for a thick client as
well as a Servlet/JSP client. With Java classes, you cannot achieve this because Java classes are not
remotely accessible. If you wrapped those Java classes in RMI objects, you'd need to invent your own load-
balancing, instance pooling, and fail-over.
You can work with industry-standard tools to rapidly develop your system. While in the short run you may
think that Java classes are going to make it faster to develop than writing all those files that comprise an
EJB component, in reality there are many tools around that help streamline the EJB development process.
There are command-line tools that generate the files you need, there are IDEs that help you build EJB
components, and there are UML editors that help you generate EJB components from UML diagrams. See
for more.
You can separate your web tier and application server. If you require your business logic to be protected by
a firewall, then you can deploy the web server and application server on separate machines and stick a
firewall in the middle.
You can't deal with the limitations of EJB. Examples include threading, static variables, and native code.
Most companies can deal with this, because there are good reasons why the restrictions exist. But if (for
example) you need to have a multi-threaded engine, and you can't deal with the EJB paradigm of load-
balancing across single-threaded instances, then EJB is not a good fit for you. EJB is a square peg--don't try
to stick it into a round hole.
You have existing skillsets or investments in a working technology. For example, if your developers are
proficient in CORBA, then great--why not stick with it? As an anecdote, The Middleware Company consulted
with one of our clients who wrote a CORBA application that assisted with mapping the human genome. It
worked well with CORBA, and they had no major complaints, and so we recommended they stick with
CORBA and avoid the EJB hype.
Your application is a big GUI to a database. If you are just a big GUI to a database--heavy on data logic but
no business logic--you could achieve a deployment easily using JSPs with tag libraries connecting to a
database via JDBC.
Your application is simple. If you are prototyping, building a simple system, or developing a one-off
application that will not evolve over time, EJB may be overkill.
Source: Ed Roman, Scott Ambler, Tyler Jewell, Ed Roman, Tyler Jewell, Floyd Marinescu, Mastering Enterprise
JavaBeans (2nd Edition), Wiley, ISBN: 0471417114, pages 672
`
FZ ,
",
/
.5
f
!=.
]
[
.
>", /ðJ
• ` v
~ 1"ÉB
Z . ]I
I f"ÉH
!.]I
I f"ÉH
.>]
? #!
*1
"
.*+!
"?
h
5
=."H
'I
Figure 40: Modèle en couches RMI-IIOP183
{ 5
K$
#!!*+?
K Feb
Oq
!!
*+
$ ", a
c
.*+
$
,
5!
. IJ
h
./
.F)*+
F*+
>
##©,]
#a a
>
.) % ! ? 1=5Ü,
)&Z7Â"?
@ \ P ?]",
D ,
5!
. D?!
1
#.H=.*+
ll
P ",?I Ì L
N ?] @ #
"H
.*+?
K *+
$
H
5!
.
a"$ @ ceb
O a" !
N
# ?!F9c
#
!
.)*+ #
"?;²?¦¹²1¨ £ª+àª+©+Fá â I J1)
!;"$.Z;
51N
ê `
*+
$
V ", ìï N eb
O
r
Z Y# @ d
.ï#
ÜôÚ" !
I N #
!
.)*+ #,
*1 14?]
#9F N N
;,
5
. ?4! ? Ij *+
#
.
*1
#+N ?]",
+eb
O×eb
OF
" !
5Í×eb
O[~."B=×IH=) Z
# 3H'I
183
Source: introduction à RMI, http://www.commentcamarche.net/rmi/rmiintro.php3
184
Source : Core J2EE Patterns - Session Façade,
http://java.sun.com/blueprints/corej2eepatterns/Patterns/SessionFacade.html
`
D! ? r=.Ü,
S N *1 S
þ R ?]",
DÊÑ;j çjhj è I-jp)*+
-!
*+!
(
v
#
#
*1
.I
J /(*+< ",# 4=. (91]!
. 1*+)
5 ( (!>]
5
q
5!
@ g"H*1
??
5g"$)
<#D N #"$
. "H
#DÑ JIefr!=>=#
^ ]
)) ]F9c
,
/! ? a @
*1
*+!
.[ =.Ü,
È ,]",
FÊÑ1j ç
j>j è !.!
",*1
<
.*+!
*1
\i)É =) (I
v
4.2.3.5 BMP vs CMP
`
4!
h_ (?!
eb
O:. ,
5?
5 @
???] Z
.!
54
5
5+ ;
!
`
/9 @ : /!!
?! I
Z @ @
)*+
[Z#"?
>
.:. ,
5",
!
\d
##D
"?
g
] Tg g~O RÑ-
Z . ,
."?gOÑ 4
#T
v v
] (+",?
.
~JK!
5 Ñ-
Z .
."? I
v
`
. @ N
,
K",?]
*+!
Ê.*+
#
&f :. ,
5"?[Z#
:Ê
",!
.
,
; 4>=.)*(?
. @ ;"? 1Z#
1
] +; Ief4=>=#
]
"+ /OÑ Í=.!
` v
"!
.?F ,
#)"B
Ò
"$.ZK /
.
)
. !%.opN
[ ,
5"?%.tpN !
>_
~)
:
#*1 <#: p ", !p N ,
5"?F]
q c" :
) *( #r ã=) p*(
$
çA
Ê
`
?
<*+l
("$.Z-! g .
)
. ãÍ)
S*+
$
çI Ì ]
"
R",
"H
l
,
5"? [N !
h_q &K r*1
#N ,
)"H
![9T
"!
. ,
pr1 3I ",!
#
v
]
"î WJAÑ "? U1 3ô ,
)"H
U ]
V?!
g#*1
"?
UR
ï!
v
,
)"B
[Z q
"?
c
=) "$
Êc!") !
F *1=."B
5) !q!
N !*1
+
I
185
Ces propriétés correspondent généralement aux colonnes d’une table
186
Une instance correspond généralement à une ligne dans une table
! "#
!
5?
N eb
O @ N ,_;
5
4
*(
< #
& ,=5./"#
2
,
5"? R N !
h_gg
(#
"
#( r!
.
,?"
q
? \g"$ @
" !
9Ú5
F Ú
!ÐÐ
Q~.?
2
2I 2
2
2 ,
5"? Q
Z#
5?
[
5
.!=#
gR" !
5?'IpJ ,
5"
$!) @ ?=) !
(r!
*+!
\ 4
*+*( #"H?*4*+
F*- Z
*+!
#.= ";
.*1
"? ,? .a
fZ#
i]
I
Figure 42: Modèle relationnel de données d’une clinique médicale187
-#*+ i9r"? q
5
<*+ q g
h
.)ef?
_{",
g
. !Tgr",?]>
^
v
!
h_1 @ ; ^
5
+#?
Ì ðjheâðF
j Kj ðI
v
187
Source: William Crawford, Jonathan Kaplan, J2EE Design Patterns, O'Reilly, September 2003, ISBN: 0-596-00427-3,
368
`
!
## a
5
??
].!
!
",
"H
c
#cq *1
a #
5[b!]q
*(*+?
("$.Z*+?
;ò
5
!
O (~#"Í=IH=) Z
# Î I
v
J Z# =>=) " / Z ,
1 . H
5"?
] 11",?
.
f~JpÑ *(
v
?)*+
\
",*1 ^
,
5!
\ *+*( #& (
.*1^;#!!1
+
#.=) " I
188
Source: Idem
189
C’est à dire ceux qui ne sont plus référencés par des handles.
",*1
##q N *1"H
F
.
F
:",",
.
[
[>=.)*("?
v
+
.
?!+ 1",*1!. ?( ^ ?1 .
Z.*1*+ ^
]?
54s
1",*1
.
"?
h
.;" 1 H
@
] !
.+9 " s
v
épíý Ñö (í å¸î#épí í ü èjæú
ûû û
ôpåïSø0ë æ¶é#ë¶ö 3úKë
3úKë ù
î#éðï0ë æXñÌõ®ö épíý ú
191
Tableau 18: Trois opérations qui ont le même impact sur les performances
Aêï^èXéÈë å3æ ê3ó ë ìXè3óÀé Aêï^èXéÈë å3æ"}ê3ó ë ìXè3óÀé Aêï^èXéÈë å3æ#
!
!
Fï0ë ìXèXépíÌõépèFéÈë çô0ë æAè î#éðï0ë æXñ('Xí åkö&(í å ú
û ûû ûû
Fï0ë ìXèXépíÌõépèFéÈë çô0ë æAè î#éðï0ë æXñÌõépí í üÌö
î#éðï0ë æXñÌõ®ö $í å¸î#épí í ü û û
î#éðï0ë æXñÌõ®ö $í å
ûû û î#épíKí ü8 ú
ûû (è3æ8ú û
,î#é^íKí %ü &(è3æ%ú ï0ë ìXèXépíÌõépèFéÈë çô0ë æAè î#éðï0ë æXñ èjæÑö )
F è3æú
û û
190
Source: adaptation d’une figure publiée dans : Doy Bulka, Java™ Performance and Scalability Volume 1: Server-Side
Programming Techniques, Addison Wesley, June 05, 2000, 0-201-70429-3, pages 320
191
Source : inspiré d’un algorithme paru dans le même livre
Tableau 19: Deux concaténations qui ont le même résultats mais pas les mêmes impacts sur les
performances
Aêï^èXéÈë å3æ#( óXõ+Aíï[ô^åïÈý®èjæÀépíóFí Aêï^èXéÈë å3æ-,
û
ôpåïSø0ë æ¶é#ë¶ö 3úKë
3 úKë ù
ôpåïSø0ë æ¶é#ë¶ö 3úKë
3úKë ù
î#éðï0ë æXñÌõ®ö $í å ú
î#éðï0ë æXñÌõ®ö $í å /î#épí í ü+ $è3æ%ú ûû
ûû û õ ö , îlépíKí ü ú
û
õ ö $( èjæ8 ú
êKõXó ^é èXé0/Fý®å3ë æAõ12 ó æXí¸ý¸ë ë õÀíKçÀå3æKí êKõXó é^èXé0/ #3
} ý¸ë ë õÀíKçÀåjæ õ
. û ûû . û
ûû
ó
= ë çõépèXé0ë çìXå3ë k
F ý®èjë æFøÈî#éðï0ë æXñÌèï^ñKõ?A Bpù
û
î#éðï0ë æXñÌèkö $( í å%r C åï
ú
ûû û
192
Cela signifie que le compilateur élimine tout simplement les signes +
è í3óXè X õ øT=Aùú
û
þ
å3æXñ®ôÈë æÌö}î#üXõépí3ý çXóKïÈï^í3æ¶é[ÿ(ë ý®í}ë ë õXø^ùú
û ûû
î#üXõépíý å3óÀé Fï,ë æ¶é æFþ
ø SéÈë ý®íkö ø[ôÈë æ Kí=KóÀépùSùú
þ þ
û W
å3æX
ñ K í =FóÀéSö¸î#üXõépíý çXóKïÈï^í3æÀé[ÿDë ý®íÌë ë õXø^ùú
çÀåý¶épí3óKï
û ûû
pô åïSø0ë æ¶é#ë¶ö 3úKë
þ
3úKë ù
è í3óXè X õ øT=Aùú
û
þ
å3æXñ®ôÈë æÌö}î#üXõépí3ý çXóKïÈï^í3æ¶é[ÿ(ë ý®í}ë ë õXø^ùú
û ûû
î#üXõépíý å3óÀé Fï,ë æ¶é æFþ
ø SéÈë ý®íkö ø[ôÈë æ Kí=KóÀépùSùú
þ þ
û W
465 7889Z[<
Fó
= ë çç K è õÀõäå3ý Xèï^è3ë õÀåjæ%#+ 3äå3ý AèïðíïKí3ó>®ç?'Aè@0æAíKõ1jë ô ô^êï^í3æ¶é^íKõ
û û
Fó
= ë çõépèXé0ë çìXå3ë ký®èjë æFøÈî#éðï0ë æXñÌèï^ñKõ?A Bpù
û
î#éðï0ë æXñÌèkö $(í å%Cråï
ú
ûû û
å3æX
ñ K í =FóÀéSö¸î#üXõépíý çXóKïÈï^í3æÀé[ÿDë ý®íÌë ë õXø^ùú
çÀåý¶épí3óKï
û ûû
pô åïSø0ë æ¶é#ë¶ö 3úKë
þ
3úKë ù
è í3óXè X õ øT=Aùú
û
å3þ æXñ®ôÈë æÌö}î#üXõépí3ý çXóKïÈï^í3æ¶é[ÿ(ë ý®í}ë ë õXø^ùú
û ûû
î#üXõépíý å3óÀé Fï,ë æ¶é æFþ ø SéÈë ý®íkö ø[ôÈë æ Kí=KóÀépùSùú
û W
þ þ
5.1.1.3 StringTokenizer
) Z ðÉH
ö ,
_
@ *+!
Ê!
!:
p :. Z
"$,' /
",."H
.<# IN
,
K?
!F9a!
#."?& !
]
K
])
5 F?
#"?a",Z H
IJ
>
.!
"B
.
!V
Ð Z
)
$
*+Mì
,
!
@
-=.
a
+? *+
$
M è=)~5
,
) Z~5 ;"
?!+
) ZI
465 7889;:<^7G8%I K%LU_ `K9a%b%7%cTK9 U9 a7G7adEfeG98+7%g%9a5 9 DhETGJI KL?i0Qjd9K?I k9G
465 7889 X<^7G8%I K%L`EHI 5 I 87KuE5 98+vwEJb%Q
U98I KU
9%x?y6zH{|F9%E8%`
M%8dEHGJI K%L{|U9(5 7a%5 7889D0EHGTI KL
Fï0ë ìXèXépíÌõépèFéÈë çìXå3ë ¸ýüKîë ý íFÿ#åní3æKë oXíïÈøðî#éðï0ë æXñÌõÀù
û
î#éðï0ë æXñÌõXó
Ì = öyæFó ú
ûû
ë æ¶é#ë¶ö 3 ú
ë æ¶éjl öÌõ ë æ%K í%>?N ôðø 0 ùú
÷1K ' ë í¸ølþ 3} ö F ù p
û
193
Source: Doy Bulka, Java™ Performance and Scalability Volume 1: Server-Side Programming Techniques, Addison
Wesley, June 05, 2000, 0-201-70429-3, pages 320
194
Source: Jack Shirazi, Java Performance Tuning, 1st Edition September 2000 , ISBN: 0-596-00015-4, pages 496
`
I a%jd8QGmEI v ^?5 wv+9KuEw7%g%9am7%g%7 Ef9%xETm7%g%7 Ef9%xET 4Q5 5 7?EHI QK
09%1H\
ó
= ë ç®ïÈó æAõÀåï[éðø3ù
F
û
ó ë ç% n õÀåï[éðø^õéðï0ë æAñ?
ïÈï^èXü õéðï0ë æXñ%
ïÈï^èXü íjæAñXéT'
äå èXépåï ñKíXés æAõépè3æAçÀíø3ùÈùú p p þ
û W
p
ûû
ó
= ë çõépþ èXé0ë çìXå3ë óë ç%n õÀåï[éðøðî#éðï0ë æXñAu3B èïÈï ë æÀé å ë æ¶é' ë
F
û û
äå èXépåï3çÀù p p p
ûû
p è3æk ó æ¶÷: ï^è õÀå®éTA' èXé ÷NíÌñ íFép åóKp ïSî#éðþï0ë æXñKõÑë æW õÀåï[é^í}åïKíï
ôpåïSø0ë æ¶é#ë¶öÌèïÈï í3æAñFéJ' úKëu } ö3 úFë ù
û
195
Source: Idem
ë æ¶é#ë ú
ëþ ôj
þ þø ù(èXé^í>ÌöyæAíX÷(èXé^íø^ùú
þ þ[þ >®íKõéçÀå3æAõéðïÈó ëé 2 ë æ¶é^êï0ë í3óKïó Xêï0ë ý+Xéðï^í}å¸ë íKõéjóÀé0ë ë õÀê
! û û û
þ þ þ þ þ[þ þþþ
196
Nous rappelons que ce périmètre est délimité par les symboles {}
Figure 46: Création d’un nouveau vecteur vs recyclage d’un vecteur déjà existant198
197
Source: Doy Bulka, Java™ Performance and Scalability Volume 1: Server-Side Programming Techniques, Addison
Wesley, June 05, 2000, 0-201-70429-3, pages 320
198
Source: Idem
;
ôpåïSøT=¶üÀépínö3ú%n #%,"jú n ù
ôpåïSøT=¶üÀépí ö3ú #%,j" ú ù
û û ;
û
>Ìö #
3ú
D0KEf7%x%9;:<
ôpåïÈø0ë æ¶é#ë¶ö 3úKë çÀå íKçé0ë å3æ íjæAñXéJ'Fø3ùúKë ù
ûû
þ
û
D0KuEf7%x%9 X<
ë æ¶éSý®è%> ë ýÌóKýö®ì í3æXñXéJ'Fø3ù
û
ôpåïÈø0ë æ¶é#ë¶ö 3úKë ýÑþ è%> ë ý}óKý¸úKë ù
õépèï[éðö î#üXõépí3ý çXóKïÈï^í3æ¶é[ÿ(ë ý®íÌë ë õXø^ùú
ûû
ô^åïÈø0ë æ¶élðþ ö
3ú l è í3æAñXTé ' ú l Hù
þû
=A l
BÈöKèA l B0ú
í3æ3ö î#üXõépí3ýçXóKïÈï^í3æ¶é[ÿ(ë ý®íÌë ë õXø^ùú
ûû
î#üXõépíý å3óÀé Fþ ï,ë æ¶é æFø^í3% æ õépèï[é ý¸ë ëÒõÀíKçÀå3æKõô^åï å åçAå¶ü0ùú
û W ûû û
ë æ¶éJA BçFökæXíF÷ë æ¶Té A "
B0ú
þ þ
199
Source: http://www.precisejava.com/javaperf/j2se/Loops.htm
w8%`5 E7%Ef8
¸ý}ë ë õÀíKçÀå3æ íKõ+Aå3óKï è*=XåóXç í
ûû û û
•
}ý¸ë ë õÀíKçÀåjæKíKõAåóKïSî#üXõépíý èïÈï^þ èXüXçÀå¶üKø^ù
ûû
• þ
5.1.3.4 Générer une exception pour mettre fin à une boucle for
["
f!/
.)*1 K . @ N
F"?!
/ ,
fZ#
& =.!
1=)
*1
.*(
*(
.*+<
## 4 F"
]
.
.
Z.*1*+N =h=#
"H
!
*+!
;",*1. ?
Ik;"?Z #
& ?=.!
f
#!=## /H_
!
50
9 1H_
?
53I
D0KuEf7%x%9:<
ôpåïSø0ë æ¶é0A
= åóXç íkö 3ú=Aå3óXç í ë ý}ë é^íý®è%>ë ý®è j í ú=Aå3óXç í ù
û û û û û
D0KuEf7%x%9(X<
éðï[ü
ðôpåïSø0ë æ¶é0=AåóXç íkö 3ú ú?=Aå3óXç í ùmðó æXíÌí%>XçÀí¶é0ë åjæíKõé êKç 3 í æAç?'XêKíyë çFëuXåóKïSýÑíXé éðï^í®ô0ë æ è*=Aå3óXç í
û û û ! û û
çÀèXépç?F
' østX> çÀí¶ éÈë å3æíKù
¡?] g",*1#R ï>=.)*("? ôî",
"H
Vb!]±0&q =..
R
v
5
5
Zq
Ê=. ?!
p
^ r*+d*+:
. H
I Ì =) cr*+
>
##qj©?]
.q"?:
. ,
i!
V?*4*+ U
! Ú
R
Y"$
*()ÉV
ï
U X ]
#Ub!]~5ðÑ\
h=.)*
v
>=.*("?s
.
. Z rDð"B
",H6×ØIYJS"!$
*()É",*1#S ; r =>=##!
5
v
h_
\4",
"H
& i
5*1+ "? ?? # (
s
Ì . !
.;?] ?( *+!
5^9 ",?
.
I
•
) *+ - *+!
5i1"?1",?
.
I
•
Ì "?"? -=.ÜH(
5 #4?-
^,
5"!ÉH
^
+ \",
"H
I
•
#",
) \ =h=##?
5- *+!
5^N
1",
"H
I
• v
200
Steve Wilson, Jeff Kesselman, Java(TM) Platform Performance:Strategies and Tactics, Addison-Wesley Professional;
1st edition (May 31, 2000), ISBN: 0201709694, pages 230
` `
*+
$
G3c
" "$
5r
.,
5q=h=#
"H
+ ¡"$
*()É!I l*+
$
g0
l
",!
!
V
Z @ Ú
", ?? #Ú
a"$
.*+
#
L.
C=h=# "H
Ðc
`
"$
*(ÉI
*+
$
aÎ&
Ê7q *1
*+!
.!
Ê"? F.
~.B.!
&
# ? &
#",
.^ \ *+!
>
&5
*S","? ??'I
%w EHb?QU
9: <¡¢wa?5 9Ka?b%9v+9KuEU`Ef98dE
Fó
= ë çõépèXé0ë çìXå3ë ký®èjë æFøÈî#éðï0ë æXñA Bèï^ñKõÀù çÀíXé[épíký®êXéJ'XåKíæ?2 íKõé0AèKõ ë ý¸ë épèXé0ë ìXí
û û
äå íKçéÈë å3æèïÈï^èXü
£ ë õéjöyæAíF÷¤ ïÈï^èXü
K£ ë õéðø^ùúd ®
æ A íóAé ó ëÒèdpl åóÀépíï íKõèóAéðï^íKõé ü
AíKõ1 íÌçÀå íKçéÈë åjæAõ
ûû û û ûû
épíKõéðø^èïÈï^èXü
K £ ë õépùú
äå íKçéÈë å3æ ë æ?¶ n í£ ë õéjöyæAíX÷K£ ë æ?n í
K£ ë õéðø^ùú
ûû û
épíKõéðø ë æ? n í
£ ë õépùú
û
äå íKçéÈë å3æ:ìXíKçépåï#ökæXíX÷ í çépåïÈø^ùú
ûû
épíKõéðø[ìXíKçépåï^ùú
£Kë õé
ö¸øT£ ë õépùÈçKú
û
éÈë ý®íï ^ï íKõÀíFéðø^ù õépèï[éðø^ùú
w%EHb?QU
9¨©<ªF7GaQ`G81U98w5 wv9KuEf81U
95 7aQ5 5 9adEJI QK
Fó
=
ë çõépèXé0ë çìXå3ë yë é^íï^èXépíøðä|å íKçéÈë å3æçÀù
û ûû
ôpåïSø0ë æ¶é#ë¶ö 3úKë 3úKë ù
épíï^èXépåïlë épíï#öÌç ë é^íï^èXépåïÈø^ùú
÷1K ' ë í¸ø0ë é^íï 'AèKõrþ í%>Àéðø^ùÈù
û
=[l íKçéåköyþ ë épíï æAí%À> éðø^ùú
JJ
þ
w%EHb?QU
9«0<%D`
^^?GH988%I QKU981w5 wv9KEf81U9(5 7aQ5 5 9adEJI QK
Fó
= ë çõépèXé0ë çìXå3ë kï^íý®åXìFíøðäå íKçéÈë åjæçÀù
û ûû
épíï^èXépåïlë épíï#öÌç ë é^íï^èXépåïÈø^ùú
÷1K ' ë í¸ø0ë é^íï A' èKõrþ í%>Àéðø^ùÈù
û
=[l íKçéåköyþ ë épíï æAí%À> éðø^ùú
ë épíï ï^íýÑåXìXíø^ùú þ
J
þ
Fó
=
ë çõépèXé0ë çìXå3ë kï^è3æ
å ýçÀçÀíKõÀõXøT£Kë õéçÀù
û
ôpåïSø0ë æ¶é#ë¶ö 3úKë r¦ ) ÿ thÑîIúFë ù
=l[íKçéåköÌç ñKíXéðøÈï^è3æ%K åýÌø^ùÈùú
þ
`
+#
5
5^!
.
!\?!
( (
5
-02I
465 788%9 ¥0fQ`E ªF7GaQ`G8 ¥aae875 w7%EQI G9 D`
^
^?G988%I QK
3¸ý®õ ý®õ #¸ý®õ
ïÈï^èXü
£Kë õé ý®õ
Jp
?!*+!
"
?! *1
*+!
5!
N !
.h=."? ©¬a [
h=.*(!
./9[ a*(
Õ
>=.)*(?
.I
3 I ò
$
`
0I
ÉH ò
$
ÎI ðf#
Jp
?!*+!
+"
?! 4 *1
*+!
5?
N !
.>=."? £³1 /
1>=.)*(!
.;9/ /*(
ê
>=.)*(?
.I
3 I j !
h_ò
$
Ñ-
0I ò
$Ñ-
ÎI ò
$!
5
`
I
ÉH ò
$Ñ-
7I ðf#
Ñ-
Jp
?!*+!
;"
?! *1
*+!
5!
N !
.h=."? ¸ ²,¬F a
>=.*(!
.9a a*(
ß
>=.)*(?
.I
`
3 I Ì ) ._ ,
0I
"H
5
ÎI
5"É^~)*+*+;h=.*("? @
"B
55
` `
I
ÉH ,
5.1.4.2 Impact de l’emplacement des éléments d’une collection sur la performance
`
;",
"H
;
!!
f
.*+
$
B.!
. ; *+!
>19a
f",!
.
I
Ñ- Z#
].
.1"? -*+
$
(?]?
d
#+?"
-(?-Z.-",
. Z
) 4s
`
+*+
$
@
BB.!
.!
- *+!
5^9 +=) (
;",
"H
I
• `
[*+
$
@
B.!
5!
p F *+!
5
[ [*1
"?*+?
P
" =) A
•
.*+<
#; I
`
¡*+
$
gP S?
<*+S",
. Z
) l??
;*( ¡h=.*(?
. @ S"? gG
#*1 <#L",
. Z
) Ð#", @ N ]!
Ð?] !#F G?] ,G *+!
5S
]!
# N ",1(
Ü,?
1",?
. ( ;",
"H
I
`
N *1
1
5
;034)*+
",*1# ;>=.)*("?4"? 4
? ",
. Z
)
*+
$
(
;" ?!
"H
5×I
Tableau 21: Impact des méthodes addElement() et insertElementAt() sur les performances (classe Vector)
è t íý®íjæ¶éðø^ù ë æAõÀíï[Té t í3ý®í3æÀé Déðø^ù
û û
F
ó = ë çìXå3ë Ì
è ø íKçépåïì î#éðï0ë æXñÌõÀ
ù F
ó = ë çìXå3ë Ì
è %DTé °3ï^å3æÀéÈø íKçépåï ì î#éðï,ë æAñ}õÀù
û
û
ôpåïSø0ë æ¶é#ë¶ ö 3úKë júFë p ù ðôpåïSø0ë æ¶é#ë¶ ö 3úKë 3úKë ù p
ì èt 3 í ý®í3æÀéðø^õÀùú ì ë æAõÀíï[éTt í ýÑí3æ¶émDéðø^õ F
ùú
û û
þ þ p
ÿ#íý AõçÀå3æAõÀå3ýÌý®ê[/3
¸ý}ë ë õÀíKçÀå3æ íKõ ÿ#íý AõçÀå3æAõÀå3ýÌý®ê[/ êKõXó ^é èXéT/?,
ûû . û
5.1.5.1 Impact des blocs try/ catch qui ne génèrent pas d’exceptions
`
. @ ï"
Y"?!
Y N ,
TZ#
&: U
",Ú
>_,",
5"$Y N =>=# "H
.!
g
U
>=.)*("?ÚV=.Ü,V Z
=) ",
]I r",.#T"?
h
.U=>=) *(
ïî
v
)*+
>
5gL# .
#L l#
>
5Rg
. H
5D=h=#
"B
l1b!"É$
. ö p
l
#*1 <#4
(4 ]
#(b!] h=.*("?(ðf
Z
v .
JS
. ,
",*4#P
/
.Rb Ñ;&+ Sh=.)*("? DN
G
"D",
."!$¡
>_G
"?P9
N !
.)
N
" 4]
"\"?
BN
1
"^",
."$H5
>_ @
H?]
1",
h
.;*+d*+;" I
ó
= ë çç èKõÀõ:ÿï[üFäèXépç?'ÀÿDë ý®íKÿ#íKõéf±s²&
F
û û
hFó
= ë çõépèXé0ë çìXå3ë ký®èjë æFøÈî#éðï0ë æAñAuB3èï^ñKõÀù
û
ë æ¶é th³)t( ÿ-ökø^èï^ñKõ íjæAñXéTÌ ' ö¸öF ù0´
*/
. û
201
Source: Jack Shirazi, Java Performance Tuning, 1st Edition September 2000 , ISBN: 0-596-00015-4, pages 496
ðéðï[ü
ë A S B ö¸ø\ æÀépíKñ íï^ùSåA ø l ù\µ"%B,ú
0
Tableau 22: Impact des blocs catch/try qui ne génèrent pas d’exception202
5.1.5.2 Impact des blocs try/ catch qui génèrent des exceptions
JK!
. #*+!
?;
",-",
."$,5
h_4
! -
4 1!
"H
;
# "? !
.&
4 ",(", .
"$H.
#h_
@
fZ<#!
i "??
:?!
- ?!
5T!
( T
.*1:g#?R#"? @ N
]!
=h=) "$ ;*+ ?? Z4N )# "!#
4
!+ (
#."?
Q
I
a#<
.
F
. ,
=>=# "H
F
a!
"H
7I.3I 7I.3
@ N a N
!
.
@ N
Z<#
a"?!
F[!
!
.*1Fq#?c
)
.a÷c9R3,2[=. F9"??[q
!
"H
1
#
"?!
.I
]
."? +
. & (
.
Z.*1*+ .\
]?
.
#4(,
#) "H
v
*1
*1
*î *1 #
c
",F",
."$H.
#>_c "
[
Ê",
:~#
#< Z
Z
. =.!
#=## +
",=."B
5) ! H6×E?4
",+ ]
H6×'I
5.1.6 Casting
`
U.
UW 5ç",
,
ZÈ
g±??ç"H
,
ZX!
¡
W *1"B
#
"H
g l
`
>=.)*("?\ ^
",
I 4Z.]
.44"? - *1"H
5]) s
@ 1",
H
Z1!-=5
?!14*(
4",*1
(+4*(
4
"?
I
•
@ :
",
,
Z5
.[ K / #
5/Fa
) *1
] & a !
.h=.", /
•
-"
?! \","#<
. I
202
Source: idem.
203
Blocs partagés par plusieurs méthodes.
204
Autant de blocs catch/try qu’il y a de méthodes.
205
C’est à dire les propriétés temporaires qui sont créées à l’intérieur des méthodes.
fe -]
1
.=)
.
*+!
-]?
5
Z - i=) "$
.\b Ì p& Í=..
@ ("
?!
? !
",*1
# ??
4
! *+d*+ .#/
"$.Z*+?
f N
",
~..# @
!
d
#4",
+(
"!!
5!
N
",
(]
"( N !
Ì
ã])
!
£
»
²\º1£.¦¹!¬.©¤º¨ £³£
»©à ³¦¹
¤·,¦«!¬#¤J·¨ ©¤¨ £1»
© ²,¬¸ ¦«(¥¹+·,£·Ä©/Ö
ê1ß
Ïè+Ob
eJð
I>IhI>I Ñ
`
Ï Ì Ì ÑGâ Ì Ñ1e¥^¦#"$
]I¦ fÌ Ê 8 e¥¦IhI>I ¦Ñ
v
IhI>IhI
`
Ï Ì Ì G
Ñ â Ì 1Ñ e¥^¦×","$%k
!
"¦ fÌ 8Êe¥^¦IhI>I ¦Ñ
v `
Ï Ì Ì G Ñ â Ì 1Ñ e¥^¦×","$%k
#"$
]I¦ fÌ 8Êe¥¦IhIhI ¦Ñ
v `
Ï Ì Ì ÑLâ Ì Ñ1e ¥¦×","$-k]. "¦ fÌ 8Êe¥¦IhIhI ¦Ñ
v
Ï#è+Ob
eJ ð Ñ
`
N
>
)
!
","$%k
?
1!
##; N
4 i
. i]
.^
]!
. s
â /s N
N H
,.*( (*1 !1(","$I ef 4 ,
5 .
.i
.
"$.Z
+9 5
•
!>]
I
Of.!×s N
H
"!
.
49 >
+","$+1
.!~5!
1!=5!
5'I
•
Z s N
,
"?
.
49 >
(","$+4
Z
çñ
• v .
`
N
>
)
!
Ê","$%k
#"$
]q
p?r5
Ê",!
!
A r ,
.: =) "$
.b Ì P c ",
aË
N
,
",*1 # ?!
Ie*1
4N !
?
s
`
Ï Ì Ì ÑLâ Ì Ñ1e ¥¦×","$-k
#"$
]I¦ fÌ Ê 8 e¥¦I .×& I .×& "I .D¦ºÑ
v
`
*1 !+9.
N
"?
4
( 1","$+ 1 . @ s
` `
+]
E¦
,
>ç'Ñ-
=) ^¦+","$%k
#"$
]
"?+
4!>]
,
(# "?!
.
•
@ 1"? 4+","$-k
#"$
]
"?4
( 1","$I
` `
S]
¦ñJK!
.?
5ç !Z
"$ ¦l","$% k
#"$
]L
"?P
/ S!>] H
!
•
#
"?!
. @ 1", 4+","!$% k
#"$
]
"?+
+ 4","$I
` `
j ? ,
*1>
5!
. @
,
5çñÑ-
=)
JK!
.!
>ç Z
$ #
5
)!
\
5 .
.
#
5
5F=)
5 @ r",*4*1
",
c!
# q" !
i q!>]
!c=.
]
`
òðð Q~)!
?
r
5
5", r I ^]
5^"?g
.
<*+g =.!
^?
!- N
>
)
!
v v
","$% k]. @
!
??" (]. 4 ","$ %k
#"$
]
*1 ?;Z#
*1 !9
.
×I
206
Ecran MS-DOS
207
Typiquement System.out.print() ou println()
208
Figure 47: Impact de la méthode println() sur le débit d’une servlet
208
Source: Harvey W. Gunther, WebSphere Application Server Development Best Practices for Performance and
Scalability, IBM White Papers, September 7, 2000
209
Source: By Jayson Falkner, Kevin Jones, Servlets and JavaServer Pages™: The J2EE™ Technology Web Tier,
Addison Wesley, September 19, 2003, ISBN: 0-321-13649-7, pages 784
òjüÀépí?ïÈï^èXü?óÀéJFóÀéðî#éðï^íKè3ýÂ=Aè åKõ®ö
æXíX÷òjüÀé^í%ïÈï^èXü?óÀéJKóÀé^î#éðï^í èýÌø^ùú
îDíï[ì íXé óÀþ éTF óÀéðî#éðï^íKè3ýõÀå õ®ö¸ï^íKõ ñKíXé® óÀéJF óAé^î#éðï^í èýÌø^ùú
û
ôpåïSø0ë æ¶éSë¶öÑôÈë õ ï^íKè
ø^ùúFë q ö úFë¶ö®ô0ë õ ï^íKè ø^ùÈù
þ
`
#*1 /.*+<
##l
#.>
.C Q# @ d
5C)*+
;N @ ^ Pb #!>]
C
v
*(
g!
id
##g*1 !rq","$I i=.?
A
5!
.q
b #!>]
>q?]!
id
#
v v
*1 ! :q","$T??=i"?g.*+<
#r H
i Z
9 Å ","$N IK
.f ,
\ r",
&Ê =)
#
!
.).*1!
?L
"H
]
.Q
a
?!M *- L9 ì
."$ M# ?? #"?Q
ì N
",
~.!>]
)&?!
##-=)
#Ý
ç?'AíKç%në ôK÷èKõè¸ï^íKõÀåóKï^çÀíÑéT'AèXéõ?'Aå3ó 3æ% é0=AíÌçÀèKç?'Aí
û
î#éðï0ë æXñ(X èXéJÌ
' ö®ôpç ñ íXés æ ë éT#
³ èï^è3ý®íXépíïÈøÈï^í3óXíKõé ñ íXé í
óXíKþ õés¦ ø^ùÈùú
. .
ë ôjøTA
èXéT'
q ökæFó èXéJ' íóFè õXø æAåKçÀèKç?X' í0 ùÈùþ 0 ç?A' èjë æ åj
þ X ° ë é^íïÈøÈï^íóXíKõé ï^íKõ?Xå3æAõÀíKùú
û ûd¿)¿ û û
ï^íXéðóKï0æ ú þ þ p
}
210
Source: Jayson Falkner, Another Java Servlet Filter Most Web Applications Should Have, Client-Side Cache Control,
http://www.onjava.com/pub/a/onjava/2004/03/03/filters.html
ôÈë ^é íïJ}
û
< ô0ë é^íï æAèýÑí}
û W
íK?õ AåjæAõÀí(í èKíïs°jë ^é íï ô0ë épíï æAè3ý®í}
. û û W
ô0ë é^íï ç èKõÀõ%}
û W û
çÀåý l[? õ =Aå
å n íK?
õ AåjæAõÀííKèKíïs°Së é^íï ô0ë épíï ç Kè õÀõ%}
. û û W û
ë æKë é Aèï^è
þ ý } þ
AèW ï^è3ýæAèýÑí}
W Aèï^èý æAèý®í}
47a%b?9Ã\4ÄQKuEHGQ5 Å?Æ W
0ë æ ë é Aèï^è3ý}
W
ôÈë é^íïJ}
û
Èô ë pé íï ýÑè ë æXñ}
û W
ô0ë é^íï æAèýÑí}
û W
íK?
õ AåjæAõÀ
í (í è Kíïs°jë ^é íï ô0ë épíï æAè3ý®í}
. û û W
óKï AèXé é^íï0? æ }? å ñKå KæAñ ÈóKï AèXé é^íï0æ?}+ çÀíXé3í%>Xíý íkýÑíXé í åKñKå Kè3æAõ íÌçÀèKç?'Xí3óÑç ë í3æÀé
ûW û ûW û û û û û
ôÈë é^íï ý®è ë æXñ } þ þ
û W
Ç x?9v^?5 9È:»É\$<
Fó
= ë çìXå3ë ÌõÀíï[ì ë çÀíøsé éTXîíïpì íXé í
óXíKõéjï^í
é[éJXîDíï[ì íFé íKõ?KæAõÀí¸ï^íKõÀù3éJ'FïðåX÷Nõ
û û . û .
îíï[ì íXést>XçÀí¶é0ë å3æ +t>XçÀí¶é0ë å3æ1 p
û
ï^íKõ õÀíXé^äå3æ¶épíjæ¶é[ÿjü
p A íøHpÊ épí%À> é T¶' éÈý ùú
ûË
³ ï0ë æ¶þ é[÷:ï0ë épíïjåóÀéSö¸ï^í
ñKíFé
C ï0ë é^íïÈø^ùú
åóÀé F ï,ë æ¶éðø À' éðý } ùú þ
û Ë
åóÀé þ Fï,ë æ¶éðø 'XíKè
} é0ë é í}í å®÷Nåï [éÈë é í} J'Aí è} ùú
û ûû û û Ë
åóÀé þ F ï,ë æ¶éðøHÊ A= åX ü
} ùú
Ë
õÀí3þ æ® éTA' í X ü æAèý¸ë ç1 èXépè*X' íï^í
211
Source: Ravi Kalidindi and Rohini, http://www.precisejava.com/javaperf/j2ee/Servlets.htm#Servlets102 , Best Practices
to improve performance in Servlets
ï,ë æ¶éðøHÊ
åóÀé F T=Aå
Xü} ùú
Ë
åóÀé þ Fï,ë æ¶éðø T¶' éðý } ùú
û Ë
þ
Ì?ÍdÎ%Ï6ÐÑ Î6ÒÓ
Fó
= ë çç èKõÀõõÀíï[ì íXé3í%>Àépí3æ%Kõé éJFîíï[ì íXé
û û û û
= üÀépíA BX' íKè íï,ú?=¶üÀépíA B#æAèXì
=Aèï,ú=¶üÀépíA BKô^åKåXé^íï,ú?=¶üÀépíA B3åXéJ'AíïÈî#épèXé0ë ç(èXé^èjú
¶
212
Les objets HttpSession utilisent également les cookies et la réécriture d’URL mais ils offrent un meilleur niveau de
performance parce que les états (states) de la session sont stockés dans la mémoire RAM du serveur. Se rendre à la
section 4.2.1.2 pour plus de détails à ce sujet.
213
Source: Harvey W. Gunther, WebSphere Application Server Development Best Practices for Performance and
Scalability, IBM White Papers, September 7, 2000
`
1
" =) ",
-b!0ee[ N =>=#4"
1*(_1
= 4
5 1 *+*( .4"?"
L #
5Mò
>
? ì*( Ð
c
.
Z# ? ì!
ad
#l)Z
c Ú
C
.
"$
@ \
]?
. 4s
JK?=) Z
# /",!
. =.Ü, 9a *1
. F*1
#N #
5ò
h
? "#
•
N
",
I
#a
#
/]
; #
5/ò
>
? =) @ a ",!
.
?!a #
•
[
*+*( .[ . @ [ F" !
f)#d
.N !
..
Z f]
"
.a~#"?
h
.a# "H
!=.
]
l l*+
$
gZ
)Ñ-j "H
]j?
.>] ~5)'I^jf=.!
(
*(
.
(",*1!
5g T",
N !
?
iT
c5
)i
=."H
*+!
ÊT N
",
~)!
i
a
5 \9;"?+ #
!;##49 1!
"B
I 0I.3I 0
j?]
S])
GÐ! ? M
G Ú*+
$
?]
.~5~)
•
*1
F . @ F
.",!
!
/!
5 @
)*+
" !
!",
"H
.s
!
5((
h_
;
Z1?
5'I
J ;
&! N
",
; N !
!
4 - #
51ò
>
# ? ; Í=.!
!9 - ?"H
]
a
] / b 9c N F
a #
"H
] ÏmÍÎÓ
ZF! ? 1¥¦#=. !I¦'mÑ:
v
!
!
*+?
(#??
#"? ^(!>] ×I
÷1K
W
' ë í¸ø^í A' èKõ?åïðít íýÑí3æ¶épõXøjùÈù
û û
, î#éðï0ë æXñ(A ' þ í èK íï#ö¸øÈî#éðï0ë æXñKùÈí æXí%À> éTt íý®íjæ¶éðø3ùú
û
| æ%Ì ç?A' íKç%Ð n éJA' èFé¹6×¢ ) ³ ë õõXþ óA åï[épí
ë ôjøSøTA ' í èK íïFq ökæKó ù
û û ¿)¿
øTA ' íKè íï épå¦Ä
A íïðäèKõÀíø3ù ë æ í%>?N ôðøs¹6×¢ ³00 ù©} ùSù
ï^íXéðóKï0æ:éðïÈþóXíSú þ W
ï^íXéðóKï0æ:ôpè õÀíjú
û
`
?
<*+[
5[ H
N ?=.)*+Ê c .! @ c :#![?]_
[,
",*1 # ?!
[
~.
ì N *1
]!
& î*+
$
!
.j JK!
.!
~5r ?=.*+ô ô
.! @ ô
v
#!1 H
",*1 # ?!
+^=.*(
j 'I
v
%w EHb?QU
989%EÕ6Ö ªF4ÄQKuEf9KuEH{|
Fó
= ë çìXå3ë ÌõÀíXé¹6×¢ ³läå3æÀépí3æ¶éÈøsé éJXîDíï[ì íXé íKõ?Aå3æAõÀí¸ïðíKõ?Xå3æAõÀíKù
û û .
ï^íKõ?A å3æAõÀí õÀíXéT
íKè íïÈø, äåjæ¶é^í3æ¶é Dt æAçÀå3 ë æAñ
0ñ?Ko ë %0ùú
þ W p
ë ôjø^èKçÀçÀí¶épõ¹6×¢
³ øÈï^í3óXíKõépùÈù
#õÀíXé¹6×¢ ³läåjæ¶épí3æÀéðøÈï^íKõ?Aå3æAõÀí ùú
åóÀéSökæXíX÷¹6×¢ ³F® óÀéJF óAé^î#éðï^í èýÌøÈï^íKõ?Aå3æAõÀí ñKíXé®óÀéJFóAé^î#éðïðíKèýÌø3ùÈùú
í õÀí?#
å3óÀéSö¸ï^íKõ?A åjæAõÀí ñKíFé óAéJF óÀéðî#éðï^íKè3ýÌø3ùþ ú
û
þ
J 1
.
Z.*4*+
4
# ",
) 9 ;",*4
# ? @ 4? +
5 4 #!
),
=) Ief(=.
& ,
",*1# 1
.*1+
",*4 ! .(+
.5
/#!4].
r" !
]
" q
.*1c",?*4*+g- g
.
"??cr",*1 # ? ,i
",*1
# ,
?] ? 1",*1 # , + ,
4? ?
\]
I
Ì 5
!
.
Z
N
",
~=ÏH.s!!O ¥¦) #
"H
)â*+I¦
•
!",^¥¦
",
"¦=Ñ'I
`
. @ Q Ð5
.
GG P ,
/ *1
.
G9Ð Ð
ZL",
.!
.&4 L",!
5
G
)
!
5*(
@ *+?
^?
>Á
@ D T=."q,
^ "?T].r
!
##D ZI -",?
#
v
. @ q T5
.
c:
,
Ê
.c:
][q :! ? [[T N
",
&
",!
.
,
Z Z
.*+*( #ô!
@ N !
>]
]?# #
"H
1
?
"
IFJU*( ?
ÚV*+*( #Ú Ú Ú!
cd
##ì=.
5 T V
N
",
+",*1*+ !!+ N ]i]
-
+ 4!
"H
I 0I.3I 0I
J *1*+Tc N ]]
[
c r5
& N
?!*1
Z: ]
[",*1!
. [ ,
K
.
#< ?!
5a
>=.)*("? 1
5
5!
;
. ;9=.5
./=h=) "?I
`
=)
# @ þy]
# !!
. y
y!
"H
#
"? !
. y?!
5
"
<#*+?
?
.ô
r*+
>
##UV","!$Y N !
. Z.
.îN
Y!
ZIð?
.=.
. @ N N
Z
q*+
>
##c
","$q F =h=##?
5[
",F /]
a",*1
. a"? =)
#
.!
!=>=) ","
5I
`
. ) :è\JK"$cN è(_
*1
$,_n
>
5q
c? !
[ *1
:
Z
!
.c9"?
T
.
<*+I
ef +=.
)
(!*1
# ",Ü++
>
Z
@
! <#!
-]
.-N
*(B#
#5
; \9
Â"$1
(9/ N !
?
4 \=
#
I
J
>
.
. ) è(1f
#"?,
d
#;!
!
","$??
( =).
Z*+?
5^+b @ 4 ib ?
# <#
I
v v
`
"ÉB
Zïè\JK"$U ,
q
UZ.
5*+!
g U
.UN è(_
*1
$,_
±
~ ÊÊ(I H_
*1
$,_I 5Z I
c N ,
5 a?Gð*+",
)& (?=>=)
Fì",
c ! #"$
]
v
!","$I .;
!l L#5
5 #DõreOç'jhâÊ{ ¡L N
",
l
1L
"? =) "$
.
!","$I
l
(
!","$I
.>
r
R S#5
5 #gõreOç'jhâÊ{"
?!
I^8g=. "?
=) "$
.C",
Ð \=.?
[*(
=) c M
_*+?
F !"!) !
5
~hiI *1
Ú V*(
<#
]!
.s
Ï
5
Z 1Ñ
Ï
5
Z çñ
) Ñ
!","$^Ï5
>
Z çñ
) Ñ
Ï
5
Z çñ ",
1
Ñ"
?!B#
!","$I
Ï.
5 Z çñ ",
1Ñ
Ï5
5
Z 1
Ñ
a","$
P=).
Z*+!
[>
"
F
Q
ì
Z& ^=.?
[ ! ?
5
#F]
"C C
5
Z
v
Ï","$s ","$Ý Ñ ",*4*+ ;*(?
#; N *1
4
]!
s
ÏmÍÎÈ
Z; *15
7¥¦.]I !
I *n¦mÑ
ÏmÍÎï
5
Z 1
) ¥^¦
!","$I¦
.=) 1¥^¦×","$1¦mÍÑ
Ï$!
#*1 Ñ
Ï$
ÑEÏ
^Ñè^JK"$+
*(,
#.
"Ï5
^ÑEÏ$
Ñ
Ï
1 _ Ñ
â+","$ 5
;sÏm¥!lk
.~5fmÍÑÏ1Ñ
Ï","$s ","$(
*+I ¥¦u3,I2 ¦ºÑ
JK"$ >
s Ï m ¥?lk
.~5fÍ m ÑÏ)Ø~=)#$ ;]>_3,2+!
",
,ºÑ
Ï","$s ","$I ÑÏ
"_ ÑÏ$!
#*1 Ñ
. H
. 4=."B
*+!
+
5
Z B=.?
"$.Z
/
Z;9
.1#
) ! 1~)?
5
v `
# =). $1]
Z
.
5I
./;","$
N "#*+!
. . @ /
5","$
/# ,
.
=) IgJ
!
lN :N
",
È : W3,2!
", È!
#Ô"$ @
.=)5,×"$
?!*+!
1
.4","$
1 H
?
5*(
@ *+!
*1 !+9.
I
jH ,
Z
*+?
?
41","$ 4",!
.
-
+ 1",
#4N
4? ? 1!
?
.
s
Ï","$s ","$(
*+I¥¦u3,2I¦!",^¥¦!? "¦Ñ
>I IhI
Ï","$s ","$IÑ
Ï$
.=D¥¦e*1
0I ."¦ºÑ=).,"$
=Ï#Ñ
Ï
_"Ñ
Ï$?
*1 Ñ
§ £ª1³
¨ ©1i¼ .²³
ã
ÏmÍÎï
5
Z 1
) ¥^¦
!","$I¦
.=) 1¥^¦×","$1¦mÍÑ
Ï$!
#*1 Ñ
Ï$
ÑEÏ
^Ñe*1
0I 51Ï5
^ÑEÏ$
Ñ
Ï
_1Ñ
{ $
Z4
$1","$IhI>I Ï1Ñ
Ï","$s =) $1ÉH!_1¥^¦ñ£
²?²?¦·!¸ £ ¬.© ¥.H©Å"¦?",^¥¦
",
"¦#=Ñ
Ï$
.D= ¥¦e*1
3I ." ¦ºÑ
5
=Ï#Ñ
Ï
" _ Ñ
Ï$?
*1 Ñ
`
4b e*1
3I .(",
"$
>
(+",
+1
B
??" !
;" v¦£
²?²?¦·¸ £ ¬.© ¥.H©Å"¦I
` v
b e*1
0I .q!
!q"?
>
.q" =^
Ê]
^ q","$I
^
c
.q",*1*+#",
v
"H
.
@ & :" !
d
#c", "
_
*1 @ *+!
p
Ê","!$A [ ?=.*(
F
+ *(
Z \+ .
5
I
Ì
.
5!
.!=. @ r"?5
5 :",!
. .cN eb
OS",*1*+qb
Oè\GgjhOfÑîõ
$#
)*+
>
.?
Ê",?]5
c ?]",
a ,
5!
.a
c ",? . @ T " !
p
N eb
Ol!q
.?]?
?q R*+d*+qb Ñ1IJ
>
.T?
q ,
N $
q"H
]!
T
q
=) "$
.lG
*+!
/~) A=.?
",
. C "
*+!
5
PP",!
.
F
N ?=.)*(
^91"?4 #
>'I
5.2.2.2 Mettre en cache les objets retournés par les lookup JNDI
214
import javax.ejb.* ;
import javax.rmi.*;
import java.util.*;
import javax.naming.*;
public class EJBHomeCache {
// cache home references in Hashtable
private static Hashtable homes = new Hashtable();
Context ctx;
public EJBHomeCache() throws NamingExeption { }
public static synchronized EJBHome getHome(Class homeClass) throws NamingExeption {
EJBHome home = (EJBHome) this.homes.get(homeClass);
if(home == null) {
ctx = getInitialContext();
home = (EJBHome)
PortableRemoteObject.narrow(ctx.lookup(homeClass.getName()),homeClass);
this.homes.put(homeClass,home); }
return home;}
private Context getInitialContext() throws NamingException {
214
Source: Ravi Kalidindi and Rohini Datla, Best practices to improve performance using Patterns in J2EE,
+
" "$1 S*1 !¡R","$R
#< g P .*1 <#S ?]",
&^ D" !
1 N @ N 9
v
K [ /F#
"H
5!
FH_
?
5
]?
.sâ*(O F$ !]. ¥
~â*(O 'eb
Oò*+
JK"$I Z
)ò*+~â*(
O I Jp
??¨§
`
/=) Z
# x[*(!
##[ Z
F>=.*("? @ F"?
>
./
. "$
@ [)*(
f[# !
+!>] jhOÑRõ
$#I
Figure 48: Comparatif des performances, caching des objets EJBHome vs génération d’une requête
JNDI pour chaque invocation
215
atomicity, consistency, isolation, and durability
¸ ¤5¬hÅS¤#© £
¥FÖ^!L
5
. @ N
l
.?"B
DðK3D*(
=) L P",!
.
¡N
L
!S
ú
q
@ N
r
.?"H
qð0¡
\"?g",!
.T]!
@ rðK3q N =>=#
"H
D g",*1*1
)I
Ì
#< F
"H
# ",!
5
ð0& ðK3+=h=#
"B
/
. "É(
f " !
!>]
*+!
ð01! #
.?]4]
"i + ?=.*(
@
? .=) <
.!
i=) < *+?
1",!
.
(
`
!FF
/~#"B=I=) Z
# ù 'I N *4
F
]!
K*+
f[*1 ?",*1
##a"?
>
.
_
*1 @ I
3I 8 D" !
Ì @
G
¡!
5) ?
R
Ò3,2
2
2D
4?S",5
.¡l"!#
4!=>=#
"B
P
]
#*+!
úÒF3,2
2-]5+ 1",*1?
.4N
(" !
O @
B
(? +vÒ17
2
2I
`
0I ;
.!?"H
+ðK3^
. ",*1!
.11" !
Ì éÒ3,2
2
"#
.;"?
,4" !
Oa
*+d*+F*(!
5?
? =>=.
"H
",*4*1
~) /? /" !
Ì ]
!
Òù
2
2
f"?
O]
!^
Ò÷
2
2 'I
ÎI Ò( @ *1 !
", ;
#<
& /
#.?"B
ð06%.tp ,
" "$
a
", "
!
.#d
5^ Z
Ò3,2
2; ) + 1" !
Ì I
I ef. ?N
.
<*+
.
"$
@ ðK34=h=#
"B
a . "É; f
N .
I
Ì ;
.1;. "É- (? - -?4" !
5(]
!
",*4*+ (
5 !
]!
!
+
.?"B
*( " !
Ì ,
5 .
. # ]
!
..d
54
Ò3,2
2I
«
¤#©³© £ ¬5£´
¨ ©¤#© £
¥s!
.
p . @ [ðK3F
p
[",!
.
@ [ð0q*(
=) []!
@ [ðK3
Ù
N =>=#
"H
; 1",*4*1
~#"B=IH= Z
#17
2 'I
f¢ Ä£«!¬5¦ªW¤#© £
¥Ö!
.
^ . @ N
.?"H
T#
Ü,
^
!
A?"B_" q:]
q
#! \ =>=##!
. ^9 *+d*+;# @ d
.I !*1
4
( +=) Z #173(s
v
3I è+kÊ8KJ ð ¥ Ì 2
23i
JKè+Ñ Ì âÞ kjhk ¥F3,2&?]?
4
!
i
#.?"H
!
I
v `v
0I ðK3^
"!
.; # @ d
.s?Ke eJð è+kÊ8KJðõròÊeÊeaJè+Ñ Ì âÞ kjhk ¥F3,2I
v v
ÎI ð0 !<#
|?]C
# Z ,
##*+?
±
=>=#
"B
|",*4*1
sôjhâKeð
è+kÊ8KJð ¥ Ì 2
2 0SõròÊeÊeaJè+Ñ Ì âÞ kjh+ k ¥a3,2I
v v
I ðK3
"!
.R",#¡
T=. l# @ d
.g¡ N
5g0Iief g!
!
\ #
5
5
=>=##?
5\ . @ ; # @ d
. N -"$ZI
;
#]
+"? R
" !
5r¡ R ?!+!¡
.
#&^ DZ H
.DS
! r
v
q*+
i ©?]
#q q*+
",
*+c]).
ZT
q
] ?N ?
I
216
Cet exemple est hypothétique. D’habitude les chaînes d’intérêts sont déclenchées à la fin du mois et le client bénéficie
d’une période de grâce qui peut dépasser les 25 jours.
J ¡*+
",
*+ ¡# Z ??!
4?
S g#
gG
"H
# @ G g.
N
")
#IAk
*1*+!
iR Z.
)
."$
iT(OkÊì!
&p T?]!
N
@ s
Ì
44
.+ Z +~# # Z ,
.*+?
5?'I
Ì
44
.-", +~#"$*1^(
>
#)
!
5,I
Ì ?-
5
I
Ì
5!
.;
!++
I
217
Figure 49: Dirty Read
k1
;
",
@
!
! +!
h_ 1
!
..
Z ]
"4 /
?;;
&
;
.?
"H
;?!
#.
.
! F a*(
/
" .
=IcJ F Z
=) @ a FZ ,
.?"B
+ H
",,=)
11",!
. N eb
O6%.
@ 1
] ?4N ?
4?!
!=)
1
] ( =) "$
.^+
*+!
1 N !
.)*+ #4; N Ì j?b?ð Ì 6%.I
v
`
+
5
(0Î+=)
(
] ?(N ?
(
",
\?\
.?"B
4eb
OI
217
Source: Ravi Kalidindi and Rohini Datla, Best Practices to improve performance in EJB,
http://www.precisejava.com/javaperf/j2ee/EJB.htm
218
Se rendre à la section 4.2.3.5 pour un comparatif des performances de la persistance gérée au niveau du bean (BMP)
avec celles de la persistance gérée au niveau du conteneur.
219
Les sessions beans supportent aussi bien le mode déclaratif que l’API JTA (Java Transactions).
Incidents
Niveau d’isolation Non Repeatable
Dirty reads Phantom reads
reads
TRANSACTION_READ_UNCOMMITED Permis Permis Permis
TRANSACTION_READ_COMMITED Non permis Permis Permis
TRANSACTION_REPEATABLE_READ Non permis Non permis Permis
TRANSACTION_SERIALIZABLE Non permis Non permis Non permis
5.2.2.4 Accéder aux entity beans par l’entremise d’un session bean
JK*1*+gq N ][]
q R5
!
h_r c?!
:"H*1
?!
>
#<
?!
5
>=5)*("? 1N
a>
."? @ N ;?!
?]",
+]
ÊÑ;j çjhj è
v
N !
#
5
K#"? @ N H_
"$
.
!!
K
.
>
5]
""?
c
!FF
??ç ."?!
.I
â
5!+
. @ . @ \!
h_1 ^?!
?] @ \ #
"H
.*+?
"$"
4 .(*+
$ - ,
#.
.
4",*1*+; +
#.?"H
I
`
=.
+=.#"? 4# @ d
. -91
.
.
+!? ; +]!
N d
#1 Z
4~>]
+
D
", 9C N !
>_S S)*+
4N *+ # ¡>=.)*("?gG N
",
",*1*+; ;*(!
## (=) Z
.L7 0I
Figure 52: Comparatif des performances, accès direct à un entity bean vs accès via un session bean
220
Figure 53: JDBC-ODBC bridge
`
a) ]5aT ¥©¹?§
¸ µª+©:·,£ ¬. »
¦¤)¸ ©",?]5
??!
a
FT N Ì jb
kÊOJP]
r
v
!
.>=."?/
]/~>b
âpj @
? ,
5
.
/f Z,
# /
!
Ij +??
;>=.*(?
54",*15
]*+?
?1) ].+
#*1 <#",
. Z
) /*- ;
@ N
=."H
!
",#
"H
5*+!
>
;
?_?
5 ",
;
d
## ,
5
1
H
.;
" !
~.N ËG *L5
_\b!]1) ]5I
220
Source: Nitin Nanda, Learn how to deploy, use, and benchmark JDBC driver types 1, 2, 3, and 4,
http://www.javaworld.com/javaworld/jw-07-2000/jw-0707-jdbc.html
`
4) ]54/ ¬¤.¦¸ ²¸ µª+©·,£ ¬. »
¦¤)¸ ©??
?
<.*+!
")
>14b!]/
N !
.< Z#!
#"$
.
"B
#9
#. +
.
Ij 1?] !
f 4
4 N Ì j b
kÊOJ9F
/*1
!#;]
v
D
.
5", l
!
-Z ,
#Rl!
!RR
I Ì #
",!
D"?
1 *1
!# +",?]>
1
;
.
5"H ;
" =) @ ;4Z ,
#;
!
`
1
I -) ].\ ",
. Z
) ;Î4=h=)#?
;*+
] +>=.*("? @
l) ].lÐ Q",
. Z ) L0M#"? @ N l
5
.?
¡
.
"$
@ ¡N !
*1 ?
",*1*+c [Z H
F","$[
c
: " Z 66%'I Ì
. @ N ]
""?
>
.a",
. Z
) &
" !
N
+? (N ,
5 4) ]!
,] !
.. Z ] "(
?44
I
221
Technique consistant à partager et équilibrer une charge sur plusieurs serveurs.
223
Figure 57: Database benchmark/ Ziff Davis Media Inc
222
Nous rappelons que Connector J fait partie des drivers de la catégorie 4.
223
Source: Eweek, Database benchmarking, http://www.eweek.com
kC Ð
.QM"?
>
.C!
"H
ÐP
.C
C*1
@
+*(!
#Ð",*4*+?
*1
*+!
.
L",
"H
M
G
Q
M
",
@
4!
!Qð*+",
F",*1*(
",!
.
&-Ñi_ @ Ê",*4*(¡Z ,
#¡P
!D¡
g
1JK
"H
5+bg",*4*+
) ]×I
224
Site du projet: http://jakarta.apache.org/commons/
225
Le code source pour tester cet exemple est disponible à l’adresse suivante :
http://christophej.developpez.com/fichiers/pooltomcat/TutoPool.zip
`
) ]pJK
"B
5KbF
p =) "$
.b Ì l [!"ÉB
Z /b!ÉB5
5 ç×JK*4*-
kÊOJ
• v
3I 2&b!ÉB>
5
ç×JK*1*(aJK
"H
F0I 2:
Kb!ÉB>
>
ç×JK*4*(
3I 2c ]!
Êd
##
` v
,
5 \
+ ;#>
5 . ÒJ Ì ð Ì jhâ Ì kòè(Ñ1e#"H*1*(H I
JK?=) Z
.
rq=) "$
\g
*+!
iI *1
-
" =) 4 ¡*Wb
âÊkpjÊ
•
k
5f
#"?~.
##*1
& !>]
N
Å ðf!
5
N ;=.
5
N
v
"ÉB
Z *1*+ Å
!
>) N,
!+4
^,?ç ."?!
. ^N
Å
!N I
÷Ní= è} þ þ W þ
W j ë õ? èXü æXèý®íF} ÿóÀé^ål ³ åKå 3 ë õ? èXü æAèýÑí}
û W û û W
õÀíï[ì íXéJ}
û
226
Basé sur un tutoriel de Christophe Jollivet, publié à l’adresse
http://christophej.developpez.com/tutoriel/j2ee/pooltomcat/
227
Cette section doit être placée après la section servlet-mapping.
J ?=) Z
#X y=) "$
ï!>]I *1ì~.
"? =) "$
X!)*+
±
?B.
K
•
",)# ?
[?Ú5*+<
## QN !
$!
=) ",
MN
Ú!
?
.
@
4î .
N "?"? 9
!+4
?I
228
Cette section doit être placée avec les autres déclarations de contexte entre les balises <Host> du fichier server.xml
ë ý X åï[épl èXìXè þ õ þ ½ ú
û
ë ý Xåï[élpèXìXè%> þ æAè3þ ½ ý}ë æXñ ú
ë ý Xåï[élpèXìXè%> þ õÀíï[ì X í é þ ½ú
û
ë ý Xåï[élpèXìXè%> þ õÀíï[ì íXé þ ½ 'Àé éJ ú
û
ë ý Xåï[élpèXìXè%> þ õ ú þ þ½
û
Fó
= ë çç èKõÀõ:ÿ þ óÀé^ å þ ½ ³låKå í%>Àépíjæ%Kõé éJFîíï[ì íXé
û û û û
Fï0ë ìXèXép* í èXépèîå3óKï^çÀíKõKúd è}õÀåóKï^çÀíKí å3æ æAêKíKõ
û
Fï^åXépíKçépí ÑìXå3ë K
å ¹íXéðø
é éJXîDíï[ì íXé íóFíKõéjï^í3óXíKõ¶é
û .
é éJX îDíï[ì íXé íKõ?Aå3æAõÀíkï^íKõ?AåjæAp õÀíKù
û .
éJF ' ï^åX÷NõîDíï[ì íXést>XçÀí¶éÈë å3æ +t>XçÀí¶éÈë åjæ1
û
ï^íKõ?A å3æAõÀí õÀíXé^ä|å3æ¶é^í3æ¶é[ÿjü
Ap íøHÈépí%>Àé J'¶éðý 0ùú
û
³ ï0ë æ¶ém
C ï0ë é^íþ ï3åóAéjökï^íKõ?A å3æAõÀí ñKíXém
C ï0ë épíïÈø^ùú
åóÀé F ï,ë æ¶é æFø À' éðý } A' í è} þ JA' íKè
}
0 ùú
û û
åóÀé þ F ï,ë æ¶é æFø X= åX ü}
0 ùú
þ
û
äå3æKæXíKçéÈë åjæçÀå3æKö3æKó ú
ûû
î#épèXé^íý®íjæ¶éõXöjæFó ú
ûû
íKõXó ðé îíXéjï^õFö3æFó ú
. û ûû
éðï[ü ðï^êKçX
ó Aêï^èXé0ë å3æKí è¸äåjæKæAíKçéÈë å3æKíKó ë õ í*èXépèîåó ï^çÀí
û û
Képè= í íKõéjóæAí®é^è= í3ó ëÒí õéõXó
A þ åKõÀêKí}í%> ë õépíïK è3æAõ è*=AèK½ õÀí í å3æKæXêKíKõä =AèKõÀí2
û
û û
÷1K ' ë í¸øÈï^õ æAí%À> éðø^ùÈù
û
þ åóÀé F ï,ë æ¶é æFøÈï^õ ñKíXéðî#éðï0ë æAñø ù 0ùú
û
þ åóÀþ é F ï,ë æ¶é æFøÈï^õ ñKíXéðî#éðï0ë æAñø"Kù =FïmH}
0ùú çÀèXépç?'
û
øðîhÀ£
t>XçÀí¶é0ë åjæíKù/ ï^íKõ?A åjæAõÀí õÀí3æl t ïÈï^åïÈøþ
&tX> çÀþ í¶ éÈë åjæõXóKï èKçÀçKõ èyò)S
û ! û
íKùú ôÈë æXè üDë ôjøÈï^õq öyæFó ù þ p
ûû ûû
éðï[ü
j ï^õ ç åKõÀíø^ùú
û
þ çÀèXépç?Ñ ' øðîhÀ£
tX> çÀíÀ éÈë åjæíKù
ï^õ®ökæFó ú
ûû
ë ôjø^õq öyæFó ùj éðï[ü# õ ç åKõÀíø^ùú
ûû û
çÀèXépç?Ñ ' øðîhþ À£
tX> çÀíÀ éÈë åjæíKù
õ®ökæFó ú
ûû
ë ôjø^çÀå3æ q ökæKó ù
ûû
éðï[ü#çÀå3æ ç K å õÀíø^ùú çÀèXépç?'ÑøðîhÀ+£
t>XçÀí¶é0ë å3æ®íKù
û
çÀå3æÑöyæFó úþ
û û J
åóÀé F ï,ë æ¶é Fæ øT=AåXü
}0ùú
û
åóÀé þ Fï,ë æ¶é æFø T'¶éðý }
0ùú
û û
åóÀé þ ç åKõÀíø^ùú
û
Fó
= ë çìXå3þ ë kë æKë éðø^ù3Té 'Fï^åX÷NõîDíï[ì X í éTt>XçÀí¶é0ë åjæ1
û û
éðï[ ü H ðï^êKçX
ó Aêï^èXéÈë å3
æ Kí èÌõÀå3ó ï^çÀ í K í KåjæKæXêKí
û
4 QKuEJ9%xEI K?I EH4E xNK9?Ú KI EJI 75 4QKuE9%xEH{|
V
U8+N{s¡7%Ef7D©Q`Ga9|FI KI E4¢E x 5 QQj`^?{JOmm7%g%7< aQv ^Æf9KugÆ mUM%adÆmi©`EfQª0QQ5 O\|
V
çÀèXépç?'Ñøst>XçÀí¶ éÈë å3æ®íKù
éJ'Fï^åX÷ æXíX÷
8] e"?!
~#I Z
Ñ( ??
Z~.¨§ Õ
Õ~Õ
f *1
. /
5 /
& ?=>=)
/=)
.*+<
## ;
]!
>1
=) "$
v
! >]I *1s
k g D!>]
^ðf
. &i g=#*+
#gl ¡"H
]
" l*+
$!
D"
!~.
v
.] @ a
;? H
)"H
#"? @ a [*+
$!
/N
@ /9[
",
Z @
`
9
a",
a$?_ @ I N
*4
$
F"
!~.p*+
)&
!
5Á
&
F
/#
"
#f ",
@ N /
?!d
./# =h=#
"B
.
9
/?] /# @ d
.I
T
.
Z.*4*+
p
:
=#*+i q",
c"? ç"T#]
!
a
c T
N
",
1) @ 44!;
@
=.!
.+4",
\
I
`
",!
. ð*(",
!
d
##;",,=) Z
# .
"?!
5*(
@ *+!
(",
;
/ [
/",
F [
.
Z.*1*+
.
f
[ 1=#)*+IJ
h
5F",?=) Z
.
!(=.
Z
*+?
!+ -=) "$
!>]×I
*1? 1
\ +.*+<
## ^
]!
54s
#¤ ©ª(¦Æ©p´£«¥
¦«© ¥ÐÖK?D]
1 ,
4 Z
¡9¡
#)P S",
D ,
4"H #
•
",*1*+
~#
"1 Z
9a a#
"
.
/ ,
"H
]F
?
( @
H ,
)
91"?
B1.*+<
#;#*(] Ì
ðf *+ ?
I
¤#©ª(¦Æ© p´£«¥
¦«© 1¥ f¸ ª+©¦¹!¬pÖ!=)
!
",/ /
.*1 ]!
@ " !
",
•
"H
] 4?
", .
1",*4*++
;~5?+]
=.?
H
Î
2
2 I
¨ ¦
"» p´£«¥
¦«© ¥TÖ . @ ?]
,
Z
F9
)&ð*+",
B.!
.
/
5"?F
•
4 !
",
@
B4
;",
I
`
=) "$
]!
K*(?
.[",*4*+!
B),
.Ê !.*+<
#
*+# " ç ?
=) "$
!>]I *1 I
Aèï^è3ý®íXé^íïJ}
ÝsÝså
æAè3ý®í}ýÑè%>çéÈë ìXí È æXèý®í}
ìXè óXí} ìXè óXí} TAèï^è3ý®íFépíïJ}
û ® û
Aèï^è3ý®íXé^íïJ} æXèý®í}3ý®è%> í È æXèýÑí} ìXè óXí} ìXè óXí}
û û ® û
JXèï^èý®íFépíïJ}
Aèï^è3ý®íXé^íïJ}
æAè3ý®í } ýÑè%> C èjë é È æAè3ý®í}
ìXè óXí}
ìXè óXí}
û
û
JX èï^èý®íFépíïJ}
èï^è3ý®íXé^íïJ} æXèý®íX} ìXè ë èXéÈë åjæ%
A À óXíï[ü 0 æAè3ý®í}
û
ìXè óXíK } õÀí íKçé ìXè óFí}
û û
û
JX èï^èý®íFépíïJ}
èï^è3ý®íXé^íïJ}
A
æAè3ý®í } ï^íýÑåXìXí%A= è3æ%K å3æXí È æXèý®í}
ìXè óXíX } éðïÈóXí ìXè óXí}
û û
JX èï^èý®íFépíïJ}
èï^è3ý®íXé^íïJ}
A
æAè3ý®í } ï^íýÑåXìXí%A= è3æ%K å3æXíK ÿDë ý®í åóÀé ÈæXèý®í}
ìXè óXí}"
ìXè óXí}
û û
229
Basé sur un tutorial de Christophe Jollivet, publié à l’adresse
http://christophej.developpez.com/tutoriel/j2ee/pooltomcat/
JXèï^èý®íFépíïJ}
èï^è3ý®íXé^íïJ}
A
æAè3ý®í} K å ñ?=AèjæKåjæAí 0æAè3ý®í}
û
ìXè óXí }XéðïÈóXí ìXè óX í }
û û
JXèï^èý®íFépíïJ}
â
5
Ê
. @ T N
"!
[N
q
."?
#c,
5"ÉH
: ,
A
.
@ :"?
N
Ú# @ d
.Ú)*( #"? @ N Ú
.=)
.MÚ ô
??"?MQ>]
@
+ ,
Z. *+!
*1 ?Q!
@ M M
,
.Q" !
I 8G!
#C]!
5
ZC L
."?
#
,
5"ÉH
(;
#.
9/ 1=."
.;*1 !;9^.
;
*+!
Ief1=h=#
."? @ ",
`
Ò ,
"?!
#. ! w*(
=) ",
>
5
9y y
."? #w,
5"ÉH
z??
!
5*(
@ *+?
##"!!
.
\
5( -" !
5 @
? N
!
I
i
-
g
."?
#T,
5"ÉH
]
Tb
kÊOJ& =.!
!
.
-
g#=##"?].q
v
#
FÐ
h_
JK
5
.*+!
c ! !
.*+ #MÚ V*+
$
Ú
##JK (
! !
.>=.
"?JK
"H
I J
>
.*+
$
#
Ü,
!.*+<
#;4
h_
) Z @
?",)#
1*l
."? #+,
5"ÉH
;
#
"? +4*(
" 1", I
â :
# !!
..[
!: r# ,
.q"?
h
.!
"H
q
:*1
*1
,
5r
^*(!
##
",*1*+?
5"?
#FH
5"ÉH
9c5
b
kÊOJIâ/#]
.;
5!
.!=.
(
."? # ^,
5"ÉB
\]
"-
\+
5 ^
+ 1!
"B
+7I Î
`
"$.Z ;
.] !Z
#
/"? +.
;!
d
##
. Z7Â", ?# @ d
.
#
",*1
q
## D
5
.*+!
>q
..Z
r
!qg
I
` v
. @ S"? ¡# @ d
. ?!
1
"!
.
¡
G
#*1 <#D=. R g?!
1",*1
g9
N ,
5r U# @ d
. V
5
.*+!
)IcJ
!
)&aW Y?
<*+ï9X W<*+ô=. U
Z ,
#r
!
:r :#
",*4
r
IÊj!q",!
.!
.:r#
"$#"$
#
"H
.*+!
\ :
# Z ,
##*+?
5 @
#!
A9R
.:")
.<# Iefc=.
^ ##
v
5
.*+!
5c??
-
= @
)*+
ô %
##( &
g# @ d
.g
=. T
5!
.&
! "!
.
. =. ]
" .*+<
## =>=##?
5 I
@ N ô",!
)
!
T9X N *+ .
î ï>=.*("? &: V?U",
v
]!
. \
]?
d
#;#
1s
`
1,
#)"H
#4; # @ d
5 # H
. *+d*+
?
N
"!
( N
",
I
/ /.*+<
## a
# @ d
.F"$Z?
~. / N *1
F" ç) ??!/ / !
5
N !
.).
Z
\",# !
?4.*+<
# ^; # @ d
. 'I
##
5
.*+?
.
f ë¥;",I
#.
5
.*+!
#~
v ` `
¦8 k Ì ð eaJè+{{ee[KeðF Ì ej¥æ-õròÊeÊeFJè+{kâ Ì Ñ1e jhøeçæI¦)¨§
v
230
Figure 58: Architecture du serveur MySQL
230
Source: Jeremy Zawodny, Derek J. Balling, High Performance MySQL, O'Reilly, April 2004, ISBN: 0-596-00306-4
`
ï
5
aOkÊO& @
N
. ?!!
Ê F=) Z
#[7
x&?!
H
5"ÉH
Ê
• `
@ 1(?\=) "$
. I
#*1 & @
B N !
.! I =)*;&!,
5
"ÉH 1=)
(
`
4
5
I +?
<*+4 N !
. ;I +
",?
!
\
-
( I
` `
.P S"#
RN
D
5
&\ =.?
; @ 49LÑi_Ò @ p*(
. 4¡,
>"ÉB
Z
!
!×IJ q!c=.
ii r
: ,
)"H
!eâK+jhâÊeD
ðÞ eF",*1*+r r*(?
#
v
N *1
4
]!
s
`
JAÊe Ì ð e/ð Ì O e/
~)!jhâðfeâK+jhâÊe ¥/jhâÊâè+kÊOà§
`
JAÊe Ì ð e/ð Ì O / e
~)!jhâððÞ e ¥Ñ1efÑ(è+ÞU§
v
`
. @ c c*(
.
a,
>"ÉB
Zc N ,
F
#
" !a[ N ,
"H
]&"!N ,
F
h_
c
=.!
@
,
(!
!D~Ñi_j Ì Ñ\I
-"$Z+ r
h_
N
r
5
Í.9D"#
&A =.?
` `v
!
! ;",*1*( Ì ðe
ð Ì O e&",*1*+; ;*(!
## N *1
+
]!
s
` `
Ì ð e
ð Ì O e/
eâ+jhâe ¥ÑiÞj Ì Ñ§
` `
Ì ðe
ð Ì O / e
ðÞ e ¥OkÊOP§
v
j ,
- *1>
5!
iR.
@ R c
5
Tq
.?"B
:?!
-
T.
:9
.
. @ [ ;
5
1
.?"H
Ik[
/!
!!
*( N "? @ F
*( \;*+*( #;
+*1 ! ^9. ×I â
5-
. @ s
`
a
5
Ñi_j Ì Ñô??
p!
*1 !
c
A
5
.p éèëê ìFíîF",*1 ![qù
2m
N .
\
"H
#I ef \
!
4>=.*("? ^
5?
@ .
#
5(\)
.;# ,
.4( Ü,914"? #"?!
5 Z!6×E'%'I
`
(
5
;Ñ1eK(e:?
!!
*( ? ]*+?
; !
.
.+4=) "$
. I !*1
/
v
5
CÑ1eK(e @
A",,] #M3,2S!
##
5
D
@
A ,
!
!
La3,2P.?
",?*4*+3,j2 *B3, 2 a3,2 !
.
.\(=) "$
.+~'3,2(=) "$
.\4
-
f3,2!
?
.
.
]
";3,2-=) "$
.^^ ! 'I
`
4.
4
"H
.?!
#< !
.4]
"; +
5
4
h_
FÑ1eK-e~)
#
c"
Z ,
#qÑ1eK(e
p#",
)
5[ =) "$
./^ ! a
5
\?,ç ."?!
. ( ]) =) @ H,
+
."$+ 1" # "$."$
I
`
(
5
òÊe Ì ??
"H!>]
4 *+*( #Ief +?!
##< 1.
1*- 4 ;
v
. ,
.?
\(",
\1
!
5
Z4(;# *()5
Z4(!>]
I
231
Source: Jeremy Zawodny, Derek J. Balling, High Performance MySQL, O'Reilly, April 2004, ISBN: 0-596-00306-4
Ì ]
"¡
P P$
$¡
l
5
CòÊe Ì
P$!
1 Z#SS
"H
` v
# ? T??
4
!
.
I r=."H
. (¡. !
?!*+!
(,
4 .>
#
Z#XX
",
È~.È ?].!*+?
l
.>
[9Ô Ç",.
.
Iâ
5
`
"?
!
@ S
S S]. I.3&+Ñ^_Ò
5
.L S SOðÊee @
)*+
>
.?
K#*+ K9:"?
>
. ?
.
Iâ[#!]
.]
"a
[
5
+ (
+ 4!
"B
+7I ÎI ÎI
f!
1
R !
5 @ S T]).rR
5
D
5
5!
1 . @ N r?!
(
@ r9P
Z. 5
(; +
5
I
k
!
c
<
# #
5
5]
" # @ d
./-.
O_
5?
!
##
# @ d
. @
!",
N !
. Z.
.4N
(
5
I
è(!
+"HÏ!
N
*1
,
.
# @
H ,
)
91",
B i].\(
>
I
`
\.
\;
"H
.I
`
R.
RG*(
=) ",
P5
5?
1
; R" l
#
" ! l~#",*1*+S"? R
N *1
1" ç) ??,I
8 k Ì ðe/
5
%k*+1KeðF",
*11¥] (õròÊeÊea
@ %kÉH_ï
v `
kÊe eðe
{è+ÑD
5
%k!*+-õròÊeÊe[
@ %kÉH!_1¥ï
k *1
.?(?",A-è+8 OÞ
5!
.; 4
5
&!?^"
1 ")
.6×E)6uI
v
` `
\!
## +
] ?--]).
Z
?
\
+Ñ^_fÒ ?!
s
`
;]).
] a
Zs
@ *+!
]
"/
5
h_
cOkÊO
>=.*("?a H
) !
5 #F
5 F
c
Z
~#!*1
a",,
[?
. Z ?I Ì ] ";"? 4]. F"," #!
. ,
N !
5?
+=.
@
4
5 4 +
Z \ ,
Z5I
` `
(].
Zs
\
$
# @
H
")
*1
#,(!
# @
? !!
I
k\"?1",
]).^N
@ !
?\.
\N
"!)
#4
!(?(.
^
"B
#I
`
5
7
ù#
*+ F#
!
# F>=.*-"?& *+
",
*+ 4
;]).
Z&
+*(
.
.^4H
5"ÉB
Z+
;","
#?
.I
K©¤)¤.¦¹
¸ ¨ ¨ £
»©
â ¦«·¹
¤#©«!¬¸ £¨ ¸ ¬Â Ä£¤.»©4¥©+¬#¤.£Æ£¸ ¨ ¦ ¬.©¹
¤¥©4²H¬5¦·.B£
»©
é é ê
` Ñ^_j Ì Ñ;& ò &
ð
i=.
{
Ñ(.Z
`
Z-
Z Ñ-_
Ñ-_
j
kÊO×OkÊO
`
.
Z
- ]
ef ]
j
kÊO
232
Source: Méthodes de verrouillage MySQL, http://www.sourcekeg.co.uk/www.mysql.com/doc/mysql/fr/internal-
locking.html
? @
N /? $
.
#
"$#"$K
*(.a/
.
$FN
[.?
F
;
5
@
!",?
!
.< +Î
2*1 +N
I
?1
"?
./
. @ d
.",*4*+
`
Ke eJÕ ð *i{è+ÑÐ
$
É^õròÊeÊe
,
k*+ ¥ ! .?! & Z H
#
!
\!.1
Z4#",
)
5!+ -
# Z ,
#*+!
>\ 4
5
4]!
#
5
)
D#
5
IpJ
h
.r
.
"$
@ g ,
(
TÏ
+ =>=) ","?Ief Z.
D r >=.)*("?9
*+
# @ ;*1 #4N
# Z ,
#*+?
5 ~)
5
<*+1"
? @ 4(è-~)!)I
croît
k N $
c . @ N ?
$
.[=>=#
"B
Ê
c#
"!$#"$a
F
#c
×&!
K
4 #
"H
.*+?
4Z.
4
Z @
H",*1*+"?!
]
"( *+d*+
h
# @
"? [
*^
#*Úc .?
:#
"$#"$
IJ:
*+?
K H
f=."
.:p
"
?!*+!
$
@ [ a
Z
Ij)*+
:#
#
", .
*+!
Ê :*1
#
Z \91",*1
!I
`
! ;
4=."B
!
F [*+d*+F*(
<#I f*1
/
v
?
$
.G=h=#
"H
/ l.
"$#"$ S
l.
*+!
1
/ Q
?PG #*P!
`
@
1 (9 ;"H
1",)#
!
.41!
?!
N ,
)"H
Ì ðers
` `
Ì ð e
ð Ì O e[
$
É Ì kÊkrjhâÊkÊeET~)
,
k*+
`
Ì
#< l N
"!
¡P"?
>
.L ,
#)"H
&(Ñ^_Ò "#
L
L ,
.S.
Sl
5l
#*(\ 4
5
$
ÉI Ì ]
"( ^
5
+Ñ^_j Ì Ñ;& + \?!
,
5"!ÉH \
=) "$
.9q5
p p## a#
"$#"$[
[.
[~#/=.
K [
5
c",!
!
3,2
2
2 Z
& #
"$."$4!.3,2
2-=. +
(.
@ " !
;
"H
.4! @ !
6×EE×I
j \ ,
*15
5?
Ð
5 @ M Q"#
G^! ! P",?*1*+Ð ",
G^!
"?
*+*( #1
1 /
!;
;
Ik
1
*1 !;9^.
9"$ @ *( =) ",
4
5
6×E!
Z*+?
.
.*1
"??? #F
. ! 1.
1N
")
#Ik
"?F=.
)&f
=.?
@ :
"#
F^ ! ?
),
=
@ : /",
? @ a
?!
@ \? ?
,) " !*+!
"$
I
233
Source: http://www.manuelphp.com/mysql/mysql-indexes.php
234
INSERT , UPDATE , REPLACE , or DELETE
© ²¸ «¥©§© ²³£¤5¬¸ ©¨ ² Ö /)*+
>
.?
[#
#
@ !
.F[*+*( #a"H?*1*+
ß
i q"#
c
I Ì
N
@ i N
9:
5c
",."H
.<#
N
*^ #*Ð ! H
!
?
/ N
??" 9",5
5 4",."H
.<# +?
*+!
)Ik
N *1
C
]!
&(!
L #*1 .S"B
.
>SQ #*Ó?!
!
! L
F
"#
(; N I
` `
Ì ðe
ð Ì O e[
$ É Ì kÊkrjhâÊkÊEe T~)
,
k*+~ )'I
`
Ì
#< [ N
",
ac"!
p c
# @ d
.c",*1*+cKe eJ ð *1{è(Ñô
$
É
õròÊeÊeU
,
k*+ ¥ ! b!"É? I ! &1#
5
).Q G#
5
5P",*4*+Lb!"É _& b!"!É? &
b!"É? &?b!
"ÉB
? I ",!! @ !
=..1
"?
5
^N
;# @ d
.;
#
5 )
v
#
5
>
#
" ~jN
Z
A
"[
.?]\ q? !
:T",*1
.*1 c!
#
*1
#rR# @ d
. :9g
"!
.&A T
.*1R.!g
- @ !
.
D*+*( .
",?*4*+
( I
`
© ²S¸ «¥©§
© ²Pª1¹
¨ ¬¸ ©ñ·,¦¨ ¦«
«© ² Ö+Ñ^_fÒ *+
1N
@ l R9Q
.
ß
",
I
e*1
s
` `
Ì ð e
ð Ì O e[
$
É Ì kÊkrjhâÊkÊeET~)
,
k*+&H=) 5,
k*+
JTZ
#TN r)*(
N *+ #^",! .
*+!
\ q]
. ?!TN
"!
# @ d
. @
A>
.!
+ +
5!
.D g",
D
D~.
D
##l!*1
l"?
`
g
!
4G
¡>=.)*("? g] "D
G# @ d
.l",*4*+lKe eJð *
{è+ÑP
$
ÉÊõròÊefÊe[
,
k*+é ¥! b $" ! Ì âÊk[=) .,
k*+é
¥! ö!# ! I
v
fO rÏ
4 ,
+
,
gR",*1
4 5
q] "r
*1
ç
",
+
#
#; @ !
.4;*(*( #4",!?*1*+
s
` `
Ì ð e
ð Ì O e[
$
É Ì kÊkrjhâÊkÊeET~)
,
k*+~ &H=) .H
k*+~ )
© ²G¸ «¥©§
© ² ß Ö1 l?!
/!
! G F G#
"$#"$ lS
.!!
.Ð !
. Z.
ß ÙÊß
ß ãhð `
@ *+!
Ê] "
5
Ñ^_j Ì Ñ1I !
#
!
=.
5?
.T r .Z
p
",
:T
h_
gJAò Ì p& fÌ KJAò Ì M
ðeEðIAef#< Z rZ. &p =.!
5 .
.
`
`
"$.Zf +
(
!;
;
5
]?
/
@ f ; {8 ðeEðI
`
ì. ?L H
@ M Q"!$.Z*+?
/
F N
")
#G
L
L
5
CÍ.9ì !
Q
`
`
{8 ðEe ð[?]!
d
#()*( *+?
Z
I
`
k TÑ^_Ò 7I 2g q
5"?
# c,
5"!ÉH
q
"??
.!
\ "#
N
:
h_
Tq
5
" i
Ð
."I4JK
>
.P
5
C H
"#
G?
5*(
@ *+?
.!
/ ! ,
5
S
`
Ñ^_Ò 7I 2*( 4 , ,
?
1;",?]5
*(
>
##19i.
\
5
-Í.9
,
5!
. -
?
$
.a*1 Z.fN
]. !
.)
#F~) [
."?
#/F*1 !/9+. ,
")
./
5 B9 N
# ?!s $!
h
s >.]I*^_ @ I ",*^#
" )*\_ @ 5=)
Z.
Z
ç)Z.!
>ç
5
I$!
#*1 I
J *1*+gq N ]c
Í.9q]
q r!
"H
q7I 0I ÎI Î&ì q
."? #
,
5"ÉH
c??
K
`
"#
:]
"q g",*1*(!gJAÊe Ì ðe è-JAekÊ8pÊeI
^
f!q=.
A9D N rR
`
` v
",*1*(
;J Ì I
Å
«!¬5£§©
Õ
JAÊe Ì ðe è-JAekÊ8ÊÊeFk*+;~=È>.*+
.~È5&>IhI>I ÌBÌ5
v
È"$."B
.) H
"+I>IhI Ì.?
%k
_
`
,
.[:.*+<
## /
!
#c#?
$< ! ,
Z
5 #Ià! ! _F:
:.*+<
##
&
,
.(]
4
d
# @ ! *+d*+ ?
!
~>] *1
I
`
"#
.;
."? #1Kòèõ kK8 jhe:~.
` `
` vv
Ke eJðFK8 jheIhâ Ì Ñ1^e kK8p&J Ì {eIhâ Ì Ñ1^e kJ Ì {e
v`
{è+ÑlK8 jhe&J Ì {e
vv `
õròÊeÊeFK8 jheI K8hkjhw k ¥ J Ì {eI K8hkjhk
vv
.?_;â Ì Ñ1^e kK8
#*1*+
.
"?
#;H
5"ÉH
;1"$!Z! +",."B
.) ,
@ &
B=.!
!
!
v `
," *1*(
Ì ðe è\JAekÊ8ÊÊeI
v
Å
«!¬5£§©Ö
Õ
`
Ì ðe è-JAekÊ8ÊÊek*+È"$."H
.) ,
"+I>IhI Ì
v
"$."H
.) ,
"s
â Ì Ñ1e[!\*+
`
ñ Ò KeJA8Êpj ðw Þ Ô'kÊe{jâÊe ñ jhâ è+øeà Õ
ñ Jè(Ñ1Ñ1eâð/,
#) Z
=h=."?
;
."?
#4H
5"ÉH
& =.!
!
! ;",*4*(4.(
] 44?1*;I
v
Å
«!¬5£§©Ö
Õ
kÊè è-JAekÊ8ÊÊeÈ.jh{eEj ð Ì k*+
v
v
`
F
."?
#9
] #!
."? #,
5"ÉB
9F>
b
kOJg ,
")
.
+ 1!
"B
+7I 0I ÎI Î
;/
5 ;
."?
# 1,
5
"ÉH
;",
.
"
*+?
5
#
v
9 N
# ?!s $?
>
s h#]I*^_ @ I ",*i#
" *\_! @ 5=h#H
>#
çñ
.
"?
#ç)H_
?
5I$?
*1 I
à E Ä Ö"?
A!
5 #: _!
Ê,
5"!ÉHT q" :: ,
)
!
F
5
• ß%òóã ß
ã `
Ñ^_j Ì ÑL
fOkÊOIÑ^_Ò !
!/ 4" + ,
)
!
"
@ ?.#
\
5
-
]!
d
#. ?!*1
4 .- . !
# @
!1! =>=#
"B
?
-
` ` `
",,
5!
.T~)
^
[
5 [
Ì â Ì ÞeDð Ì O e&]
.^
.Ñ^_Ò 9
N
# ?!s $!
h
s >#!]I *\_ @ I ",*i#
"Í)*\_ @ >=)# _!ö ç
5
I$!
#*1 'I
`
AÑ^_fÒ
.)*1
F: N .#[
a @ ±
5
/
]!
d
#[!"H
v
N ,
Ê
/? *1
:#"? @ N
&
#
&f !
=)
5!
. a /",*1
?
?
IAJ
h
.¡ !
=) ",
,
i
##< ! ?!
.¡
+ r# ??
."? q
\",?*4*+
¡P
.*1 @ Q N
"!
SQ Ð# @ d
.G çñ*+d*+I1ef¡=.
/ N !
=) ",
S
",*1
?S
?
S!
##r) @ " ! 9P0ùl=. S
DS
.*1 @ N Ê=.!
"!
. # @ d
.!6×E)ouI
`
Ke eJðF",
5*+×I*+&!.I
.%k
"? &# Z I*+
{è+Ñl"H
5*+×&?.×&. Z
õròÊeÊe.I "H
5*+ k ¥ "!,
5*+I
Ì âÊk:",
5*(I# Z k
¥# Z I
Ì âÊk:",
5*(I*+é ¥! B. ö+JK*+ !
235
Source: Jeremy Zawodny, Derek J. Balling, High Performance MySQL, O'Reilly, April 2004, ISBN: 0-596-00306-4
236
Le Query cache n’est disponible que dans les versions 4.0.1 et plus
`
aZ
[>=.*("?T?]!
Ê
h
. #:0Î xmÈ
A=h=#
"B
p c.
"$#"$ a
`
¡",
6×EØI
@ SÑ^_Ò ¡"$#"$1 R#
5
5TN
S# @ d
.D
R
v
","$&
Í=..
@ +
5!
.1;"? ç"H?
h=.
.*+!
!
@ 19 "?
BN
# @ d
.
Í.94
.
.
I Ì "
4 =h=##"?&??,*1
#+?
& N ,
5 #
I
`
e *1
sA
4Ñ^_fÒ q?R# @ d
.
]!
. ?!
+ ?
@ . @ N
N
Z
1"$#"$ #!!4
+ 4","$I
`
Ke eJð*Ê{è(ÑD
k*+
"H
l*=.*¡
k*+
`
Ì ]
"4 1# @ d
. +Ke eJðc ;]
!
#
" !N ,?
$
. @ #
5
?
*1 -(","$I Ì s
` `
8 # @ d
.1",*1*+1Ke eJðFÒ kJ Ì JAòÊe
& *+{è+ÑS"H
5*+*(
+","$
#
5
I
` `
",!
#a a# @ d
.e eJðÒ kâM è kJ Ì JAòÊeT &*+[{è(ÑÐ",
>*+F*+
v
+ #
5
(","$I
ÃMÄ Ö "B
] ;Ò(h_;JK"$ B=.!
",?=) Z # 4=) "$
*\_I "?=+
h
)
!
1]
3i9 .
)
. @ >_k",
"$%k
h_
I
237
Se rendre à l’adresse: http://dev.mysql.com/doc/mysql/fr/query-cache.html pour plus de détails sur le benchmark qui a
permis d’obtenir ce résultat.
6. Conclusion
k "?
K ??/]a
# !!
.:
[*(#"$:
p N !
. Z.
F
*(
Z*+?
¿h=.*("? Ô"B_" ÓÓ]
*+!
C
Ô
",
",*4*+#"?
"H
.
@ Iqâ
#Y
>
5!
UW
.X ) !
±
D ï
$
! ô
Y @ Y
*(
Z*+?
/h=.*("? ,
f??]!
Z Z
~)
5*4*+!
$ ! N _!&
4 Z+
4",
Z 'I
`
*1 !l©,]
#¡¡"?
>
.¡*(#"$¡
D l
.B#
;#
A
"??
.S
D
#< q=.5
.
G
*1
",
ìî U5
[ Ð"H
.
5 @
5
" !
#
"H
.*+?
V #
"H
.*+!
9
N _!&9 ","?!
4
9
.
Z.*4*(
+ N
",
If("?
h
. *1
",
;
]?; # @ a ? >=.*("?/!5!
# Z ;9[
.Z[ ?=#)
f
,
. ;
) )
. ;~5
##< ; 1)) <#/ ; ? +N =>=. # ,IkKN # 4
Í.9 ; ? 4
>=.)*("?c
]?
Êd
.:", # a",*4*+c
? FN =>=. # a
A!
",*1*+q
# Z
Z+
.
"$
@ +4
<# *1
?
.I
.
.
Titre Type Référence Objet
MERCURY
Décrit l’apport des logiciels de
Diagnosing J2EE performance INTERACTIVE,
MERCURY INTERACTIVE dans
problems throughout the Article www.mercuryinteracti
l’identification des impasses et des
application life cycle ve.com
goulots d’étranglement.
Livre de référence sur l’optimisation
du code Java toutes applications
1st
Jack Shirazi, Java Performance confondues. Il explique comment
Edition September
Tuning Livre évaluer les performances d’un
2000 , ISBN: 0-596-
programme et présente une série
00015-4
d’outils et de techniques pour les
améliorer.
Jason Hunter , William 2nd edition, O'Reilly,
Ouvrage complet sur la
Crawford, Java Servlet Livre ISBN: 0-596-00040-5
programmation des servlets.
Programming
Gail Anderson, Paul Anderson,
Enterprise JavaBeans Ouvrage dédié au design et à la
Prentice Hall PTR, 0-
Component Architecture: Livre programmation des Enterprise Java
13-035571-2
Designing and Coding Beans.
Enterprise Applications
Manning Livre très récent sur les bugs
Ali Syed and Jamiel Sheikh,
Livre Publications , Spring fréquemment rencontrés dans les
Java Doctor
2005, applications Java
Manning, ISBN
Benjamin G. Sullins and Mark B. Livre complet sur les Java
Livre 1930110561, October
Whipple , JMX in Action Management Extensions.
2002
Daniel Menasce, Rudolf Riedi,
L’article propose une méthodologie
Rodrigo Fonseca, Wagner http://portal.acm.org/c
pour analyser les comportements des
Meira Jr., Flavia Peligrinelli, Article itation.cfm?id=38426
robots sur les sites d’affaires
Analyzing Robot Behavior in E- 8.378838
électroniques.
Business Sites.
D. A. Menascé, V. Almeida, R.
Fonseca, and M. A. Mendes, "A http://portal.acm.org/c Article qui traite de la caractérisation
Methodology for Workload Article itation.cfm?id=33702 de la charge de travail sur les sites de
Characterization of E-commerce 4 commerce électronique.
Sites,''
Mehdi Khouja, Farouk Kamoun, http://clei2004.spc.org Article qui propose une
Experimenting With the TPC-W Article .pe/es/html/pdfs/149. implémentation Java du benchmark
E-commerce Benchmark pdf TPC-W
Version 1.7, Oct 11,
Transaction Processing
2001 Texte intégral de la spécification
Performance Council (TPC), Spécification
http://www.tpc.org/tpc TPC-W
TPC-W BENCHMARK
w/spec/tpcw_V1.8.pdf
Daniel A. Menascé, Virgilio A. F.
Un livre qui fait autorité dans le
Almeida, Scaling for E-
Prentice Hall, 2000, domaine de l’évaluation des
Business: Technologies, Livre
ISBN 0-13-086328-9, performances et de la scalabilité des
Models, Performance, and
applications d’affaires électroniques
Capacity Planning
In Proc. Sixth IEEE
Daniel A. Menascé, Vasudeva
Workshop on
Akula, Towards Workload Cet article propose une méthodologie
Workload
Characterization of Auction Article pour caractériser la charge de travail
Characterization
Sites des sites C2C
(WWC-6), Austin, TX,
Oct. 27, 2003.
Daniel A. Menascé, Vasudeva
http://csdl.computer.o
Akula, Improving the Cet article propose des techniques
rg/comp/proceedings/
Performance of Online Auction Article pour optimiser les performances des
qest/2004/2185/00/21
Sites through Closing Time sites C2C
850186abs.htm
Rescheduling, 27 - 30, 2004
.
ôõ öf÷ ø ô?ùúdø ûüdý ü%÷ ø%þÿ§ø ødö
Pierre Alain Muller, modélisation
Eyrolles, 15/03/2000, Livre complet sur la notation
objet avec UML , Rational Livre
ISBN : 2-212-09122-2 UML.
Software Europe, avril 1997
Craig Larman, An Introduction
3 edition (October 20, Livre complet sur la notation
To Object-Oriented Analysis
Livre 2004), Prentice Hall PTR, UML et le Rational Unified
And Design And The Rup
ISBN: 0131489062 Process.
OMG, UML Profile for
Schedulability, Performance, http://www.omg.org/docs/f
Spécification Texte intégral du profil RTP
and Time Specification ormal/03-09-01.pdf
.
ôõ öf÷ ø ô?ùúdø ûüdý ü%÷ ø%þÿ§ø ødö
2nd
Ed Roman, Scott Ambler, Tyler
Edition,Wiley,
Jewell, Ed Roman, Tyler Jewell,
Livre ISBN: Livre de référence sur les EJB.
Floyd Marinescu, Mastering
0471417114,
Enterprise JavaBeans
pages 672
http://www.comm
introduction à RMI Article entcamarche.net/ Brève introduction sur RMI
rmi/rmiintro.php3
http://java.sun.co
m/blueprints/core Présente le pattern session façade
Core J2EE Patterns - Session
Catalogue j2eepatterns/Patt ainsi que ses implications sur les
Façade
erns/SessionFac performances
ade.html
Présente en 48 leçons les techniques
permettant d’améliorer la
performance du code Java exécuté
Dov Bulka, Addison
Java™ Performance and du côté du serveur. Ces leçons
Wesley, June 05,
Scalability Volume 1: Server- Livre couvrent :
2000, ISBN : 0-201-
Side Programming Techniques La gestion de la mémoire.
70429-3, pages 320
Le cashing.
La programmation multitâche
(multithreading).
Addison-Wesley
Steve Wilson, Jeff Kesselman,
Professional; 1st
Java(TM) Platform Excellent ouvrage sur l’optimisation
edition (May 31,
Performance:Strategies and Livre des performances des applications
2000), ISBN:
Tactics écrites en Java
0201709694,
pages 230
Jayson Falkner, Kevin Jones, Addison Wesley,
Servlets and JavaServer September 19, Livre de référence sur la
Pages™: The J2EE™ Livre 2003, ISBN: 0- programmation des servlets et des
Technology Web Tier 321-13649-7, JSP
pages 784
Jayson Falkner, Another Java http://www.onjav Cet article explique comment modifier
Servlet Filter Most Web a.com/pub/a/onja l’entête d’un paquet http pour
Applications Should Have, Article
va/2004/03/03/filt ordonner au navigateur de mettre les
Client-Side Cache Control ers.html données en cache
8. Annexes
UML profiles
A Profile for Integrating Function Blocks into the Unified Modeling Language
A UML Profile for Agent-Oriented Modeling
A UML Profile for Aspect Oriented Modeling
A UML Profile for External AOR Models
A UML Profile for Modeling Workflow and Business Processes
A UML Profile for Real-Time Constraints with the OCL
A UML profile to support requirements engineering with KAOS
Building a UML Profile for MultiTEL
From UML to BPEL
Mapping Object to Data Models with the UML
Modelling QoS: Towards a UML Profile
Raven MDA-Profile
RCR: A UML Profile for Reverse Engineering, Program Comprehension, and Reengineering
Representing XML Schema in UML -- An UML Profile for XML Schema
Requirements for UML Profiles
Requirements for UML Profiles Presentations to the ADTF
The UML Profile for Framework Architectures
Towards a UML Profile for Model-Based Assessment
Towards a UML Profile for Model-Based Risk Assessment
Towards a UML Profile for Service-oriented Architectures
Towards a UML Profile for Software Architecture Descriptions
UML Data Modeling Profile
UML Profile and Interchange Models for EAI
UML profile for archetypes and archetype patterns
UML Profile for CORBA
UML Profile for CORBA Components
UML Profile for EJB
UML Profile for Enterprise Distributed Object Computing
UML Profile for Framework Architectures
UML Profile for Modeling Quality of Service and Fault Tolerance Characteristics and Mechanisms
UML Profile for MOF
UML Profile for Schedulability, Performance, and Time Specification
UML Profile for SPEM (from Software Process Engineering Metamodel Specification)
UML Profile for the Deployment and Configuration Language
UML Profile for Web Modeling (from Building Web Applications with UML by JIM CONALLEN)
UML Testing Profile
UML Testing Profile RFP
UML Textual Notation RFP
PAutilization, PAschdPolicy,
Classifier, Node, ClassifierRole, PAschdParam, PAcapacity,
«PAresource» A passive resource
Instance, Partition PAaxTime, PArespTime, PAwaitTime,
PAthroughput
PArespTime PAperfValue [0..*] Time required for completion of the scenario from the start of the scenario
PApopulation Integer [0..1] The size of the workload (i.e., the number of system users)
PAextDelay PAperfValue [0..1] The delay between the completion of one response and the start of the next
for each member of the population of system users
238
Source Bruce Powel Douglass, Real Time UML: Advances in The UML for Real-Time Systems, Third Edition, Addison
Wesley, February 20, 2004, ISBN: 0-321-16076-2, 752 pages
239
Ces classes sont définies dans le sous-profil des ressources. Pour plus de détails, consulter la version officielle du
profil sur le site de l’Object Management Group
PArespTime PAperfValue [0..*] Time required for completion of the scenario from the start of the
scenario
PAcapacity Integer [0..1] Number of workloads that can be handled simultaneously, i.e. the
maximum number of concurrent users of the system
PAaxTime PAperfValue [0..1] Resource access time, that is, the time required to acquire or release
the resource
PArespTime PAperfValue [0..1] Time required for the resource to complete its response
PAwaitTime PAperfValue [0..1] The time between when a resource access is requested and when it is
granted
PAthroughput Real [0..1] Number of workloads that can be completed per unit time
PAdemand PAperfValue [0..*] The total demand of the step on its processing resource
PArespTime PAperfValue [0..*] The total time to execute the step, including the time to access and release
any resources
PAprob Real [0..1] In stochastic models, the probability that this step will be executed (as
opposed to alternative steps)
PAextOp PAextOpValue [0..*] The set of operations of resources used in the execution of the step
PAinterval PAperfValue [0..*] The time interval between successive executions of a step when the step is
repeated within a scenario
240
Source: Mark Matthew, Jim Cole, Joseph D. Gradecki, MySQL and Java Developer’s Guide, Wiley Publishing,ISBN 0-
471-26923-9
7 8
:9;=<2&$>'? A@8 &
BCD&E
#2E$>&'&8$>'?2A
#
%$&')CFG" &H! '
),)" IIJ("
($'LK K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K9?M
7 8
ON(;?P6 II)
(''Q
'RFC" S T '?
!'$>'&8&QVU& W' K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K9,X
7 8
VY;?P6 II)
(''Q
'RFC" S T '?
!'('?B
W &Q * & [Z' \K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K9,X
7 8
>];^6
!@OO@ S 'R OI)
$I$
)O" ),B
B
' +_K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K?NN
7 8
O`(;a2" &%
('R('?B
C" O@ !b" $OV
'O1" &I)5&
8O>B
&J& "%K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K?NY
7 8
OX(; * + J&" '?C" &C5&II)
&')O&''>$&8& 'I@
! +O1$
#%
[K K K K K K K K K K K K K K K K K K K K?N]
7 8
Vc.; * + J&(" '?C" &C5&C" & &&(''I$&8& 'O@
! +O($>
#%
K K K K K K K K K K K K K K K K K K K K K K K K K K K K K?N]
7 8
Od(; * Q$O" OS 'O8$' &!
''
'),!
'R)
$O
&('? C" S &" )&%
('K K K K K K K K K K K K K K K K K K?NX
7 8
Ve;?f=
&'" &!
'hg2/A'>=
#J" iK K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K?Nd
7 8
A9?M; &8
&$O$OI)" &S ' * gjk
%$> &('?S
1'h&@" &S &$
#% $'?K K K K K?Ne
7 8
A99;^2)" IJ OS 'IlR&8(<i
! J'j&'K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K KY19
7 8
A9,N(;T '?
&),!
(''?B
B." C/=
! "
" &>gP6lmK K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K KYX
7 8
A9?Y;?0
)5 ),B
Og&J&.lR&'&8$('? * Q '
'=K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K KYd
7 8
A9n];lR
o" II)
$V
# $('?S 'hJ
1
(" J&'?." &I)& 8
! H9RK K K K K K K K K K K K K K K K K K K K K K K K K K K K K Kp]N
7 8
A9,`(;lR
o" II)
$V
# $('?S 'hJ
1
(" J&'?." &I)& 8
! IN.K K K K K K K K K K K K K K K K K K K K K K K K K K K K K Kp]Y
7 8
A9,X(;lR
o" V
" &!
''"nI
''If\/_^BqrK K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K Kp]c
7 8
A9?c; * '?J
''$('?f\/_^qDK K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K Kp]d
7 8
A9,d(;/&#
!'B
&% )R+
! ( 'R
'R IS '?
!$( &!
'% '&') o
>K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K?`]
7 8
A9?e;T $O&),C" S ! " &%
('RO
)
" >f\3E
" I(@ S 'O&" )&%
'RS %)
$I$
)s``
7 8
ONM;?P2&
W &!
'$VV
'O@ ('h
'),!
'C" &> & " " I." &O)" >f\3.K K K K K K K K?``
7 8
ON9;&
!'RB
&! )R&''"n
'R II5
( '8tK K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K?`X
7 8
ONN(; * " $>'? .@&IO$&W$
o" IS ZlO32K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K?`e
7 8
ONY; * Q$V" I,
) &" &'?" (" $' C@&OI$> &W$>
o(" IS Z6lI3uXM
7 8
vN]; * Q$O" vS 'v)
'?B
& ' :&
) :&Qw" $'? xm$>
(" &!
('wS 'G &8
&$I$
ZlI3K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K?X9
7 8
ON`(;B
%),B
BIV
! "a\fu/tK K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K?XY
7 8
ONX(;=
% "n.
#
%$&') ("n+I% '&
_ZlI3Va\f\/.K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K?X`
7 8
ONc; * Q$V" IS &''
&%
('&,y
&Q> &8
&$I$I)&S ! " &%
'\K K K K K K K K K K K K K K K K K K K K K K K K?XX
7 8
ONd(; * Q$V" IS &''
&%
('&,y
&Q> &8
&$I$S &),! J zK K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K?Xd
7 8
ONe;?0
)5 ),B
ClR
"9hK K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K?Xe
7 8
VYM;?0
)5 ),B
ClR
"pNOK K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K KcN
7 8
VY19;?0
)5 ),B
.$I" % ^
('?B
" "
J
&
)5 ),%
7
'?^6
'?B
(" "
K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K KcY
7 8
{YN(;\|'
&%
('}'&$O +wx&8H~@w&
&$O@" &8wG)
$O
&('? k!&
W'}
)
$O
J ~tK K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K Kc]
7 8
VYY;|,%
('R
'>&
_" C@ & I$>)&' $C '? 8
IFC" S
@ny#_= %\
'2K K K K K K K K K Kcd
7 8
VY];T $O&),." & &( " " IS '
@ny#\ %=
('R
" I@ Rqx@5
>06" )&%
('>=
#J
K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K Kce
7 8
VY`(;au" y
.&
_" $&8&,')5
'&'>" &O8,!
')&)5K K K K K K K K K K K K K K K K K K K K K K K K K K?d]
7 8
VYX(;|,%
('RO)&)5I&O$
'S '>=
#J" 7 "
K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K?d`
7 8
VYc;/
"p!5
&$& '? 'O&
1'R
#J
S &" )&!
'\K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K?dd
7 8
VYd(;< &8
&$O$OI)" &II^
''),%
'/
("!K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K?de
7 8
VYe; 7 &),
! &!
'
)S 'O
(" K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K KeM
7 8
>]M;lR
o" I('R)
)5IalVT
T T >/IK K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K Ke`
7 8
>]=9; &8
&$O$OI)" &I
('h &&K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K Ke`
7 8
>]N(;lR
o" V
" &!
''"nI
''S 'I)" ' +V$ )&(" OK K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K Kec
7 8
>]Y;/&#
!' * '?! 7 &)&uK K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K Ked
7 8
>]];^
$V&
&(
'C" &I)
(')& '&%
'>B
! '8JR)
')& '&%
'>B
! '8j\
K K K K K K K K K K K K K K K K K K K9?M19
7 8
s]`(;I/
#
%$>&')zsB
! '8f
,('
.)
$V&
BF)(" " zS 'f
,('
C+h% " "
$%5
I 'QtB1@,B
! '8%C" &I)" &OB
W '8OK K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K9?M`
7 8
>]X(;^
&!
'S 'O'
J&J),
J
),)" &8OS 'hJ),
(?y#FIQ , &'??K K K K K K K K K K K K K K K K K K K9?Md
7 8
>]c;T $O&),C" &.$!5
C
! '?%" '1
" I@ S 'I
#J" K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K9,NN
7 8
]d(;^6
$O&
&! >
#
%$>&')bt)&)5 '8v
@y * gju2
$>Jv8'
&!
('mS '
+>g6<T
)5&+. '?J
)&%
('K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K9?Yc
7 8
>]e;<
# Vau&CK K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K9?Ye
7 8
O`M;Z'
&&@" V
&K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K9n]M
7 8
O`9;/\5&$
$
&iK K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K9n]M
7 8
A`N(;(^
$V&
&! \A
#
%$&(')b&))o.
),uF}'C'?! E@&'VJ.&))oOJ &}'C
'
@&'uK K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K9n]=9
7 8
O`Y;?g<6j_^!><j=^v@
! 8VK K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K9n]N
7 8
O`];u&! J0/2T 1&
#%" Rg&J&I
! J
K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K9n]Y
7 8
O``(;u
)
" &" " %g&J&I
! J
K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K9n]Y
7 8
O`X(;u&! J
)
(" &" " Bg&J&O
! J
K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K9n]]
7 8
O`c;<u& &(@&C@')5$&
%nu _<u&J >l( &T ')K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K9n]]
7 8
O`d(;?0
)5 ),B
O>
#J
lh\36K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K9,`Y
7 8
O`e;lR
o" IJ
%
" " &8IO)
')
%
'?! &(" I&('>lh\3K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K K9,`c