Vous êtes sur la page 1sur 4

I - Qu'est-ce qu'une architecture 2-tiers

Une architecture 2-tiers est compose de deux lments, un client et un serveur et o le tiers
fait rfrence non pas une entit physique mais logique, et que l'on peut reprsenter via le
simple schma suivant :

Bien que ce schma puisse paratre simpliste, une analyse dtaille des lments de cette
architecture et de leurs fonctions attaches met en vidence certains points essentiels sur
lesquels on attire l'attention :
1.
2.
3.
4.

La fonction de prsentation est la charge du client exclusivement.


Le calcul (processing) est rparti entre le client et le serveur.
Le logiciel client est gnralement spcifique au serveur.
Les donnes sont stockes ou accessibles via le serveur. Dans le cadre d'une topologie
d'accs une base de donnes, le serveur traitera les requtes en provenance du client
qui se feront en gnral en langage SQL.

C'est parce que le client assume des tches de prsentation et de processing, et donc de fait
communique avec le serveur sans intervention d'un autre processus que le client est dit
"lourd" par opposition l'architecture 3-tiers o le client est constitu d'un simple navigateur
internet et communique avec le serveur via un frontal.
En dfinitive et dans la perspective d'une architecture 2-tiers avec un serveur de base de
donnes (SGBD) le schma prcdent sera plus exactement le suivant :

I - Qu'est-ce qu'une architecture 3-tiers


L'architecture 3-tiers est compose de trois lments, ou plus prcisment de trois couches. En
effet, dans la philosophie qui a guid l'laboration de cette architecture, il est plus adquat de
parler de couche fonctionnelle attache un lment/entit logique.
Hors donc dans le modle 3-tiers il faut distinguer trois couches/lements :
1. La couche prsentation (ou affichage si l'on souhaite) associe au client qui de fait est
dit "lger" dans la mesure o il n'assume aucune fonction de traitement la diffrence
du modle 2-tiers.
2. La couche fonctionnelle lie au serveur, qui dans de nombreux cas est un serveur Web
muni d'extensions applicatives.
3. La couche de donnes lie au serveur de base de donnes (SGBD)
Enfin le schma suivant illustre une architecture souvent rencontre avec un serveur Web.

Points importants sont souligner pour l'architecture 3-tiers :


1. Le client qui n'a donc que des fonctions d'affichage ne fait que des requtes vers le
serveur, aucun calcul n'est ffectu par le client. Les rsultats de ses requtes sont
ensuite affiches.
2. C'est le serveur qui va effectuer tous les calculs ou faire des requtes vers d'autres
serveurs additionnels (eg vers des SGBD). Ce tiers serveur (qui est souvent un serveur
Web) se caractrise notamment par :
a.
avoir t cod dans un langage prsentant une forte portabilit et non
propritaire tel que le langage C,
b.
tre multithread et pouvant tre ainsi accessible par de multiple clients
(typiquement un serveur Web),
c.
des requtes clients via divers mcanismes allant du RPC (Remote procedure
Call) au HTTP via du HTML, PHP etc.

III - Avantages et inconvnients d'une architecture 2-tiers


Les avantages principaux sont au nombre de deux :
1. Dans la plupart des cas, le dveloppement d'une architecture 2-tiers peut tre ralis
rapidement toute chose tant gale par ailleurs la complexit du projet.
2. La plupart des outils de dveloppement dans l'architecture 2-tiers sont robustes et
mnent d'eux mmes des techniques RAD (Rapid Application Development) qui
peuvent tre utilises pour s'assurer que les spcifications des utilisateurs sont
prcisment et totalement prises en compte.
Les inconvnients sont eux au nombre de trois :
1. Dans la mesure o le logiciel client est gnralement spcifique au serveur,
l'architecture 2-tiers doit faire face aux problmes de contrle des volutions de
versions et de redistribution des applications. En ce qui concerne ce dernier point, il
s'agit des difficults lies toutes modifications des rgles d'activit pouvant avoir un
impact sur la logique de fonctionnement de l'application client, et qui ncessiterait
alors des changements dans l'application client, et donc sur tous les postes sur lesquels
elle serait installe.
2. En termes de scurit l'architecture 2-tiers peut tre complexe dans la mesure o il sera
ncessaire l'utilisateur d'avoir autant d'accs protgs par mot de passe que d'accs
serveurs.
3. Aspect propritaire de l'application client. Le march de l'informatique se caractrise
par volatilit de certaines de ses entreprises qui n'ont pas de fait une trs longue
prennit. La question de la viabilit long terme d'une application client propritaire
se pose.

IV - Avantages et inconvnients d'une architecture 3-tiers


Les avantages de l'architecture 3-tiers sont principalement au nombre de quatre :
1. Les requtes clients vers le serveur sont d'une plus grande flexibilit que dans celles de
l'architecture 2-tiers bases sur le langage SQL; en effet les appels clients ne spcifient
que des paramtres et des structures de donnes pour les valeurs de retour.
2. Faisant le pendant avec la premire remarque, l'utilisateur n'est pas suppos connatre
le langage SQL, qui ne sera pas implment dans la partie client qui ne s'occupe
(rappelons le) que de fonctions d'affichage. De fait des modifications peuvent tre
faites au niveau du SGBD sans que cela impacte la couche client. Par ailleurs et bien
que nous ayons mentionn le langage SQL au niveau des bases de donnes, on peut
trs bien envisager une organisation des donnes sans prsupposition quant au langage
lui mme et leur organisation (relationnelle, hirarchique...). Cette flexibilit permet
une entreprise d'envisager dans le cadre d'une architecture 3-tiers une grande
souplesse pour l'introduction de toutes nouvelles technologies.
3. D'un point de vue dveloppement, la sparation qui existe entre le client, le serveur et
le SGBD permet une spcialisation des dveloppeurs sur chaque tiers de l'architecture.
4. Plus de flexibilit dans l'allocation des ressources; la portabilit du tiers serveur
permet d'envisager une allocation et ou modification dynamique au grs des besoins
volutifs au sein d'une entreprise.
Les inconvnients sont au nombre de deux :
1. Une expertise de dveloppement acqurir qui semble plus longue que dans le cadre
d'une architecture 2-tiers.
2. Les cots de dveloppements d'une architecture 3-tiers sont plus levs que pour du 2tiers, au dbut semble t'il, d'aprs une tude du cabinet Gartner group (1998) :