
L'architecture un
tiers
Dans une application un
tiers, les trois couches applicatives sont intimement
liées et s'exécutent sur le même ordinateur. On ne parle
pas ici d'architecture client-serveur, mais
d'informatique centralisée.
Dans un contexte
multi-utilisateurs, on peut rencontrer deux types
d'architecture mettant en oeuvre des applications un
tiers :
-
des applications sur site central,
-
des applications réparties sur des machines
indépendantes communiquant par partage de fichiers.
Les solutions sur site central (mainframe)
Historiquement, les
applications sur site central furent les premières à
proposer un accès multi-utilisateurs. Dans ce contexte,
les utilisateurs se connectent aux applications
exécutées par le serveur central (le mainframe) à
l'aide de terminaux passifs se comportant en esclaves.
C'est le serveur central qui prend en charge
l'intégralité des traitements, y compris l'affichage qui
est simplement déporté sur des terminaux passifs.
 |
Figure
3.1: Architecture d'une application
sur site central |
Ce type d'organisation
brille par sa grande facilité d'administration et sa
haute disponibilité. Il bénéficie aujourd'hui d'une
large palette d'outils de conception, de programmation
et d'administration ayant atteint un niveau de maturité
et de fiabilité leur permettant encore de soutenir la
comparaison avec des solutions beaucoup plus modernes.
De plus, la centralisation de la puissance sur une seule
et même machine permet une utilisation optimale des
ressources et se prête très bien à des traitements par
lots3.1 (en batch).
L'émergence des
interfaces utilisateur de type Windows - Macintosh,
démocratisées par les outils bureautiques sur
micro-ordinateur, a fortement démodé les applications
mainframe. Ces dernières exploitaient exclusivement
une interface utilisateur en mode caractère jugée
obsolète par les utilisateurs, qui réclamaient alors
massivement une convergence entre la bureautique et le
système d'information de l'entreprise.
Le ré-habillage
d'application centralisée, ou revamping3.2,
permet de rajeunir ces dernières en leur faisant
profiter d'une interface graphique moderne (GUI3.3),
mais au prix d'une telle lourdeur3.4 qu'il
doit être considéré comme une simple étape vers une
architecture plus moderne.
Avec l'arrivée dans
l'entreprise des premiers PC en réseau, il est devenu
possible de déployer une application un tiers sur
plusieurs ordinateurs indépendants.
Ce type de programme
est simple à concevoir et à mettre en oeuvre. Il existe
pour cela de nombreux environnements de développement (dBase,
Ms Access, Lotus Approach, Paradox... ) qui sont
souvent intégrés aux principales suites bureautiques.
L'ergonomie des applications mises en oeuvre, basée sur
celle des outils bureautiques, est très riche.
Ce type d'application
peut être très satisfaisant pour répondre aux besoins
d'un utilisateur isolé et sa mise en oeuvre dans un
environnement multi-utilisateur est envisageable.
Dans ce contexte,
plusieurs utilisateurs se partagent des fichiers de
données stockés sur un serveur commun. Le moteur de base
de données est exécuté indépendamment sur chaque poste
client. La gestion des conflits d'accès aux données doit
être prise en charge par chaque programme de façon
indépendante, ce qui n'est pas toujours évident.
Lors de l'exécution
d'une requête, l'intégralité des données nécessaires
doit transiter sur le réseau et on arrive vite à saturer
ce dernier. De plus, la cohabitation de plusieurs
moteurs de base de données indépendants manipulant les
mêmes données peut devenir assez instable. Il n'est pas
rare de rencontrer des conflits lors de la consultation
ou de la modification simultanée d'un même
enregistrement par plusieurs utilisateurs. Ces conflits
peuvent altérer l'intégrité des données. Enfin, il est
difficile d'assurer la confidentialité des données.
Ce type de solution est
donc à réserver à des applications non critiques
exploitées par de petits groupes de travail (une dizaine
de personnes au maximum).
On le voit, les
applications sur site central souffrent d'une interface
utilisateur en mode caractères et la cohabitation
d'applications micro exploitant des données communes
n'est pas fiable au delà d'un certain nombre
d'utilisateurs.
Il a donc fallu trouver
une solution conciliant les avantages des deux premières
:
-
la fiabilité des solutions sur site central, qui
gèrent les données de façon centralisée,
-
l'interface utilisateur moderne des applications sur
micro-ordinateurs.
Pour obtenir cette
synthèse, il a fallu scinder les applications en
plusieurs parties distinctes et coopérantes :
-
gestion centralisée des données,
-
gestion locale de l'interface utilisateur.
Ainsi est né le concept
du client-serveur.
|