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.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: