N Tier (Multi-Tier), 3-Tier, 2-Tier-Architektur mit BEISPIEL

Inhaltsverzeichnis:

Anonim

Was ist N-Tier?

Ein N-Tier-Anwendungsprogramm ist auf drei oder mehr separate Computer in einem verteilten Netzwerk verteilt.

Die häufigste Form von n-Tier ist die 3-Tier-Anwendung und wird in drei Kategorien eingeteilt.

  • Programmierung der Benutzeroberfläche auf dem Computer des Benutzers
  • Geschäftslogik in einem zentraleren Computer und
  • Erforderliche Daten auf einem Computer, der eine Datenbank verwaltet.

Dieses Architekturmodell bietet Softwareentwicklern die Möglichkeit, wiederverwendbare Anwendungen / Systeme mit maximaler Flexibilität zu erstellen.

In N-Tiere, "N" bezieht sich auf eine Anzahl von Lagen oder Schichten usw. verwendet werden - 2-Tier, 3-Tier - oder 4-Tier, etc . Es wird auch als " Multi-Tier-Architektur" bezeichnet .

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

In diesem Tutorial lernen Sie:

  • Was ist N-Tier?
  • N-Tier-Architektur
  • Arten von N-Tier-Architekturen
    • 3-Tier-Architektur
    • 2-Tier-Architektur
    • Single-Tier- oder 1-Tier-Architektur
  • Vor- und Nachteile mehrschichtiger Architekturen
  • Tipps und Entwicklung zur N-Tier-Architektur

N-Tier-Architektur

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

N-Tier-Architekturdiagramm

Diese drei Schichten können je nach Anforderung 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, an die Sie sich erinnern sollten, um das Konzept besser zu verstehen.

  • Verteiltes Netzwerk: Hierbei handelt es sich um eine Netzwerkarchitektur, bei der die an Netzwerkcomputern befindlichen Komponenten ihre Aktionen nur durch Weiterleiten von Nachrichten koordinieren und kommunizieren. Es handelt sich um eine Sammlung mehrerer Systeme, die sich an verschiedenen Knoten befinden, dem Benutzer jedoch als ein einziges System angezeigt werden.
    • Es bietet ein einziges Datenkommunikationsnetzwerk, das von verschiedenen Netzwerken separat verwaltet werden kann.
    • Ein Beispiel für ein verteiltes Netzwerk, bei dem verschiedene Clients innerhalb der LAN-Architektur auf der einen Seite und auf der anderen Seite mit Hochgeschwindigkeits-Switches zusammen mit einem Server-Rack mit Dienstknoten verbunden sind.
  • Client-Server-Architektur: Dies ist ein Architekturmodell, bei dem der Client (ein Programm) einen Dienst von einem Server (einem anderen Programm) anfordert, dh es handelt sich um einen Anforderungs-Antwort-Dienst, der über das Internet oder ein Intranet bereitgestellt wird.

    In diesem Modell dient der Client als eine Reihe von Programmen / Codes, die eine Reihe von Aktionen über das Netzwerk ausführen. Während Server andererseits eine Menge eines anderen Programms ist, das die Ergebnismengen wie angefordert an das Client-System sendet.

    • In diesem Fall stellt der Clientcomputer einem Endbenutzer eine Schnittstelle zur Verfügung, um einen Dienst oder eine Ressource von einem Server anzufordern, und andererseits verarbeitet der Server dann die Anforderung und zeigt das Ergebnis dem Endbenutzer an.
    • Ein Beispiel für ein Client-Server-Modell - ein Geldautomat. Eine Bank ist der Server für die Verarbeitung der Anwendung in den großen Kundendatenbanken, und der Geldautomat ist der Client, der über eine Benutzeroberfläche mit einer einfachen Anwendungsverarbeitung verfügt.
  • Plattform: In der Informatik- oder Softwareindustrie ist eine Plattform ein System, auf dem Anwendungsprogramme ausgeführt werden können. Es besteht aus einer Kombination von Hardware und Software, die eine integrierte Anweisung für einen Prozessor / Mikroprozessor enthält, um bestimmte Operationen auszuführen.
    • Mit einfacheren Worten, die Plattform ist ein System oder eine Basis, auf der Anwendungen ausgeführt und ausgeführt werden können, um eine bestimmte Aufgabe zu erhalten.
    • Ein Beispiel für eine Plattform - Ein mit Windows 2000 oder Mac OS X geladener Personal Computer als Beispiele für zwei verschiedene Plattformen.
  • Datenbank: Es handelt sich um eine Sammlung von Informationen, die so organisiert sind, dass sie leicht zugänglich, verwaltet und aktualisiert werden können.
    • 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-Architekturen, z. B. 3-Tier-Architektur, 2-Tier-Architektur und 1-Tier-Architektur.

