Vous êtes sur la page 1sur 5

ComposantsetarchitecturesJavaEE

LesdveloppementsJavaEEreposentsurundcoupageencouchesoutiers,nousparlonsalorsdapplicationsmulti
tiers.Troisgrandstierssontreprsents:

Lacoucheprsentation(tiersWeb).

Lacouchemtier(tiersMtieroutiersBusiness).

Lacouchestockagedesinformations(tiersEnterpriseInformationSystem).

Lesapplicationssontdcoupesenplusieurscomposantsralisantdesfonctionnalitsspcifiquesetinstallssurune
machineserveurousurplusieurstiersdistribus.LescomposantsJavaEEsontdesunitsautonomesassemblesdans
uneapplicationJavaEEcomposedeclassesJavaetdefichiers,etcommuniquantavecdautrescomposants.Demme,
lecodemtiercritestindpendantdelacouchedeprsentation,cequiestutilepourchangercettedernireoupour
laffichersurdiverssupports(Internet,Tlphonie...).
Daprsleschmaciaprs,laspcificationJavaEEdfinitlescomposantssuivants:

LescomposantsClientsoutiersClientsontdesapplicationsclientes(logicielinstallenlocalounavigateurWeb
ouApplets)sexcutantsurlamachinedesutilisateurs.
LescomposantsWeboutiersWebsontlestechnologiesServlets,JavaServerPagesetJavaServerFaces.
Les composants mtier ou tiers Mtier sont des composants Enterprises JavaBeans (EJB) reprsentant la
logique mtier, sexcutant sur le serveur Java EE et dialoguant avec la couche de stockage (EIS : Enterprise
InformationSystem).

ArchitectureJavaEEstandard
Une application Java EE multitiers correspond un ensemble de couches. Souvent considre comme tant une
architecturetroistiers,celleciestdistribuedemanirephysiquesurtroismachines:

Lamachinedesclients.

ENI Editions - All rights reserved - Algeria Educ

- 1-

LeserveurdapplicationsJavaEE.

Leserveurdebasededonnesoudestockage.

1.LescomposantsclientsoutiersClient
LaplateformeJavaEEproposetroistypesdeclients:lesclientsWeb,lesAppletsetlesapplicationsclientesriches
typeJavaSE.

a.LesclientsWeb
UnclientWebconsisteendespagesWebdediffrentstypes(HTML,XHTML,XML,JavaScriptouautres)gnres
partirdecomposantsexcutsctserveurdansunconteneurWebetcapablesderpondreauxrequtesHTTPen
provenance du navigateur Internet. Ces programmes ct serveur sont reprsents en Java EE par les Servlets,
pagesJSPetJSF.Cesprogrammesserveurneralisentengnralpasdirectementlesaccsauxbasesdedonnes
maissoccupentdelalogiqueapplicative.

b.LesclientsApplets
Les Applets sont des interfaces graphiques Java SE excutes dans un navigateur Web. Ces applications utilisent
uneinterfacegraphiquevoluedetypeSWINGetsontexcutesdansunemachinevirtuelleJavainstalledansle
navigateur.Cependantcettetechniqueestpluscontraignantemaintenir,requiertdesaccsetdesdroitspourla
scuritetncessiteunpluginpourlesnavigateurs.LesclientsWebsontdoncprfrablespourlacrationdutiers
Client.

c.Lesapplicationsclientes
Uneapplicationdetypeclientestunlogicielriche,quisexcutesurlamachineduclientetfournitunensemblede
services aux utilisateurs par lintermdiaire dune interface graphique volue encore appele Graphical User
Interface(GUI).
Lesclientsetleserveurdialoguentensembleparlintermdiaire duncomposantstandardisnommJavaBeanou
classe Plain Old Java Object (POJO). Un composant JavaBean peut tre vu comme la plus petite unit de
communicationentrelescouchesoutiersJavaEE.LescomposantsJavaBeanssontdesobjets,instancesdeclasses
POJO, composs de proprits et de leurs accesseurs associs pour accder aux donnes. Les JavaBeans
sexcutentsurleserveurJavaEEetdialoguentaveclesclientsouaveclabasededonnes(tiersEIS).
CesapplicationsrichessontdveloppesaveclescomposantsSWINGengnral, excutesavecJavaWebStart
ouApplicationClientContainer(ACC)etdployesdansleprojetEnterpriseARchive(EAR).
LacronymePOJOestutilispourfairerfrencelasimplicitdutilisationdunobjetJava.LesJavaBeans(
ne pas confondre avec les EJB) sont des composants logiciels simples rutilisables et manipulables. Pour
treuneclasseJavaBean,cellecidoitrespectercertainesconventionspoursonutilisation,sarutilisationetsa
connexionJavaBean:laclassedoittresrialisable(pourlessauvegardesetlectures),avoirunconstructeurpar
dfaut(sansargument),etlespropritsdesmthodesdoiventtreaccessiblesviadesmthodes(accesseurs).

