Architecture N Tier (Multi-Tier), 3-Tier, 2-Tier avec EXEMPLE

Table des matières:

Anonim

Qu'est-ce que N-Tier?

Un programme d' application N-Tier est un programme qui est distribué sur au moins trois ordinateurs distincts dans un réseau distribué.

La forme la plus courante de n-tiers est l'application à 3 niveaux, et elle est classée en trois catégories.

  • Programmation de l'interface utilisateur dans 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.

Dans N-tier, "N" fait référence à un certain nombre d'étages ou de couches sont utilisées comme - 2 niveaux, 3-tier ou 4 niveaux, etc . Elle est également appelée « architecture multi-niveaux» .

L'architecture n-tier est un modèle d'architecture logicielle éprouvé dans l'industrie. Il convient pour prendre en charge les applications client-serveur au niveau de l'entreprise en fournissant des solutions 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.

Dans ce didacticiel, vous apprendrez-

  • Qu'est-ce que N-Tier?
  • Architecture N-Tier
  • Types d'architectures N-Tier
    • Architecture à 3 niveaux
    • Architecture à 2 niveaux
    • Architecture à un ou à un niveau
  • Avantages et inconvénients des architectures multiniveaux
  • Conseils et développement d'architecture N-Tier

Architecture N-Tier

Une représentation schématique d'un système à n niveaux illustre ici - les couches de présentation, d'application et de base de données.

Diagramme d'architecture de niveau N

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 Sales Force
  • Chemins de fer indiens - IRCTC
  • Amazon.com, etc.

Quelques termes courants à retenir pour mieux comprendre le concept.

  • Réseau distribué: C'est une architecture de réseau, où les composants situés sur les ordinateurs du réseau coordonnent et communiquent leurs actions uniquement en passant des messages. Il s'agit d'un ensemble de systèmes multiples situés à 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é - où différents clients sont connectés au sein de l'architecture LAN d'un côté et de l'autre, ils sont connectés à des commutateurs haute vitesse avec un rack de serveurs contenant des nœuds de service.
  • Architecture client-serveur: C'est un modèle d'architecture où le client (un programme) demande un service à un serveur (un autre programme) c'est-à-dire qu'il s'agit d'un service de demande-réponse fourni sur Internet ou via un intranet.

    Dans ce modèle, le client servira d'un ensemble de programme / code qui exécute un ensemble d'actions sur le réseau. Tandis que le serveur , 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. Une banque est le serveur pour traiter l'application dans les grandes bases de données clients et la machine ATM est le client ayant une interface utilisateur avec un traitement d'application simple.
  • Plate-forme: dans l'industrie informatique ou logicielle, une plate-forme est un système sur lequel un programme d'application peut s'exécuter. Il se compose d'une combinaison de matériel et de logiciel qui ont une instruction intégrée pour un processeur / microprocesseur pour effectuer des opérations spécifiques.
    • En termes plus simples, la plate-forme est un système ou une base où toutes les applications peuvent s'exécuter et s'exécuter pour obtenir une tâche spécifique.
    • Un exemple de plate-forme - Une machine personnelle chargée avec 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 à être facilement accessible, gérée et mise à jour.
    • Exemples de base de données - MySQL, SQL Server et Oracle Database sont des bases de données courantes.

Types d'architectures N-Tier

Il existe différents types d'architectures N-Tier, comme l'architecture à 3 niveaux, l'architecture à 2 niveaux et l'architecture à 1 niveau.

Tout d'abord, nous verrons l'architecture à 3 niveaux, ce qui est très important.

Architecture à 3 niveaux

En regardant le diagramme ci-dessous, vous pouvez facilement identifier que l' architecture à 3 niveaux a trois couches différentes.

  • Couche de présentation
  • Couche de logique métier
  • Couche de base de données

Diagramme d'architecture à 3 niveaux

Ici, nous avons pris un exemple simple de forme étudiante pour comprendre ces trois couches. Il contient des informations sur un élève 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 layerclsStudent objproperty=new clsStudent();// Object of the business layerclsStudentInfo objbs=new clsStudentInfo();// Object of the dataset in which we receive the data sent by the business layerDataSet ds=new DataSet();// here we are placing the value in the property using the object of the//property layerobjproperty.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 d'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 de gestion qui accepte les données de la couche d'application et les transmet à la couche de 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.
  • Il 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 functionreturn ds;}}

Explication du code

Le code utilise la fonction de couche de gestion, qui acceptera les données de la couche d'application et les transmettra à la couche de données. Les codes de la couche métier agissent comme un médiateur entre les fonctions définies dans la couche de présentation et la couche de données et en appelant les fonctions vice-versa.

Couche d'accès aux données

Il s'agit de la fonction de couche de données, qui reçoit les données de la couche de gestion et effectue l'opération nécessaire 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 databasepublic class clsStudentData // Data layer class{// object of property layer classpublic 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 operationds=objdt.ExecuteSql(sql);return ds;}}

Explication du code

Le code défini dans la couche de jeu de données ci-dessus accepte la demande entière: demandée par le système et effectuant les opérations requises dans la base de données.

Architecture à 2 niveaux:

C'est comme l'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 de jeu 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.

Architecture à un ou à un niveau:

C'est la plus simple car elle équivaut à exécuter l'application sur l'ordinateur personnel. Tous les composants requis pour qu'une application s'exécute 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 des architectures multiniveaux

Avantages

Désavantages

  • Évolutivité
  • Augmentation de l'effort
  • Intégrité des données
  • Augmentation de la complexité
  • Réutilisabilité
  • Distribution réduite
  • Amélioration de la sécurité
  • Disponibilité améliorée

Par conséquent, il fait partie d'un programme qui crypte les problèmes commerciaux du monde réel et détermine comment les données peuvent être mises à jour, créées, stockées ou modifiées pour effectuer la tâche complète.

Conseils et développement d'architecture N-Tier

Considérant que les professionnels du logiciel doivent avoir un contrôle total sur toutes les couches de l'architecture, des conseils sur l'architecture n-tiers sont donnés ci-dessous

  1. Essayez de découpler les couches d'une autre couche autant que possible en utilisant une technique telle que soap XML.
  2. Utilisez des 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 cartographie sont: Entity Framework et Hibernate pour .Net, etc.
  3. Dans la couche de présentation du client, placez autant que possible un code commun pour tous les clients dans une bibliothèque séparée. 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 de gestion, 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.

Cette conception architecturale garantit la maintenance, la mise à l'échelle et le déploiement d'une application sur Internet de manière efficace.