Niveau N (multi-niveaux), 3 niveaux, 2 niveaux Architecture avec EXEMPLE
โก Rรฉsumรฉ intelligent
L'architecture n-tiers, รฉgalement appelรฉe architecture multi-tiers, rรฉpartit une application sur trois couches distinctes ou plus, telles que la prรฉsentation, la logique mรฉtier et les donnรฉes. Ce modรจle amรฉliore l'รฉvolutivitรฉ, la sรฉcuritรฉ et la rรฉutilisabilitรฉ des applications client-serveur d'entreprise.

Quโest-ce que le niveau N ?
An Application ร N niveaux Un programme est distribuรฉ sur trois ordinateurs distincts ou plus dans un rรฉseau distribuรฉ.
La forme la plus courante de n-tier est lโapplication ร 3 niveaux, et elle est classรฉe en trois catรฉgories.
- Programmation de l'interface utilisateur sur l'ordinateur de l'utilisateur
- Logique mรฉtier dans un ordinateur plus centralisรฉ, et
- Donnรฉes requises dans un ordinateur qui gรจre une base de donnรฉes.
Ce modรจle d'architecture offre aux dรฉveloppeurs de logiciels un moyen de crรฉer des applications/systรจmes rรฉutilisables avec une flexibilitรฉ maximale.
In N-niveau, ยซ N ยป fait rรฉfรฉrence ร un certain nombre de niveaux ou de couches utilisรฉs, comme โ 2 niveaux, 3 niveaux ou 4 niveaux, etc.. On l'appelle aussi "Multi-niveaux Architecture" .
L'architecture ร n niveaux Il s'agit d'un modรจle d'architecture logicielle รฉprouvรฉ. Il convient aux applications client-serveur d'entreprise en offrant des solutions de scalabilitรฉ, de sรฉcuritรฉ, de tolรฉrance aux pannes, de rรฉutilisabilitรฉ et de maintenabilitรฉ. Il aide les dรฉveloppeurs ร crรฉer des applications flexibles et rรฉutilisables.
Niveau N Architecture
Une reprรฉsentation schรฉmatique d'un systรจme ร n niveaux dรฉcrit ici : les couches de prรฉsentation, d'application et de base de donnรฉes.

Ces trois couches peuvent รชtre subdivisรฉes en diffรฉrentes sous-couches en fonction des besoins.
Voici quelques sites populaires qui ont appliquรฉ cette architecture :
- MakeMyTrip.com
- Application d'entreprise pour la force de vente
- Chemins de fer indiens โ IRCTC
- Amazon.com, etc.
Quelques termes courants ร retenir pour mieux comprendre le concept :
- Rรฉseau distribuรฉ : Il s'agit d'une architecture rรฉseau oรน les composants situรฉs sur des ordinateurs du rรฉseau coordonnent et communiquent leurs actions uniquement par รฉchange de messages. C'est un ensemble de plusieurs systรจmes situรฉs sur diffรฉrents nลuds, mais qui apparaรฎt ร l'utilisateur comme un systรจme unique.
- Il fournit un rรฉseau de communication de donnรฉes unique qui peut รชtre gรฉrรฉ sรฉparรฉment par diffรฉrents rรฉseaux.
- Un exemple de rรฉseau distribuรฉ : dโun cรดtรฉ, diffรฉrents clients sont connectรฉs au sein dโune architecture LAN, et de lโautre, ils sont connectรฉs ร des commutateurs haut dรฉbit ainsi quโร une baie de serveurs contenant des nลuds de service.
- Serveur client Archistructure : Il s'agit d'un modรจle d'architecture dans lequel le client (un programme) demande un service ร un serveur (un autre programme). ร Il s'agit d'un service de requรชte-rรฉponse fourni via Internet ou un intranet. Dans ce modรจle, Projet servira dโensemble de programme/code qui exรฉcute un ensemble dโactions sur le rรฉseau. Alors que Server, d'autre part, est un ensemble d'un autre programme, qui envoie les ensembles de rรฉsultats au systรจme client comme demandรฉ.
- Dans ce systรจme, l'ordinateur client fournit une interface ร un utilisateur final pour demander un service ou une ressource ร un serveur, et de son cรดtรฉ, le serveur traite ensuite la requรชte et affiche le rรฉsultat ร l'utilisateur final.
- Un exemple de modรจle client-serveur : un distributeur automatique de billets (DAB). La banque joue le rรดle de serveur, traitant les demandes au sein de ses vastes bases de donnรฉes clients, tandis que le DAB constitue le client, dotรฉ dโune interface utilisateur et effectuant un traitement applicatif simple.
- Plate-forme: En informatique ou dans le secteur du logiciel, une plateforme est un systรจme sur lequel un programme d'application peut s'exรฉcuter. Elle se compose d'une combinaison de matรฉriel et de logiciel intรฉgrant des instructions permettant ร un processeur/microprocesseur d'effectuer des opรฉrations spรฉcifiques.
- En termes plus simples, la plateforme est un systรจme ou une base sur laquelle toute application peut s'exรฉcuter pour rรฉaliser une tรขche spรฉcifique.
- Un exemple de plateforme โ Une machine personnelle chargรฉe de Windows 2000 ou Mac OS X comme exemples de 2 plates-formes diffรฉrentes.
- Base de donnรฉes: Il s'agit d'une collection d'informations organisรฉe de maniรจre ร pouvoir รชtre facilement accessible, gรฉrรฉe et mise ร jour.
- Exemples de base de donnรฉes โ MySQL, SQL Serveur, et Oracle Database Voici quelques bases de donnรฉes courantes.
Types de niveau N Architectures
Il existe diffรฉrents types de N-Tier Architectures, comme 3 niveaux Architecture, 2 niveaux Archistructure et niveau 1 Architecture.
Tout d'abord, nous verrons 3 niveaux Architecture, ce qui est trรจs important.
3-Tier Architecture
En regardant le diagramme ci-dessous, vous pouvez facilement identifier cela Architecture 3-tier comporte trois couches diffรฉrentes.
- Couche de prรฉsentation
- Couche de logique mรฉtier
- Couche de base de donnรฉes

