N-tier (multi-tier), 3-tier, 2-tier architectuur met VOORBEELD

Inhoudsopgave:

Anonim

Wat is N-Tier?

Een N-Tier applicatieprogramma is een programma dat wordt gedistribueerd over drie of meer afzonderlijke computers in een gedistribueerd netwerk.

De meest voorkomende vorm van n-tier is de drieledige applicatie en deze is ingedeeld in drie categorieën.

  • Programmering van de gebruikersinterface op de computer van de gebruiker
  • Bedrijfslogica in een meer gecentraliseerde computer, en
  • Vereiste gegevens op een computer die een database beheert.

Dit architectuurmodel biedt softwareontwikkelaars de mogelijkheid om herbruikbare applicaties / systemen te creëren met maximale flexibiliteit.

In N-tier verwijst "N" naar een aantal lagen of lagen die worden gebruikt, zoals - 2-tier, 3-tier of 4-tier, enz . Het wordt ook wel " Multi-Tier Architecture" genoemd .

De n-tier-architectuur is een in de branche bewezen softwarearchitectuurmodel. Het is geschikt om client-servertoepassingen op bedrijfsniveau te ondersteunen door oplossingen te bieden voor schaalbaarheid, beveiliging, fouttolerantie, herbruikbaarheid en onderhoudbaarheid. Het helpt ontwikkelaars om flexibele en herbruikbare applicaties te maken.

In deze tutorial leer je-

  • Wat is N-Tier?
  • N-Tier-architectuur
  • Soorten N-Tier-architecturen
    • 3-laagse architectuur
    • 2-laagse architectuur
    • Architectuur met één of één laag
  • Voordelen en nadelen van meerlaagse architecturen
  • N-Tier architectuur tips en ontwikkeling

N-Tier-architectuur

Een schematische weergave van een n-tier-systeem toont hier: presentatie-, applicatie- en databaselagen.

N-tier architectuurdiagram

Deze drie lagen kunnen, afhankelijk van de eisen, verder worden onderverdeeld in verschillende sublagen.

Enkele van de populaire sites die deze architectuur hebben toegepast, zijn

  • MakeMyTrip.com
  • Sales Force-bedrijfstoepassing
  • Indian Railways - IRCTC
  • Amazon.com, enz.

Enkele veelgebruikte termen om te onthouden, om het concept duidelijker te begrijpen.

  • Gedistribueerd netwerk: het is een netwerkarchitectuur, waarbij de componenten op netwerkcomputers hun acties alleen coördineren en communiceren door berichten door te geven. Het is een verzameling van meerdere systemen die zich op verschillende knooppunten bevinden, maar lijkt voor de gebruiker als één systeem.
    • Het biedt een enkel datacommunicatienetwerk dat afzonderlijk kan worden beheerd door verschillende netwerken.
    • Een voorbeeld van een gedistribueerd netwerk - waar verschillende clients aan de ene kant binnen een LAN-architectuur zijn verbonden en aan de andere kant zijn verbonden met hogesnelheidsswitches samen met een rack met servers met serviceknooppunten.
  • Client-serverarchitectuur: het is een architectuurmodel waarbij de client (het ene programma) een service aanvraagt ​​bij een server (een ander programma), dwz het is een request-response-service die wordt aangeboden via internet of via een intranet.

    In dit model zal Client dienen als één set programma / code die een set acties via het netwerk uitvoert. Terwijl Server daarentegen een set van een ander programma is, dat de resultatensets naar het clientsysteem verzendt zoals gevraagd.

    • Hierin biedt de clientcomputer een interface aan een eindgebruiker om een ​​dienst of een bron van een server aan te vragen en aan de andere kant verwerkt de server het verzoek en toont het resultaat aan de eindgebruiker.
    • Een voorbeeld van een Client-Server-model: een geldautomaat. Een bank is de server voor het verwerken van de applicatie binnen de grote klantendatabases en een geldautomaat is de klant met een gebruikersinterface met enkele eenvoudige applicatieverwerking.
  • Platform: in de computerwetenschap of software-industrie is een platform een ​​systeem waarop applicatieprogramma's kunnen draaien. Het bestaat uit een combinatie van hardware en software met een ingebouwde instructie voor processors / microprocessors om specifieke bewerkingen uit te voeren.
    • Met meer eenvoudige woorden, het platform is een systeem of een basis waarop alle applicaties kunnen draaien en uitvoeren om een ​​specifieke taak te verkrijgen.
    • Een voorbeeld van een platform - Een persoonlijke machine geladen met Windows 2000 of Mac OS X als voorbeelden van 2 verschillende platforms.
  • Database: het is een verzameling informatie op een georganiseerde manier zodat deze gemakkelijk kan worden geopend, beheerd en bijgewerkt.
    • Voorbeelden van databases - MySQL, SQL Server en Oracle Database zijn enkele veelvoorkomende Db's.

Soorten N-Tier-architecturen

Er zijn verschillende soorten N-Tier-architecturen, zoals 3-tier-architectuur, 2-Tier-architectuur en 1- Tier-architectuur.

