N-Stufe (mehrstufig), 3-stufig, 2-stufig Architektur mit BEISPIEL

Was ist N-Tier?

An N-Tier-Anwendung Ein Programm ist ein Programm, das auf drei oder mehr separate Computer in einem verteilten Netzwerk verteilt ist.

Die gebräuchlichste Form der N-Tier-Anwendung ist die 3-Tier-Anwendung und wird in drei Kategorien eingeteilt.

  • Programmierung der Benutzeroberfläche im Computer des Benutzers
  • Geschäftslogik in einem stärker zentralisierten Computer und
  • Erforderliche Daten in einem Computer, der eine Datenbank verwaltet.

Dieses Architekturmodell ermöglicht Softwareentwicklern die Erstellung wiederverwendbarer Anwendungen/Systeme mit maximaler Flexibilität.

In N-Stufe, „N“ bezieht sich auf eine Reihe von Ebenen oder Ebenen, die verwendet werden, wie z. 2-stufig, 3-stufig oder 4-stufig usw. Es heißt auch „Mehrstufig ArchiStruktur“.

Die n-Tier-Architektur ist ein branchenerprobtes Softwarearchitekturmodell. Es eignet sich zur Unterstützung von Client-Server-Anwendungen auf Unternehmensebene, indem es Lösungen für Skalierbarkeit, Sicherheit, Fehlertoleranz, Wiederverwendbarkeit und Wartbarkeit bietet. Es hilft Entwicklern, flexible und wiederverwendbare Anwendungen zu erstellen.

N-Stufe Architektur

Eine schematische Darstellung eines n-Tier-Systems zeigt hier: Präsentations-, Anwendungs- und Datenbankebene.

N-Stufe Architektur
N-Stufe ArchiStrukturdiagramm

Diese drei Schichten können je nach Anforderung noch weiter in verschiedene Unterschichten unterteilt werden.

Einige der beliebtesten Websites, die diese Architektur angewendet haben, sind

  • MakeMyTrip.com
  • Sales Force-Unternehmensanwendung
  • Indische Eisenbahnen – IRCTC
  • Amazon.com usw.

Einige gebräuchliche Begriffe sollten Sie sich merken, um das Konzept besser zu verstehen.

  • Verteiltes Netzwerk: Es handelt sich um eine Netzwerkarchitektur, bei der die Komponenten auf Netzwerkcomputern ihre Aktionen nur durch die Übermittlung von Nachrichten koordinieren und kommunizieren. Es handelt sich um eine Sammlung mehrerer Systeme, die sich an verschiedenen Knoten befinden, für den Benutzer jedoch als ein einziges System erscheinen.
    • Es stellt ein einziges Datenkommunikationsnetzwerk bereit, das von verschiedenen Netzwerken separat verwaltet werden kann.
    • Ein Beispiel für ein verteiltes Netzwerk: Auf der einen Seite sind verschiedene Clients innerhalb einer LAN-Architektur verbunden und auf der anderen Seite sind sie mit Hochgeschwindigkeits-Switches und einem Server-Rack verbunden, das Serviceknoten enthält.
  • Client-Server ArchiStruktur: Es handelt sich um ein Architekturmodell, bei dem der Client (ein Programm) einen Dienst von einem Server (einem anderen Programm) anfordert. dh Es handelt sich um einen Anfrage-Antwort-Dienst, der über das Internet oder ein Intranet bereitgestellt wird. In diesem Modell Kunden dient als ein Satz Programm/Code, der eine Reihe von Aktionen über das Netzwerk ausführt. Während Serverhingegen ist eine Menge eines anderen Programms, das die Ergebnismengen wie angefordert an das Client-System sendet.
    • Dabei stellt der Client-Computer einem Endbenutzer eine Schnittstelle zur Verfügung, um einen Dienst oder eine Ressource von einem Server anzufordern, und andererseits verarbeitet der Server dann die Anfrage und zeigt dem Endbenutzer das Ergebnis an.
    • Ein Beispiel für ein Client-Server-Modell – ein Geldautomat. Eine Bank ist der Server für die Verarbeitung des Antrags innerhalb der großen Kundendatenbanken und ein Geldautomat ist der Kunde, der über eine Benutzeroberfläche mit einer einfachen Antragsverarbeitung verfügt.
  • Plattform: In der Informatik oder Softwarebranche ist eine Plattform ein System, auf dem Anwendungsprogramme ausgeführt werden können. Sie besteht aus einer Kombination aus Hardware und Software, die über integrierte Anweisungen für Prozessoren/Mikroprozessoren zur Ausführung bestimmter Vorgänge verfügt.
    • Einfacher ausgedrückt ist die Plattform ein System oder eine Basis, auf der beliebige Anwendungen ausgeführt und ausgeführt werden können, um eine bestimmte Aufgabe zu erhalten.
    • Ein Beispiel für eine Plattform – eine persönliche Maschine voller Windows 2000 oder Mac OS X als Beispiele für 2 verschiedene Plattformen.
  • Datenbank: Dabei handelt es sich um eine organisierte Sammlung von Informationen, die leicht zugänglich, verwaltet und aktualisierbar ist.
    • Beispiele für Datenbanken – MySQL, SQL Server und Oracle Database sind einige gängige Datenbanken.

Arten von N-Tier Architekturen

Es gibt verschiedene Arten von N-Tier ArchiTexturen, wie 3-stufig ArchiStruktur, 2-stufig ArchiStruktur und 1-Tier ArchiStruktur.

Zuerst sehen wir 3-Stufen ArchiStruktur, was sehr wichtig ist.

3-Tier Architektur