Zunächst sehen wir eine dreistufige Architektur, die sehr wichtig ist.

3-Tier-Architektur

Anhand des folgenden Diagramms können Sie leicht erkennen, dass die dreistufige Architektur drei verschiedene Ebenen aufweist.

  • Präsentationsfolie
  • Business Logic-Schicht
  • Datenbankebene

3-stufiges Architekturdiagramm

Hier haben wir ein einfaches Beispiel für die Schülerform genommen, um all diese drei Ebenen zu verstehen. Es enthält Informationen zu einem Schüler wie Name, Adresse, E-Mail-Adresse und Bild.

Benutzeroberflächen- oder Präsentationsschicht

Präsentationsfolie

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();

Code Erklärung

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

Business Access Layer -

Dies ist die Funktion der Geschäftsschicht, die die Daten von der Anwendungsschicht akzeptiert und an die Datenschicht weiterleitet.

  • Die Geschäftslogik fungiert als Schnittstelle zwischen der Client-Schicht und der Datenzugriffsschicht
  • Alle Geschäftslogik - wie die Validierung von Daten, Berechnungen, das Einfügen / Ändern von Daten - werden unter der Geschäftslogikschicht geschrieben.
  • Dies macht die Kommunikation zwischen Client und Datenschicht schneller und einfacher
  • Definiert eine geeignete Workflow-Aktivität, die zum Ausführen 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 functionreturn ds;}}

Erklärung des Codes

Der Code verwendet die Funktion der Geschäftsschicht, 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äsentations- und Datenschicht definierten Funktionen und rufen die Funktionen umgekehrt auf.

Datenzugriffsschicht

Dies ist die Datenschichtfunktion, die die Daten von der Geschäftsschicht empfängt und die erforderliche Operation 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 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;}}

Erklärung des Codes

Der oben in der Dataset-Schicht definierte Code akzeptiert die gesamte Anforderung: vom System angefordert und führt die erforderlichen Vorgänge in der Datenbank aus.

2-Tier-Architektur:

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

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

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

Einstufige oder einstufige Architektur:

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

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

Vor- und Nachteile mehrschichtiger Architekturen

Vorteile

Nachteile

  • Skalierbarkeit
  • Steigerung des Aufwands
  • Datenintegrität
  • Steigerung der Komplexität
  • Wiederverwendbarkeit
  • Reduzierte Verteilung
  • Verbesserte Sicherheit
  • Verbesserte Verfügbarkeit

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

Tipps und Entwicklung zur N-Tier-Architektur

Da die Softwareprofis die vollständige Kontrolle über alle Ebenen der Architektur haben müssen, werden im Folgenden Tipps zur n-Tier-Architektur gegeben

  1. Versuchen Sie, Ebenen mithilfe einer Technik wie Seifen-XML so weit wie möglich von einer anderen Ebene zu entkoppeln.
  2. Verwenden Sie einige automatisierte Tools, um eine Zuordnung zwischen einer Geschäftslogikschicht und einer relationalen Datenbankschicht (Datenschicht) zu generieren. Tools, die bei der Modellierung dieser Zuordnungstechniken helfen können, sind - Entity Framework und Hibernate for .Net usw.
  3. Fügen Sie in der Client-Präsentationsschicht einen gemeinsamen Code für alle Clients so weit wie möglich in eine separate Bibliothek ein. Dadurch wird die Wiederverwendbarkeit des Codes für alle Arten von Clients maximiert.
  4. Eine Cache-Ebene kann zu einer vorhandenen Ebene hinzugefügt werden, um die Leistung zu beschleunigen.

Zusammenfassung:

Die N-Tier-Architektur hilft bei der Verwaltung aller Komponenten (Geschäftsschicht, Präsentationsschicht und Datenbankschicht) einer Anwendung unter einem Dach.

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

Durch ein solches Architekturdesign wird sichergestellt, dass eine Anwendung im Internet effizient gewartet, skaliert und bereitgestellt wird.