Niveau N (multi-niveaux), 3 niveaux, 2 niveaux Architecture avec EXEMPLE
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 permet aux dรฉveloppeurs de logiciels 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 est un modรจle d'architecture logicielle รฉprouvรฉ par l'industrie. Il convient ร la prise en charge des applications client-serveur au niveau de l'entreprise en fournissant des solutions en matiรจre d'รฉvolutivitรฉ, 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.
Certains des sites populaires qui ont appliquรฉ cette architecture sont
- MakeMyTrip.com
- Application d'entreprise pour la force de vente
- Chemins de fer indiens โ IRCTC
- Amazon.com, etc.
Quelques termes courants ร retenir, afin de mieux comprendre le concept.
- Rรฉseau distribuรฉ : Il s'agit d'une architecture rรฉseau dans laquelle les composants situรฉs sur les ordinateurs du rรฉseau coordonnent et communiquent leurs actions uniquement en transmettant des messages. Il s'agit d'un ensemble de plusieurs systรจmes situรฉs ร diffรฉrents nลuds mais 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รฉ โ oรน diffรฉrents clients sont connectรฉs au sein d'une architecture LAN d'un cรดtรฉ et de l'autre cรดtรฉ, ils sont connectรฉs ร des commutateurs haut dรฉbit ainsi qu'ร un rack de serveurs contenant des nลuds de service.
- Serveur client Archistructure : C'est un modรจle d'architecture oรน le client (un programme) demande un service ร un serveur (un autre programme) ร Il s'agit d'un service de demande-rรฉponse fourni sur Internet ou via 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รฉ.
- En cela, l'ordinateur client fournit une interface ร un utilisateur final pour demander un service ou une ressource ร un serveur et, d'autre part, le serveur traite ensuite la demande et affiche le rรฉsultat ร l'utilisateur final.
- Un exemple de modรจle client-serveur : un guichet automatique bancaire. Une banque est le serveur de traitement de l'application dans les grandes bases de donnรฉes clients et le guichet automatique est le client disposant d'une interface utilisateur avec un traitement d'application simple.
- Plate-forme: En informatique ou dans lโindustrie du logiciel, une plateforme est un systรจme sur lequel un programme dโapplication peut sโexรฉcuter. Il s'agit d'une combinaison de matรฉriel et de logiciels dotรฉs d'instructions intรฉgrรฉes 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 n'importe quelle application peut s'exรฉcuter et s'exรฉcuter pour obtenir 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 sont 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 Architecture et 1-Tier 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

Ici, nous avons pris un exemple simple de formulaire d'รฉtudiant pour comprendre ces trois niveaux. Il contient des informations sur un รฉtudiant telles que son nom, son adresse, son e-mail 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();
Explication du code
- Le code ci-dessus dรฉfinit la conception de base d'une vue frontale des applications ainsi que l'appel des fonctions des autres couches afin qu'elles puissent รชtre intรฉgrรฉes les unes aux autres.
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 agit comme une 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 de 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 couche mรฉtier, qui acceptera les donnรฉes pour la couche application et les transmettra ร la couche de donnรฉes. Les codes de la couche Business agissent comme mรฉdiateur entre les fonctions dรฉfinies dans la couche prรฉsentation et la couche donnรฉes et appellent les fonctions vice-versa.
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 d'ensemble de donnรฉes ci-dessus accepte l'intรฉgralitรฉ de la demande : demandรฉe par le systรจme et effectuant 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 la couche d'interface utilisateur s'exรฉcute cรดtรฉ client tandis que la couche ensemble de donnรฉes est exรฉcutรฉe et stockรฉe cรดtรฉ serveur.
Il n'y a pas de couche de logique mรฉtier ou de couche immรฉdiate 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 l'ordinateur personnel. Tous les composants requis pour lโexรฉcution dโune application 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
| Avantages | Dรฉsavantages |
|---|---|
| รvolutivitรฉ | Augmentation des efforts |
| Date 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, des conseils sur l'architecture ร n niveaux sont donnรฉs ci-dessous.
- Essayez de dรฉcoupler autant que possible les calques d'un autre calque en utilisant une technique telle que Soap XML.
- Utilisez certains outils automatisรฉs pour gรฉnรฉrer un mappage entre une couche de logique mรฉtier et une couche de base de donnรฉes relationnelle (couche de donnรฉes). Les outils qui peuvent aider ร modรฉliser ces techniques de mappage sont Entity Framework et Hibernate for .Net, etc.
- Dans la couche prรฉsentateur client, placez autant que possible un code commun pour tous les clients dans une bibliothรจque distincte. Cela maximisera la rรฉutilisabilitรฉ 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.
Rรฉsumรฉ
L'architecture ร N niveaux permet de gรฉrer tous les composants (couche mรฉtier, couche de prรฉsentation et couche de base de donnรฉes) d'une application sous un mรชme toit.
Les applications qui utilisent un petit nombre d'utilisateurs sur un rรฉseau local peuvent bรฉnรฉficier d'une architecture ร n niveaux.
Une telle conception architecturale garantit la maintenance, la mise ร l'รฉchelle et le dรฉploiement efficace d'une application sur Internet.

