Vous êtes sur la page 1sur 27

Architecture 2-tiers

Appélation
Encore appelée client-serveur de première génération ou client-serveur de
données.

Exemples de découpage
le module de gestion des données peut être hébergé par un serveur
distant (SGBD, serveur web)
le module de gestion de l’ affichage peut également être géré par un

serveur distant (un terminal X par exemple)

Autres exemples
Architecture 2-tiers

Le Gartner Group, un cabinet de consultants américain, a publié un


schéma des différents types des systèmes à 2 niveaux (2-tiers) :

Sur ce schéma, le trait horizontal représente le réseau et les flèches


entre client et serveur, le trafic réseau généré par la conversation
entre client et serveur.
Architecture 2-tiers: Présentation réparties

Principe
Le client présente un écran ”calculé” par le serveur.
Le poste client conserve sa position d’esclave par
rapport au serveur.

Inconvénients
L’intégralité des traitements est conservée sur le
serveur
La classification client/serveur est jugée abusive
Architecture 2-tiers: Présentation distantes

Principe
Appelé aussi Client/serveur de présentation
L’ensemble des traitements est exécuté par le serveur,
le client ne prend en charge que l’affichage.
Le système X Window utilise ce type d’architecture.

Inconvénients
Trafic réseau trés important
Aucune répartition de charge entre le client et le
serveur
Architecture 2-tiers: Présentation distantes

X-Window System permet la présentation distante


Architecture 2-tiers: Traitements réparties

Principe
Correspond au client-serveur de traitements
Il s’appuie soit sur la notion de procédure stockée
proposée par les principaux SGBD du marché.

Discussion
+ permet d’optimiser la répartition de la charge de
traitement entre machines et limite le trafic réseau.
- les traitements doivent être connus à l’avance.
Architecture 2-tiers: Données distantes

Principe
Correspond au client-serveur de données
Un SGBD centralisé gère les données, leur intégrité, la
sécurité, etc. Il envoie seulement les données
correspondant à la requête (par opposition avec le
serveur de fichiers).
Le client traite ces données pour éventuellement, en
retour, mettre à jour la base.

Inconvénients
Trafic réseau important
Ne soulage pas le poste client (qui exécute tous les
traitements)
Architecture 2-tiers: Données réparties

Principe
Il s’agit d’une variante du client-serveur de données
Une partie de données est prise en charge par le client.
Ce modèle est intéressant dans l’un des cas suivants :
gérer de gros volumes de données
temps d’accès très rapides sur certaines données
garantir une grande confidentialité.

Inconvénients
Le client réalise la majorité des traitements
complexe à mettre en oeuvre
Architecture 2-tiers: Données distantes

Dans la suite de cette section, nous nous intéressons à l’architecture


2-tiers du 4ème type (ou client-serveur de données).
Le client s’occupe de la présentation et la logique applicative
Le serveur s’occupe de la gestion des données
Architecture 2-tiers: Exemple
Application de gestion de stock fonctionnant sur Windows et
exploitant un SGBD (oracle) centralisé.
La gestion des données est prise en charge par un SGBD centralisé,
s’exécutant sur un serveur dédié (serveur de données)
Architecture 2-tiers: Middleware

Echange de messages à travers le réseau reliant les deux machines. =⇒


Mécanismes de communication complexes qui sont, en général, pris en
charge par un middleware de base de données.
Architecture 2-tiers: Middleware
Définition
élément du milieu = interface de communication universelle entre
processus
L’ensemble des couches réseau et services logiciel qui permettent le
dialogue entre les différents composants d’une application répartie.
Ce dialogue se base sur un protocole applicatif commun, défini par
l’API du middleware.
Architecture 2-tiers: Middleware
Pourquoi?
Cacher la répartition géographique: Rendre le client indépendant de la
localisation géographique des données: Répartition des données et
traitement (accès distant)
Cacher l’hétérogénité: Masquer l’hétérogénéité des serveurs de
données, entre les clients et les serveurs
Fournir des interfaces uniformes
Fournir un ensemble des services communs
Architecture 2-tiers: Middleware
Principe
Assure la communication entre les applications quels que soient :
Les ordinateurs impliqués
Les caractéristiques matériel et logiciel
Les réseaux informatiques
Les protocoles réseaux
Les systèmes d’exploitation impliqués

Caractéristiques
En général, le middleware :
n’est pas visible par l’utilisateur final.
est un outil pour le développeur d’applications.

Les différents types de middleware


Le middleware orienté accès aux données(MOA)
Le middleware orienté transactions (MOT)
Le middleware orienté objets (MOO)
Middleware orientés accès aux données

Dialoguer avec un système de gestion de base de données:


Ouvrir une connexion entre entités
Envoi de requêtes SQL vers le serveur
Conversion des formats de requêtes
Envoi des résultats
Conversion des résultats
(Gestion des erreurs)
Fermeture de connexion.
Deux couches distinctes :
La couche propre au SGBD ( SQLNet, TDS . . . )
La couche de l’outil de développement ( ODBC, ADO, JDBC..)
Exemple
Exemple
Exemple
Exemple
Types de middleware de BD

Middleware propriétaire
Toutes les données sont gérées par un
même SGBD
L’application utilise une API
propriétaire au SGBD

Avantages
Utilisation de toutes les fonctionnalités
du SGBD
Meilleur temps de réponse

Inconvénients
Dépendance totale du SGBD : le
changement du SGBD entraı̂ne la
réécriture de la couche traitement
Types de middleware de BD

Middleware indépendant
Indépendant du SGBD

Avantages
Indépendance par rapport au SGBD
Possibilité de connexions avec
différentes BD

Inconvénients
Besoin d’un pilote pour chaque SGBD
Utilisation partielle des fonctionnalités
des SGBD
Perte de performance
Discussion autour de l’architecture 2-tiers
Discussion autour de l’architecture 2-tiers
Discussion autour de l’architecture 2-tiers
Discussion autour de l’architecture 2-tiers
Discussion autour de l’architecture 2-tiers
Solution

Pour résoudre les limitations du client-serveur deux tiers tout en


conservant ses avantages, on a cherché une architecture plus évoluée,
facilitant les forts déploiements à moindre coût. La réponse est apportée
par les architectures distribuées.

Vous aimerez peut-être aussi