Anhand des folgenden Diagramms können Sie dies leicht erkennen 3-Tier-Architektur hat drei verschiedene Schichten.

  • Präsentationsfolie
  • Ebene der Geschäftslogik
  • Datenbankebene
3 Tier ArchiStrukturdiagramm
3 Tier ArchiStrukturdiagramm

Hier haben wir ein einfaches Beispiel eines Studentenformulars genommen, um alle drei Ebenen zu verstehen. Es enthält Informationen über einen Studenten wie Name, Adresse, E-Mail und Bild.

Benutzeroberflächenschicht oder Präsentationsschicht

3-Tier Architektur

Präsentationsfolie

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 Erklärung

  • Der obige Code definiert das grundlegende Design einer Front-End-Ansicht von Anwendungen sowie den Aufruf der Funktionen anderer Schichten, damit diese miteinander integriert werden können.

Geschäftszugriffsschicht –

Dies ist die Funktion der Business-Schicht, die die Daten von der Anwendungsschicht entgegennimmt und an die Datenschicht weitergibt.

  • Die Geschäftslogik fungiert als Schnittstelle zwischen der Client-Schicht und der Datenzugriffsschicht
  • Die gesamte Geschäftslogik – wie Datenvalidierung, Berechnungen, Dateneinfügung/-änderung – wird unter der Geschäftslogikschicht geschrieben.
  • Es macht die Kommunikation zwischen Client und Datenschicht schneller und einfacher
  • Definiert eine ordnungsgemäße Workflow-Aktivität, die zum Abschließen einer Aufgabe erforderlich ist.
// 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;
	}
}

Erläuterung des Codes

Der Code nutzt die Funktion der Business-Schicht, die die Daten für die Anwendungsschicht akzeptiert und an die Datenschicht weiterleitet. Die Business-Layer-Codes fungieren als Vermittler zwischen den in der Präsentationsschicht und der Datenschicht definierten Funktionen und dem Aufruf der Funktionen umgekehrt.

Datenzugriffsschicht

Dies ist die Datenschichtfunktion, die die Daten von der Geschäftsschicht empfängt und die erforderlichen Vorgänge in der Datenbank ausführt.

// 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;
	}
}

Erläuterung des Codes

Der in der obigen Datensatzebene definierte Code akzeptiert die gesamte Anforderung: vom System angefordert und die erforderlichen Vorgänge in der Datenbank ausgeführt.

2-Tier Architektur

Es ist wie eine Client-Server-Architektur, bei der die Kommunikation zwischen Client und Server stattfindet.

Bei dieser Art von Softwarearchitektur wird die Präsentations- oder Benutzeroberflächenebene auf der Clientseite ausgeführt, während die Datensatzebene auf der Serverseite ausgeführt und gespeichert wird.

Es gibt keine Geschäftslogikschicht oder unmittelbare Schicht zwischen Client und Server.

Einstufig oder einstufig Architektur

Dies ist die einfachste Variante, da sie der Ausführung der Anwendung auf dem PC entspricht. Alle für die Ausführung einer Anwendung erforderlichen Komponenten befinden sich auf einer einzigen Anwendung oder einem einzigen Server.

Die Präsentationsschicht, die Geschäftslogikschicht und die Datenschicht befinden sich alle auf einem einzigen Computer.

Vor- und Nachteile von Multi-Tier Architekturen

Vorteile Nachteile
Skalierbarkeit Steigerung des Aufwands
Datum Integrity Zunahme der Komplexität
Wiederverwendbarkeit
Reduzierte Verbreitung
Verbesserte Sicherheit
Verbesserte Verfügbarkeit

Daher ist es Teil eines Programms, das reale Geschäftsprobleme verschlüsselt und bestimmt, wie Daten aktualisiert, erstellt, gespeichert oder geändert werden können, um die gesamte Aufgabe zu erledigen.

N-Stufe ArchiTipps und Entwicklung zur Architektur

Da die Software-Experten die volle Kontrolle über alle Schichten der Architektur haben müssen, finden Sie im Folgenden Tipps zur n-Tier-Architektur.

  1. Versuchen Sie, Ebenen so weit wie möglich von einer anderen Ebene zu entkoppeln, indem Sie eine Technik wie Soap-XML verwenden.
  2. Verwenden Sie einige automatisierte Tools, um eine Zuordnung zwischen einer Geschäftslogikschicht und einer relationalen Datenbankschicht (Datenschicht) zu erstellen. Tools, die bei der Modellierung dieser Zuordnungstechniken hilfreich sein können, sind Entity Framework und Hibernate für .Net usw.
  3. Platzieren Sie in der Client-Presenter-Ebene möglichst einen gemeinsamen Code für alle Clients in einer separaten Bibliothek. Dadurch wird die Wiederverwendbarkeit des Codes für alle Arten von Clients maximiert.
  4. Um die Leistung zu steigern, kann einer vorhandenen Ebene eine Cache-Ebene hinzugefügt werden.

Zusammenfassung

Die N-Tier-Architektur hilft, alle Komponenten (Geschäftsschicht, Präsentationsschicht und Datenbankschicht) einer Anwendung unter einem Dach zu verwalten.

Anwendungen, die eine kleine Anzahl von Benutzern in einem lokalen Netzwerk verwenden, können von der N-Tier-Architektur profitieren.

Ein derartiger Architekturentwurf stellt die effiziente Wartung, Skalierung und Bereitstellung einer Anwendung im Internet sicher.

Täglicher Guru99-Newsletter

Beginnen Sie Ihren Tag mit den neuesten und wichtigsten KI-Nachrichten, die jetzt geliefert werden.