- 2-

ENI Editions - All rights reserved - Algeria Educ

CommunicationJavaEEentrelesdiffrentstiers
LafigurecidessusmontrelesdiffrentstypesdeclientsutilissdansuneplateformeJavaEE.Lesclientsrichesde
type application communiquent directement avec le tiers Mtier alors que les clients de type navigateur Internet
communiquent travers le tiers Web par lintermdiaire de pages excutes sur le serveur et gnres par des
Servlets,JSPouJSF.

2.LescomposantsWeboutiersWeb
LescomposantsWebJavaEEsontdesServletset/oudespagesJavaServerPageset/oudesJavaServerFaces.Les
ServletssontdesclassesJava,capablesdintercepteretdegrerlesrequtesduprotocoleHTTP.LespagesJSPsont
des documents textuels excuts comme des Servlets apportant une solution simplifie pour la programmation de
pages Web. La technologie JavaServer Faces est construite partir de Servlets et fournit un framework de
dveloppementpouracclrerlacrationdapplicationsWeb.

3.LescomposantsmtieroutiersMtier
Les composants mtier ou tiers Mtier reprsentent la couche business, avec les donnes du systme, et sont de
deuxtypes:

Lesentitsbeans(entitybeanoubeanentity)peuventtreexcutesparunconteneurlger(pasforcment
unserveurJavaEE)etpermettentderaliserlapersistancedesdonnespartirdesJavaBeansetdeJava
PersistenceAPI(JPA).
Les Enterprise JavaBeans offrent des possibilits plus riches comme la gestion des transactions, les accs
directsparclientsrichesouencorelagestionautomatiquedessessionsutilisateur,maissontexcutssurun
conteneurlourd,cestdirecompatibleJavaEE.

ENI Editions - All rights reserved - Algeria Educ

- 3-

TiersWebetTiersMtierJavaEE
La figure cidessus prsente le dcoupage du tiers Mtier avec les entits beans et les Enterprise JavaBeans. Les
informationssontreuesparunclientlgerautraversdutiersWebetdespagesInternet,oudirectementdepuisun
client lourd. Ces informations sont ensuite envoyes sous la forme de JavaBeans, images des informations en
provenancedesclientsetdestinationdutiersMtierpourstockage.Danslesensinverse,lesEnterpriseJavaBeans
(EJB) lisent les donnes en provenance du systme de stockage, ralisent des oprations si ncessaire, et sont
envoysauclient.
La partie stockage des donnes, nomme tiers Enterprise Information System (EIS) est directement lie au tiers
Mtier et correspond dans la majorit des cas, aux systmes de gestion de bases de donnes (Derby, MySQL,
PostgreSQL, Oracle ou autres) ou un enterprise resource planning (ERP), un gros systme transactionnel ou
nimportequelsystmedestockagevolu.

- 4-

ENI Editions - All rights reserved - Algeria Educ

ArchitecturevolueJavaEE
La figure prcdente reprsente une architecture optimise dune application Java EE. Trois types de clients sont
reprsents(clientWeb,clientAppletetclientApplication),leserveurWebutilisenfrontalestleserveurInternetde
rfrence:Apache.Ceserveurrenvoieindirectementlesrsultatsdespagesdynamiquesexcutesparleserveur
dapplicationsJavaEE,etdirectementlescontenusstatiquesdetypeimages,CSS,JavaScriptouautres.
La partie contrleur contient la logique de traitement. Cette couche dialogue avec les diffrents types dEnterprise
JavaBeans(StatelessBean,StatefulBeanetMessageDrivenBeans).LacouchemtierestgreparlestandardJPA,
permettant de paramtrer les classes ainsi que loutil de persistance EclipseLink, le tout configur par le fichier
persistence.xml.

ENI Editions - All rights reserved - Algeria Educ

- 5-