Vous êtes sur la page 1sur 17

Architecture N-Tier

Architecture Multi-Tier
Traditionnellement une application informatique est un programme excutable sur une machine
qui reprsente la logique de traitement des donnes manipules par lapplication.
Ces donnes peuvent tre saisies interactivement via linterface ou lues depuis un disque.
Lapplication met un rsultat sous forme de donnes qui sont, soit affiches, soit enregistres
sur un disque.

Donnes
en
entre

Application

Donnes
en
sortie

Dans ce schma, les traitements, les donnes dentres, les donnes de sortie sont sur une seule
machine.

CNAM 2009 - 2010

Patrick Arlaud - Jrome Dupire

Architecture N-Tier
Architecture Multi-Tier
On peut alors sparer lapplication en diffrentes parties :
- La couche interface homme machine
- La couche de traitement
-La couche de gestion des donnes.

Et toute application possde ces trois parties.


On parle de couches, de niveaux ou de tier (de langlais tier : tage).

CNAM 2009 - 2010

Patrick Arlaud - Jrome Dupire

Architecture N-Tier
Architecture Multi-Tier
Jusquau annes 90, ces trois couches taient la plupart du temps sur la mme machine.
Lapplication utilisait les disques de la machine pour lire les donnes a traiter et stocker les
donnes rsultantes du traitement (sauf sur les gros systmes).
A partir des annes 90, vu lexplosion de la volumtrie des donnes, on a spar les applications
des donnes. Ces dernires taient alors stockes dans des bases de donnes sur dautres
machines.
Les applications accdaient aux donnes travers les rseaux sur des machines serveurs de
donnes disposant dun SGBD.
Cest une architecture 2-Tier, ou encore client serveur.

CNAM 2009 - 2010

Patrick Arlaud - Jrome Dupire

Architecture N-Tier
Architecture 2-Tier

Ce type dapplication permet dutiliser toute la puissance des ordinateurs prsents sur le rseau
et permet de fournir lutilisateur une interface riche, tout en garantissant la cohrence des
donnes qui restent gres de faon centralise.
La gestion des donnes est prise en charge par un SGBD centralis sur un serveur ddi. On
interroge ce serveur travers un langage de requte, le plus courant tant SQL.
Le dialogue entre le client et le serveur se rsume donc lenvoi de requtes et aux donnes en
rponse.
CNAM 2009 - 2010

Patrick Arlaud - Jrome Dupire

Architecture N-Tier
Architecture 2-Tier
On distingue donc deux parties :
1.
2.

Le client
Le serveur qui se contente de rpondre aux requtes du client.

Le client provoque ltablissement dune conversation afin dobtenir des donnes ou un rsultat
de la part du serveur.
Cet change de messages transite travers le rseau reliant les deux machines. Il met en uvre
des mcanismes complexes qui sont en gnral pris en charge par un intergiciel appel
middleware.
Le middleware est l'ensemble des couches rseau et services logiciels qui permettent le dialogue
entre diffrents composants d'une application rpartie. Ce dialogue s'tablie sur des
protocoles applicatifs communs, dfini par l'API du middleware.
Le middleware se contente d'unifier, pour les applications mises en jeu, l'accs et la
manipulation de l'ensemble des services disponibles sur le rseau, afin de rendre
l'utilisation de ces derniers presque transparente.
CNAM 2009 - 2010

Patrick Arlaud - Jrome Dupire

