Vad är N-Tier?
Ett N-Tier Application- program är ett som distribueras mellan tre eller flera separata datorer i ett distribuerat nätverk.
Den vanligaste formen av n-nivå är applikationen med tre nivåer och den klassificeras i tre kategorier.
- Programmering av användargränssnitt i användarens dator
- Affärslogik i en mer centraliserad dator och
- Nödvändiga data i en dator som hanterar en databas.
Denna arkitekturmodell ger programvaruutvecklare att skapa återanvändbara applikationer / system med maximal flexibilitet.
I N-tier, "N" hänvisar till ett antal av nivåer eller skikt som används som - 2-tier, 3-tier eller 4-tier, etc . Det kallas också " Multi-Tier Architecture" .
N-tier-arkitekturen är en bransch-bevisad programvaruarkitekturmodell. Det är lämpligt att stödja klient-serverapplikationer på företagsnivå genom att tillhandahålla lösningar för skalbarhet, säkerhet, feltolerans, återanvändbarhet och underhållsbarhet. Det hjälper utvecklare att skapa flexibla och återanvändbara applikationer.
I den här handledningen lär du dig-
- Vad är N-Tier?
- N-Tier-arkitektur
- Typer av N-Tier-arkitekturer
- 3-Tier Arkitektur
- 2-Tier Arkitektur
- Enkel- eller 1-stegsarkitektur
- Fördelar och nackdelar med flernivåarkitekturer
- N-Tier Arkitekturtips och utveckling
N-Tier-arkitektur
En schematisk framställning av ett n-nivå-system avbildar här - presentation, applikation och databaskikt.

