Publié le : 24 juil. 2024

NTIER Architecture & Layered Architecture

NTIER Architecture & Layered Architecture

Dans cet article nous aborderons les niveaux physiques (N-TIER) et l'architecture en couches logiques (Layered architecture).

Si vous explorez le sujet, vous pourriez avoir l'impression que ces deux concepts sont semblables. Cependant, il s'agit de concepts distincts mais qui se complètent.

1. Layered Architecture

L'architecture en couches (Layered Architecture) fait référence à une séparation logique du code au sein d'une application. layered-architecture.png

Le but est d'étendre le système en diverses couches logiques, chacune ayant une fonction particulière. Grâce à cette séparation, le code est mieux organisé, il est plus facile de le tester et il devient beaucoup plus maintenable.

Voici les couches les plus connus :

  • Presentation Layer : Gère l'interface utilisateur et les interactions avec l'utilisateur. (La vue/le front)
  • Business Layer : Contient les règles métier et les traitements spécifiques de l'application. (La logique métier)
  • Persistence Layer : Gère les interactions avec les bases de données et autres services de stockage. (Repository, ORM, ODM )

La couche User Interface correspond au rendu client, par exemple dans le navigateur. La couche Data représente notre base de données. Ces deux couches ne projettent pas forcément de logique de code, mais elles sont ajoutées pour montrer ce que l'on peut retrouver aux extrémités de l'application.

Attention : Ici les couches n'ont aucun rapport avec une quelconque séparation physique.

2. N-TIER Architecture

La structure N-Tier met l'accent sur la répartition physique/logicielle. On parle ici de découpages sur plusieurs niveaux à travers différents serveurs ou environnements réseaux, ce qui permet une gestion plus efficace des ressources. n-tier.png

1-Tier : on distingue un niveau, le client. (Ex : Word, VLC, etc.)

2-Tier : on peut voir deux niveaux : le côté client et le coté serveur qui va comporter plusieurs couches de la Layered Architecture (Ex : Une application web qui communique avec une API, laquelle communique avec la base de données)

3-Tier : on observe trois niveaux : Nous avons les même couches que dans le 2-Tier mais avec un niveau séparé pour les datas.

Le "N" de N-Tier stipule que nous pouvons avoir une multitude de niveaux, ce qui signifie que l'on peut architecturer en 5-Tier, 6-Tier, etc.

Conclusion

L'architecture N-Tier et l'architecture en couches (Layered Architecture) offrent deux approches complémentaires pour structurer une application, en séparant les préoccupations et en facilitant la maintenance et l'évolutivité.