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.
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:
Le client
le demandeur de ressources
Le serveur d'application
(appelé aussi middleware) le serveur chargé de fournir la ressource mais faisant appel à un autre serveur
Le serveur secondaire
(généralement un serveur de base de données), fournissant un service au premier serveur
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ément : L'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.