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.

Niveau N Architecture
Niveau N Archidiagramme de structure

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, Témoignage 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
3 Tier Archidiagramme de structure
3 Tier Archidiagramme de structure

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

3-Tier Architecture

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
Sauvegarde de Integrity Augmentation de la complexité
Réutilisable
Répartition réduite
Sécurité améliorée
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.

  1. Essayez de découpler autant que possible les calques d'un autre calque en utilisant une technique telle que Soap XML.
  2. 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.
  3. 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.
  4. 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.