Ten eerste zullen we drieledige architectuur zien, wat erg belangrijk is.

3-laagse architectuur

Door naar het onderstaande diagram te kijken, kunt u gemakkelijk zien dat drieledige architectuur drie verschillende lagen heeft.

  • Presentatie laag
  • Business Logic-laag
  • Database-laag

Architectuurdiagram met 3 niveaus

Hier hebben we een eenvoudig voorbeeld van een studentenvorm genomen om al deze drie lagen te begrijpen. Het bevat informatie over een student, zoals: naam, adres, e-mail en foto.

Gebruikersinterfacelaag of presentatielaag

Presentatie laag

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 Verklaring

  • De bovenstaande code definieert het basisontwerp van een front-end-aanzicht van applicaties en het aanroepen van de functies van andere lagen zodat ze met elkaar kunnen worden geïntegreerd.

Business Access-laag -

Dit is de functie van de bedrijfslaag die de gegevens van de toepassingslaag accepteert en doorgeeft aan de gegevenslaag.

  • Bedrijfslogica fungeert als een interface tussen de clientlaag en de gegevenstoegangslaag
  • Alle bedrijfslogica - zoals validatie van gegevens, berekeningen, gegevensinvoeging / -wijziging worden onder de bedrijfslogica-laag geschreven.
  • Het maakt de communicatie tussen de klant en de datalaag sneller en gemakkelijker
  • Definieert een juiste werkstroomactiviteit die nodig is om een ​​taak te voltooien.
// 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;}}

Verklaring van code

De code gebruikt de functie van de bedrijfslaag, die de gegevens voor de toepassingslaag accepteert en doorgeeft aan de gegevenslaag. De bedrijfslaagcodes fungeren als bemiddelaar tussen de functies die zijn gedefinieerd in de presentatielaag en de gegevenslaag en roepen de functies vice-versa op.

Data Access-laag

Dit is de gegevenslaagfunctie, die de gegevens van de bedrijfslaag ontvangt en de noodzakelijke bewerking in de database uitvoert.

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

Verklaring van code

De code die in de bovenstaande datasetlaag wordt gedefinieerd, accepteert het volledige verzoek: aangevraagd door het systeem en het uitvoeren van de vereiste bewerkingen in de database.

Architectuur met 2 niveaus:

Het is als Client-Server-architectuur, waar communicatie plaatsvindt tussen client en server.

In dit type softwarearchitectuur draait de presentatielaag of gebruikersinterfacelaag aan de clientzijde, terwijl de datasetlaag wordt uitgevoerd en opgeslagen aan de serverzijde.

Er is geen Business logic-laag of directe laag tussen client en server.

Architectuur met één of één laag:

Het is de eenvoudigste omdat het equivalent is aan het uitvoeren van de applicatie op de pc. Alle vereiste componenten om een ​​applicatie uit te voeren, bevinden zich op een enkele applicatie of server.

Presentatielaag, Business logic-laag en gegevenslaag bevinden zich allemaal op één machine.

Voordelen en nadelen van meerlaagse architecturen

Voordelen

Nadelen

  • Schaalbaarheid
  • Meer inspanning
  • Data-integriteit
  • Toename in complexiteit
  • Herbruikbaarheid
  • Verminderde distributie
  • Verbeterde beveiliging
  • Verbeterde beschikbaarheid

Daarom maakt het deel uit van een programma dat zakelijke problemen uit de echte wereld versleutelt en bepaalt hoe gegevens kunnen worden bijgewerkt, gemaakt, opgeslagen of gewijzigd om de volledige taak te voltooien.

N-Tier architectuur tips en ontwikkeling

Aangezien de softwareprofessionals volledige controle moeten hebben over alle lagen van de architectuur, worden tips over n-tier-architectuur hieronder gegeven

  1. Probeer lagen zoveel mogelijk los te koppelen van een andere laag door een techniek als soap XML te gebruiken.
  2. Gebruik enkele geautomatiseerde tools om een ​​mapping te genereren tussen een bedrijfslogica-laag en een relationele databaselaag (gegevenslaag). Hulpmiddelen die kunnen helpen bij het modelleren van deze kaarttechnieken zijn: Entity Framework en Hibernate voor .Net enz.
  3. Plaats in de client presenter-laag een gemeenschappelijke code voor alle clients zoveel mogelijk in een aparte bibliotheek. Dit zal de herbruikbaarheid van de code voor alle soorten klanten maximaliseren.
  4. Een cachelaag kan aan een bestaande laag worden toegevoegd om de prestaties te versnellen.

Overzicht:

De N-tier-architectuur helpt om alle componenten (bedrijfslaag, presentatielaag en databaselaag) van een applicatie onder één dak te beheren.

Toepassingen die een klein aantal gebruikers op een lokaal netwerk gebruiken, kunnen profiteren van een n-tier-architectuur.

Een dergelijk architectonisch ontwerp zorgt voor het efficiënt onderhouden, opschalen en implementeren van een applicatie op internet.