Architecture N-Tier
Limite de larchitecture 2-Tier
L'architecture client-serveur de premire gnration prsente les inconvnients suivants :
- on ne peut pas soulager la charge du client qui supporte dj tous les traitements applicatifs ;
- le poste client est fortement sollicit, il devient de plus en plus complexe et ncessite des mises
jour rgulire, ce qui est contraignant ;
- le client et le serveur sont assez bruyants, ce qui s'adapte mal des bandes passantes troites ;
ce qui cantonne ce type d'application des rseaux locaux ;
-il est difficile de modifier l'architecture initiale, les applications supportent donc mal les fortes
montes en charge ;
- la relation forte et troite entre le programme du client et l'organisation de la partie serveur
complique les volutions de cette dernire ;
- ce type d'architecture est grandement rigidifi par les cots et la complexit de maintenance.
Nanmoins, on peut noter quelques avantages non ngligeables de ce type d'architecture :
- elle permet l'utilisation d'une interface utilisateur riche ;
- elle a permis l'appropriation des applications par l'utilisateur ;
- elle a introduit la notion d'interoprabilit.
CNAM 2009 - 2010

Patrick Arlaud - Jrome Dupire

Architecture N-Tier
Architecture 3-Tiers
Avec lapparition des technologies Web, il est possible de sparer la couche prsentation de la
couche applicative (aussi appele couche mtier) :

CNAM 2009 - 2010

Patrick Arlaud - Jrome Dupire

