N-nivå (flernivå), 3-nivå, 2-nivå Architecture med EXEMPEL
Vad är N-Tier?
An N-Tier-applikation program är ett som är distribuerat mellan tre eller flera separata datorer i ett distribuerat nätverk.
Den vanligaste formen av n-tier är 3-tier Application, och den klassificeras i tre kategorier.
- Användargränssnittsprogrammering i användarens dator
- Affärslogik i en mer centraliserad dator, och
- Nödvändig data i en dator som hanterar en databas.
Denna arkitekturmodell ger mjukvaruutvecklare möjlighet att skapa återanvändbara applikationer/system med maximal flexibilitet.
In N-tier, "N" hänvisar till att ett antal nivåer eller lager används som – 2-lager, 3-lager eller 4-lager, etc. Det kallas också "Flernivå Architecture”.
N-tiers arkitektur är en industribeprövad mjukvaruarkitekturmodell. Den är lämplig för 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.
N-nivå Architecture
En schematisk representation av ett n-tiersystem visar här – presentations-, applikations- och databaslager.
Dessa tre lager kan ytterligare delas in i olika dellager beroende på kraven.
Några av de populära webbplatserna som har tillämpat denna arkitektur är
- MakeMyTrip.com
- Sales Force företagsapplikation
- Indian Railways – IRCTC
- Amazon.com osv.
Några vanliga termer att komma ihåg, för att förstå konceptet tydligare.
- Distribuerat nätverk: Det är en nätverksarkitektur, där komponenterna som finns på nätverksdatorer koordinerar och kommunicerar sina handlingar endast genom att skicka meddelanden. Det är en samling av flera system placerade vid olika noder men framstår för användaren som ett enda system.
- Det tillhandahåller 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öghastighetsväxlar tillsammans med ett rack med servrar som innehåller servicenoder.
- Klient-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 över internet eller via ett intranät. I denna modell, Klient kommer att fungera som en uppsättning program/kod som exekverar en uppsättning åtgärder över nätverket. Medan server, å andra sidan, är en uppsättning av ett annat program, som skickar resultatuppsättningarna till klientsystemet enligt önskemål.
- 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 bearbetar servern förfrågan och visar resultatet för slutanvändaren.
- Ett exempel på klient-servermodell – en bankomat. En bank är servern för att bearbeta applikationen inom de stora kunddatabaserna och bankomat är klienten som har ett användargränssnitt med lite enkel applikationsbehandling.
- Plattform: Inom datavetenskap eller mjukvaruindustrin är en plattform ett system på vilket applikationsprogram kan köras. Den består av en kombination av hårdvara och mjukvara som har en inbyggd instruktion för en processor/mikroprocessor att utföra specifika operationer.
- Med enklare 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å 2 olika plattformar.
- Databas: Det är en samling 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:s.
Typer av N-tier Architectures
Det finns olika typer av N-Tier Architectures, som 3-tier Architecture, 2-nivå Architecture och 1- Tier Architecture.
Först kommer vi att se 3-tier Architecture, vilket är mycket viktigt.
3-Tier Architecture
Genom att titta på diagrammet nedan kan du enkelt identifiera det 3-stegs arkitektur har tre olika lager.
- Presentationslager
- Affärslogiklager
- Databaslager
Här har vi tagit ett enkelt exempel på elevform 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 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();
Kodförklaring
- Ovanstående kod definierar den grundläggande utformningen av en front-end-vy av applikationer samt anrop av funktionerna för andra lager så att de kan integreras med varandra.
Business Access Layer –
Detta är funktionen hos affärslagret som accepterar data från applikationslagret och skickar det till datalagret.
- Affärslogik fungerar som ett gränssnitt mellan klientskiktet och dataåtkomstskiktet
- All affärslogik – som validering av data, beräkningar, infogning/modifiering av data 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 function return ds; } }
Förklaring av kod
Koden använder funktionen affärslager, som accepterar data för applikationslagret och skickar den till datalagret. Affärslagerkoderna fungerar som en förmedlare mellan funktionerna som definieras i presentationslagret och datalagret och anropar funktionerna vice versa.
Dataåtkomstlager
Detta är datalagerfunktionen, som tar emot data från affärslagret och utför den nödvändiga operationen in i databasen.
// 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; } }
Förklaring av kod
Koden som definieras i datauppsättningslagret ovan accepterar hela begäran: begärd av systemet och utför de nödvändiga operationerna i databasen.
2-Tier Architecture
Det är som klient-serverarkitektur, där kommunikation sker mellan klient och server.
I den här typen av mjukvaruarkitektur körs presentationslagret eller användargränssnittslagret på klientsidan medan datasetlagret exekveras och lagras på serversidan.
Det finns inget affärslogiklager eller omedelbart lager mellan klient och server.
Enkelnivå eller 1-nivå Architecture
Det är det enklaste eftersom det motsvarar att köra programmet på en persondator. Alla komponenter som krävs för att en applikation ska köras finns på en enda applikation eller server.
Presentationslager, affärslogiklager och datalager finns alla på en enda maskin.
Fördelar och nackdelar med Multi-Tier Architectures
Fördelar | Nackdelar |
---|---|
Skalbarhet | Ökad ansträngning |
Data Integrity | Ökning i komplexitet |
reus Förmåga | |
Minskad distribution | |
Förbättrad säkerhet | |
Förbättrad tillgänglighet |
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-nivå Architecture Tips och utveckling
Med tanke på att mjukvaruproffsen måste ha full kontroll över alla lager i arkitekturen, ges tips om n-tier-arkitektur enligt nedan
- Försök att frikoppla 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 for .Net etc.
- I klientpresentatörslager, lägg en gemensam kod för alla klienter i ett separat bibliotek så mycket som möjligt. Detta kommer att maximera kodens återanvändbarhet för alla typer av klienter.
- Ett cachelager kan läggas till i ett befintligt lager för att påskynda prestandan.
Sammanfattning
N-tier-arkitekturen hjälper till att hantera alla komponenter (affärslager, presentationslager och databaslager) i en applikation under ett och samma tak.
Applikationer som använder ett litet antal användare på ett lokalt nätverk kan dra nytta av n-tier-arkitektur.
Sådan arkitektonisk design säkerställer att en applikation på Internet effektivt underhålls, skalas upp och distribueras.