Nous avons pris ici un exemple simple de formulaire รฉtudiant pour illustrer ces trois niveaux. Il contient des informations sur l'รฉtudiant, comme son nom, son adresse, son adresse รฉlectronique et sa photo.
Couche d'interface utilisateur ou couche de prรฉsentation
Couche de prรฉsentation
private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e) { // Object of the Property layer clsStudent objproperty=new clsStudent(); // Object of the business layer clsStudentInfo objbs=new clsStudentInfo(); // Object of the dataset in which we receive the data sent by the business layer DataSet ds=new DataSet(); // here we are placing the value in the property using the object of the //property layer objproperty.id=int.Parse(DataGridl.SelectedItem.Cells[1].Text.ToString()); // In this following code we are calling a function from the business layer and // passing the object of the property layer which will carry the ID till the database. ds=objbs.GetAllStudentBsIDWise(objproperty); // What ever the data has been returned by the above function into the dataset //is being populate through the presentation laye. txtId.Text=ds.Tables[0].Rows[0][0].ToString(); txtFname.Text=ds.Tables[0].Rows[0][1].ToString(); txtAddress.Text=ds.Tables[0].Rows[0][2].ToString(); txtemail.Text=ds.Tables[0].Rows[0][3].ToString();
Code Explication
- Le code ci-dessus dรฉfinit la conception de base de l'interface utilisateur des applications ainsi que l'appel des fonctions des autres couches afin qu'elles puissent รชtre intรฉgrรฉes entre elles.
Couche d'accรจs aux entreprises โ
C'est la fonction de la couche mรฉtier qui accepte les donnรฉes de la couche application et les transmet ร la couche donnรฉes.
- La logique mรฉtier sert d'interface entre la couche client et la couche d'accรจs aux donnรฉes.
- Toute la logique mรฉtier โ comme la validation des donnรฉes, les calculs, l'insertion/modification des donnรฉes โ est รฉcrite sous la couche de logique mรฉtier.
- Cela rend la communication plus rapide et plus facile entre le client et la couche de donnรฉes.
- Dรฉfinit une activitรฉ de flux de travail appropriรฉe qui est nรฉcessaire pour terminer une tรขche.
// this is the function of the business layer which accepts the data from the //application layer and passes it to the data layer. public class clsStudentInfo { public DataSet GetAllStudentBsIDWise(clsStudent obj) { DataSet ds=new DataSet(); ds=objdt.getdata_dtIDWise(obj);// Calling of Data layer function return ds; } }
Explication du code
Le code utilise la fonction de la couche mรฉtier, qui reรงoit les donnรฉes de la couche application et les transmet ร la couche de donnรฉes. Le code de la couche mรฉtier sert d'intermรฉdiaire entre les fonctions dรฉfinies dans la couche prรฉsentation et la couche de donnรฉes, et appelle ces fonctions dans l'autre sens.
Couche d'accรจs aux donnรฉes
Il s'agit de la fonction de la couche de donnรฉes, qui reรงoit les donnรฉes de la couche mรฉtier et effectue les opรฉrations nรฉcessaires dans la base de donnรฉes.
// this is the datalayer function which is receiving the data from the business //layer and performing the required operation into the database public class clsStudentData // Data layer class { // object of property layer class public DataSet getdata_dtIDUise(clsStudent obj) { DataSet ds; string sql; sql="select * from student where Studentld=" +obj.id+ "order by Studentld; ds=new DataSet(); //this is the datalayer function which accepts the sql query and performs the //corresponding operation ds=objdt.ExecuteSql(sql); return ds; } }
Explication du code
Le code dรฉfini dans la couche de donnรฉes ci-dessus accepte la requรชte complรจte, demandรฉe par le systรจme, et effectue les opรฉrations requises dans la base de donnรฉes.
2-Tier Architecture
C'est comme une architecture client-serveur, oรน la communication a lieu entre le client et le serveur.
Dans ce type d'architecture logicielle, la couche de prรฉsentation ou couche d'interface utilisateur s'exรฉcute cรดtรฉ client tandis que la couche de donnรฉes est exรฉcutรฉe et stockรฉe cรดtรฉ serveur.
Il n'existe aucune couche de logique mรฉtier ni couche intermรฉdiaire entre le client et le serveur.
Niveau unique ou 1 niveau Architecture
C'est la solution la plus simple, car elle รฉquivaut ร exรฉcuter l'application sur un ordinateur personnel. Tous les composants nรฉcessaires ร son fonctionnement se trouvent sur une seule application ou un seul serveur.
La couche de prรฉsentation, la couche de logique mรฉtier et la couche de donnรฉes sont toutes situรฉes sur une seule machine.
Avantages et inconvรฉnients du multi-niveau Architectures
Comme tout choix de conception, l'approche multi-niveaux prรฉsente des avantages รฉvidents, mais aussi quelques inconvรฉnients, rรฉsumรฉs ci-dessous.
| Avantages | Dรฉsavantages |
|---|---|
| รvolutivitรฉ | Augmentation des efforts |
| Centres de donnรฉes Integrity | Augmentation de la complexitรฉ |
| Rรฉutilisable | |
| Rรฉpartition rรฉduite | |
| Renforcement de la Sรฉcuritรฉ | |
| Disponibilitรฉ amรฉliorรฉe |
Par consรฉquent, il fait partie d'un programme qui crypte les problรจmes commerciaux rรฉels et dรฉtermine comment les donnรฉes peuvent รชtre mises ร jour, crรฉรฉes, stockรฉes ou modifiรฉes pour accomplir la tรขche complรจte.
Niveau N ArchiConseils et dรฉveloppement de tecture
รtant donnรฉ que les professionnels du logiciel doivent avoir un contrรดle total sur toutes les couches de l'architecture, voici quelques conseils sur l'architecture n-tiers :
- Essayez de dรฉcoupler autant que possible les couches les unes des autres en utilisant une technique comme SOAP XML.
- Utilisez des outils automatisรฉs pour gรฉnรฉrer une carte.ping entre une couche de logique mรฉtier et une couche de base de donnรฉes relationnelle (couche de donnรฉes). Outils pouvant faciliter la modรฉlisation de ces interfaces.ping Les techniques utilisรฉes incluent Entity Framework et Hibernate pour .Net, etc.
- Dans la couche de prรฉsentation client, placez autant que possible le code commun ร tous les clients dans une bibliothรจque sรฉparรฉe. Cela maximisera la rรฉutilisation du code pour tous les types de clients.
- Une couche de cache peut รชtre ajoutรฉe ร une couche existante pour accรฉlรฉrer les performances.