Dessa tre lager kan delas upp ytterligare i olika underlag beroende på kraven.
Några av de populära sajterna som har använt denna arkitektur är
- MakeMyTrip.com
- Sales Force företagsapplikation
- Indiska järnvägar - IRCTC
- Amazon.com, etc.
Några vanliga termer att komma ihåg för att förstå begreppet tydligare.
- Distribuerat nätverk: Det är en nätverksarkitektur där komponenterna på nätverksdatorerna samordnar och kommunicerar sina handlingar endast genom att skicka meddelanden. Det är en samling av flera system belägna vid olika noder men visas för användaren som ett enda system.
- Det ger ett enda datakommunikationsnätverk som kan hanteras separat av olika nätverk.
- Ett exempel på Distribuerat nätverk - där olika klienter är anslutna inom LAN-arkitektur på ena sidan och på andra sidan är de anslutna till höghastighetsomkopplare tillsammans med ett rack med servrar som innehåller servicenoder.
- Client-Server Architecture: Det är en arkitekturmodell där klienten (ett program) begär en tjänst från en server (ett annat program), dvs. det är en begäran-svarstjänst som tillhandahålls via internet eller via ett intranät.
I den här modellen kommer klienten att fungera som en uppsättning program / kod som utför en uppsättning åtgärder över nätverket. Medan Server , å andra sidan, är en uppsättning av ett annat program, som skickar resultatset till klientsystemet på begäran.
- I detta tillhandahåller klientdatorn ett gränssnitt till en slutanvändare för att begära en tjänst eller en resurs från en server och å andra sidan behandlar servern sedan begäran och visar resultatet för slutanvändaren.
- Ett exempel på Client-Server Model - en bankomat. En bank är servern för att behandla applikationen inom de stora kunddatabaserna och ATM-maskinen är klienten som har ett användargränssnitt med viss enkel applikationsbehandling.
- Plattform: I datavetenskap eller mjukvaruindustri är en plattform ett system som applikationsprogram kan köras på. Den består av en kombination av hårdvara och programvara som har en inbyggd instruktion för processorer / mikroprocessorer att utföra specifika operationer.
- Med mer enkla ord är plattformen ett system eller en bas där alla applikationer kan köras och köras för att få en specifik uppgift.
- Ett exempel på plattform - En personlig maskin laddad med Windows 2000 eller Mac OS X som exempel på två olika plattformar.
- Databas: Det är en insamling av information på ett organiserat sätt så att den lätt kan nås, hanteras och uppdateras.
- Exempel på databas - MySQL, SQL Server och Oracle Database är några vanliga Db: er.
Typer av N-Tier-arkitekturer
Det finns olika typer av N-Tier-arkitekturer, som 3-lags arkitektur, 2-lags arkitektur och 1-lags arkitektur.
Först kommer vi att se 3-lags arkitektur, vilket är mycket viktigt.
3-Tier Arkitektur
Genom att titta på diagrammet nedan kan du enkelt identifiera att 3-lags arkitektur har tre olika lager.
- Presentationsskikt
- Business Logic lager
- Databaslager
Här har vi tagit ett enkelt exempel på studentform för att förstå alla dessa tre lager. Den har information om en student som - Namn, adress, e-post och bild.
Användargränssnittslager eller presentationslager
Presentationslager
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();
Kodförklaring
- Ovanstående kod definierar den grundläggande utformningen av en frontendvy av applikationer samt anrop av funktionerna i andra lager så att de kan integreras med varandra.
Lager för företagsåtkomst -
Detta är funktionen för affärslaget som accepterar data från applikationslagret och skickar det till datalagret.
- Affärslogik fungerar som ett gränssnitt mellan klientlager och datatillgångslager
- All affärslogik - som validering av data, beräkningar, datainsättning / modifiering skrivs under affärslogiklager.
- Det gör kommunikationen snabbare och enklare mellan klienten och datalagret
- Definierar en korrekt arbetsflödesaktivitet som är nödvändig för att slutföra en uppgift.
// 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;}}
Förklaring av kod
Koden använder funktionen för affärslager, som accepterar data för applikationslagret och skickas till datalagret. Businesslagerkoderna fungerar som en medlare mellan de funktioner som definieras i presentationslagret och datalagret och kallar funktionerna vice-versa.
Dataåtkomstlager
Detta är datalagringsfunktionen, som tar emot data från affärsskiktet och utför nödvändig operation i databasen.
// 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;}}
Förklaring av kod
Koden som definieras i datalagret ovan accepterar hela begäran: begärs av systemet och utför de nödvändiga operationerna i databasen.
2-Tier Arkitektur:
Det är som klient-server-arkitektur, där kommunikation sker mellan klient och server.
I denna typ av programvaruarkitektur körs presentationslagret eller användargränssnittslagret på klientsidan medan datasetlagret körs och lagras på serversidan.
Det finns inget affärslogiklager eller omedelbart lager mellan klient och server.
Enkelt eller 1-lags arkitektur:
Det är det enklaste eftersom det motsvarar att köra applikationen på persondatorn. Alla komponenter som krävs för att ett program ska köras finns på en enda applikation eller server.
Presentationslager, affärslogiklager och datalager finns alla på en enda dator.
Fördelar och nackdelar med flernivåarkitekturer
Fördelar |
Nackdelar |
|
|
|
|
| |
| |
| |
|
Därför är det en del av ett program som krypterar verkliga affärsproblem och bestämmer hur data kan uppdateras, skapas, lagras eller ändras för att få hela uppgiften klar.
N-Tier Arkitekturtips och utveckling
Med tanke på att programvaruproffs måste ha full kontroll över alla skikt i arkitekturen, ges tips om n-nivåarkitektur enligt nedan
- Försök att koppla ihop lager från ett annat lager så mycket som möjligt genom att använda en teknik som tvål XML.
- Använd några automatiserade verktyg för att skapa en mappning mellan ett affärslogiklager och ett relationsdatabaslager (datalager). Verktyg som kan hjälpa till att modellera dessa kartläggningstekniker är - Entity Framework och Hibernate för .Net etc.
- I klientpresentatorn lagrar du en gemensam kod för alla klienter i ett separat bibliotek så mycket som möjligt. Detta maximerar återanvändningen av koden för alla typer av klienter.
- Ett cachelager kan läggas till i ett befintligt lager för att påskynda prestandan.
Sammanfattning:
N-nivåarkitekturen hjälper till att hantera alla komponenter (affärslager, presentationslager och databaslager) i ett program under ett tak.
Program som använder ett litet antal användare i ett lokalt nätverk kan dra nytta av n-nivå-arkitektur.
En sådan arkitektonisk design säkerställer att effektivt underhålla, skala upp och distribuera en applikation på Internet.