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.

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

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
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.
- Versuchen Sie, Ebenen so weit wie mรถglich von einer anderen Ebene zu entkoppeln, indem Sie eine Technik wie Soap-XML verwenden.
- 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.
- 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.
- 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.