Architecture N-Tier
Architecture 3-Tier : Couche Prsentation
Elle correspond la partie de lapplication visible et interactive avec les utilisateurs.
On parle dIHM. Elle peut tre ralise par une application graphique ou textuelle, en HTML,
en WML (on parle alors de clients lgers).
Cette interface peut prendre de multiples facettes sans changer la finalit de l'application.
Dans le cas d'un systme de distributeurs de billets, l'automate peut tre diffrent d'une banque
l'autre, mais les fonctionnalits offertes sont similaires et les services identiques (fournir des
billets, donner un extrait de compte, etc.).
Toujours dans le secteur bancaire, une mme fonctionnalit mtier (par exemple, la commande
d'un nouveau chquier) pourra prendre diffrentes formes de prsentation selon qu'elle se
droule sur Internet, sur un distributeur automatique de billets ou sur l'cran d'un charg de
clientle en agence.
La couche prsentation relaie les requtes de l'utilisateur destination de la couche mtier, et en
retour lui prsente les informations renvoyes par les traitements de cette couche. Il s'agit donc
ici d'un assemblage de services mtiers et applicatifs offerts par la couche infrieure.
CNAM 2009 - 2010

Patrick Arlaud - Jrome Dupire

Architecture N-Tier
Architecture 3-Tier : Couche applicative ou couche mtier ou encore serveur dapplications
Elle correspond la partie fonctionnelle de lapplication, celle qui implmente la logique , et
qui dcrit les oprations que l'application opre sur les donnes en fonction des requtes des
utilisateurs, effectues au travers de la couche prsentation.
Les diffrentes rgles de gestion et de contrle du systme sont mises en uvre dans cette
couche.
La couche mtier offre des services applicatifs et mtier la couche prsentation. Pour fournir
ces services, elle s'appuie, le cas chant, sur les donnes du systme, accessibles au travers des
services de la couche infrieure.
En retour, elle renvoie la couche prsentation les rsultats qu'elle a calculs.

CNAM 2009 - 2010

Patrick Arlaud - Jrome Dupire

Architecture N-Tier
Architecture 3-Tier : Couche donnes
Elle consiste en la partie grant l'accs aux gisements de donnes du systme.
Ces donnes peuvent tre propres au systme, ou gres par un autre systme.
La couche mtier n'a pas s'adapter ces deux cas, ils sont transparents pour elle, et elle accde
aux donnes de manire uniforme, on dit quil y a un faible couplage.

CNAM 2009 - 2010

Patrick Arlaud - Jrome Dupire

10

Architecture N-Tier
Architecture 3-Tier : Couche donnes
Donnes propres au systme
Ces donnes sont prennes, car destines durer dans le temps, de manire plus ou moins
longue, voire dfinitive.
Les donnes peuvent tre stockes indiffremment dans de simples fichiers texte, fichiers XML,
ou encore dans un SGBD
Quel que soit le support de stockage choisi, l'accs aux donnes doit tre le mme. Cette
abstraction amliore la maintenance du systme.
Le DATA ACCESS OBJET (DAO ou design pattern) consiste reprsenter les donnes du
systme sous la forme d'un modle objet. Par exemple un objet pourrait reprsenter un contact
ou un rendez-vous.
La reprsentation du modle de donnes objet en base de donnes (appele persistance) peut
tre effectue laide doutils tel que HIBERNATE.

CNAM 2009 - 2010

Patrick Arlaud - Jrome Dupire

11

Architecture N-Tier
Architecture 3-Tier : Couche donnes
Donnes gres par un autre systme
Les donnes peuvent aussi tre gres de manire externe.
Elles ne sont pas stockes par le systme considr, il s'appuie sur la capacit d'un autre systme
fournir ces informations.
Par exemple, une application de pilotage de l'entreprise peut ne pas sauvegarder des donnes
comptables de haut niveau dont elle a besoin, mais les demander une application de
comptabilit.
Celle-ci est indpendante et pr-existante, et on ne se proccupe pas de savoir comment elle les
obtient ou si elle les sauvegarde, on utilise simplement sa capacit fournir des donnes jour.

CNAM 2009 - 2010

Patrick Arlaud - Jrome Dupire

12

Architecture N-Tier
Architecture n-Tier
L'architecture n-tiers est aussi appele architecture distribue ou architecture multi-tiers.
L'architecture n-tiers qualifie la distribution d'applications entre de multiples services et non la
multiplication des niveaux de service : les trois niveaux dabstraction dune application sont
toujours pris en compte.
Cette distribution est facilite par l'utilisation de composants mtier, spcialiss et
indpendants, introduits par les concepts orients objets.
Elle permet de tirer pleinement partie de la notion de composants mtier rutilisables et
modulables.
Ces composants rendent un service, si possible, gnrique et clairement identifi. Ils sont
capables de communiquer entre eux et peuvent donc cooprer en tant implants sur des
machines distinctes et htrognes.

CNAM 2009 - 2010

Patrick Arlaud - Jrome Dupire

13

Architecture N-Tier
Architecture n-Tier : Technologies
Les technologies :
Le tier client :
- Un navigateur Web
- Un PDA ou SmartPhone
Le tier Applicatif :
- CGI
- ASP
- Java Servlets
- JSP
- PHP, Python
- JavaScripts

CNAM 2009 - 2010

Patrick Arlaud - Jrome Dupire

14

Architecture N-Tier
Architecture n-Tier : Technologies
Les technologies :
Le tier donnes :
- Base de donnes via SQL, JDBC, .NET
- J2EE
- ERP (Enterprise Resource Planning)
- EAI (Enterprise Application Integration)

CNAM 2009 - 2010

Patrick Arlaud - Jrome Dupire

15

Architecture N-Tier
Architecture N-tier : Point de vue matriel
Larchitecture prsente en purement logicielle.
En consquence, chaque tage peut tre implment sur nimporte quelle machine.
Ainsi, Les trois tages peuvent tre runies sur une seule ou sur plusieurs machines.
Lintrt de rpartir les diffrents tages sur plusieurs machines permet un accroissement de la
scurit comme nous allons le voir au travers dun exemple.

CNAM 2009 - 2010

Patrick Arlaud - Jrome Dupire

16

Architecture N-Tier
Architecture N-Tier : Matriel exemple Solution de micro-Payement
Internet

Partenaires
FW
Reseau entreprise
192.168.X.X
P
O
S
T
E
U
T
I
L
I
S
A
T
E
U
R
S

CNAM 2009 - 2010

Network
Address
Translation

FW
Rseau non routable
10.0.0.x

FW

Serveur Web

FW
Rseau non routable
10.0.1.x

FW

Serveur Applications

FW
Rseau non routable
10.0.2.x

Serveur Data

Patrick Arlaud - Jrome Dupire

17