Notions d'architecture 3-tier

Présentation de l'architecture à deux niveaux

L'architecture à deux niveaux (aussi appelée architecture 2-tier,tier signifiant étage en anglais) caractérise les systèmes clients/serveurs dans lesquels le client[1] demande une ressource et le serveur[2] la lui fournit directement. Cela signifie que le serveur ne fait pas appel à une autre application afin de fournir le service.

Architecture 2-tier (commentcamarche.net - © 2003 Pillou - GNU FDL)

Présentation de l'architecture à trois niveaux

Dans l'architecture à 3 niveaux (appelée architecture 3-tier), il existe un niveau intermédiaire, c'est-à-dire que l'on a généralement une architecture partagée entre:

  1. Le client

    le demandeur de ressources

  2. Le serveur d'application

    (appelé aussi middleware) le serveur chargé de fournir la ressource mais faisant appel à un autre serveur

  3. Le serveur secondaire

    (généralement un serveur de base de données), fournissant un service au premier serveur

Architecture 3-tier (commentcamarche.net - © 2003 Pillou - GNU FDL)

Remarque

Étant donné l'emploi massif du terme d'architecture à 3 niveaux, celui-ci peut parfois désigner aussi les architectures suivantes :

  • Partage d'application entre client, serveur intermédiaire, et serveur d'entreprise

  • Partage d'application entre client, base de données intermédiaire, et base de données d'entreprise

Comparaison des deux types d'architecture

L'architecture à deux niveaux est donc une architecture client/serveur dans laquelle le serveur est polyvalent, c'est-à-dire qu'il est capable de fournir directement l'ensemble des ressources demandées par le client.

Dans l'architecture à trois niveaux par contre, les applications au niveau serveur sont délocalisées, c'est-à-dire que chaque serveur est spécialisé dans une tâche (serveur web et serveur de base de données par exemple). Ainsi, l'architecture à trois niveaux permet :

  • une plus grande flexibilité/souplesse

  • une plus grande sécurité (la sécurité peut être définie pour chaque service)

  • de meilleures performances (les tâches sont partagées)

ComplémentL'architecture multi-niveaux

Dans l'architecture à 3 niveaux, chaque serveur (niveaux 1 et 2) effectue une tâche (un service) spécialisée. Ainsi, un serveur peut utiliser les services d'un ou plusieurs autres serveurs afin de fournir son propre service. Par conséquence, l'architecture à trois niveaux est potentiellement une architecture à N niveaux.

Architecture N-tier (commentcamarche.net - © 2003 Pillou - GNU FDL)