N Tier (Multi-Tier), 3-tier, 2-tier Architecture med EKSEMPEL
⚡ Smart opsummering
N-lagsarkitektur, også kaldet flerlagsarkitektur, distribuerer en applikation på tværs af tre eller flere separate lag, såsom præsentation, forretningslogik og data. Denne model forbedrer skalerbarhed, sikkerhed og genbrugelighed for klient-server-applikationer på virksomhedsniveau.

Hvad er N-Tier?
An N-tier applikation program er et, der er fordelt mellem tre eller flere separate computere i et distribueret netværk.
Den mest almindelige form for n-tier er 3-tier applikationen, og den er klassificeret i tre kategorier.
- Brugergrænsefladeprogrammering i brugerens computer
- Forretningslogik i en mere centraliseret computer, og
- Nødvendige data i en computer, der administrerer en database.
Denne arkitekturmodel giver softwareudviklere en måde at skabe genanvendelige applikationer/systemer med maksimal fleksibilitet.
In N-lag, "N" refererer til et antal niveauer eller lag, der bruges, såsom – 2-tier, 3-tier eller 4-tier osv. Det kaldes også "Multi-tier Architecture".
N-tier arkitekturen er en brancheafprøvet softwarearkitekturmodel. Den er egnet til at understøtte klient-server-applikationer på virksomhedsniveau ved at tilbyde løsninger til skalerbarhed, sikkerhed, fejltolerance, genbrugelighed og vedligeholdelse. Den hjælper udviklere med at skabe fleksible og genanvendelige applikationer.
N-niveau Architecture
En diagrammatisk repræsentation af et n-tier-system viser her - præsentation, applikation og databaselag.

Disse tre lag kan yderligere opdeles i forskellige underlag afhængigt af kravene.
Nogle af de populære steder, der har anvendt denne arkitektur, er:
- MakeMyTrip.com
- Sales Force virksomhedsapplikation
- Indian Railways – IRCTC
- Amazon.com osv.
Nogle almindelige begreber at huske for at forstå konceptet bedre:
- Distribueret netværk: Det er en netværksarkitektur, hvor komponenterne på netværkscomputere koordinerer og kommunikerer deres handlinger udelukkende ved at sende beskeder. Det er en samling af flere systemer placeret på forskellige noder, men som for brugeren fremstår som et enkelt system.
- Det giver et enkelt datakommunikationsnetværk, som kan administreres separat af forskellige netværk.
- Et eksempel på et distribueret netværk – hvor forskellige klienter er forbundet inden for LAN-arkitekturen på den ene side, og på den anden side er de forbundet til højhastigheds-switche sammen med et rack af servere, der indeholder servicenoder.
- Klient-server Archilære: Det er en arkitekturmodel, hvor klienten (et program) anmoder om en tjeneste fra en server (et andet program), dvs Det er en anmodningssvarstjeneste, der leveres via internettet eller via et intranet. I denne model, Klient vil fungere som ét sæt program/kode, der udfører et sæt handlinger over netværket. Mens Server, på den anden side, er et sæt af et andet program, som sender resultatsættene til klientsystemet som anmodet.
- I dette giver klientcomputeren en grænseflade til en slutbruger for at anmode om en tjeneste eller en ressource fra en server, og på den anden side behandler serveren derefter anmodningen og viser resultatet til slutbrugeren.
- Et eksempel på en klient-server-model – en hæveautomat. En bank er serveren til behandling af applikationen i de store kundedatabaser, og hæveautomaten er klienten med en brugergrænseflade med en vis simpel applikationsbehandling.
- Platform: Inden for datalogi eller softwareindustrien er en platform et system, hvorpå et applikationsprogram kan køre. Det består af en kombination af hardware og software, der har en indbygget instruktion til en processor/mikroprocessor om at udføre specifikke operationer.
- Enkelt sagt er platformen et system eller en base, hvor enhver applikation kan køre og udføres for at opnå en specifik opgave.
- Et eksempel på Platform – En personlig maskine fyldt med Windows 2000 eller Mac OS X som eksempler på 2 forskellige platforme.
- Database: Det er en samling af oplysninger på en organiseret måde, så den let kan tilgås, administreres og opdateres.
- Eksempler på database – MySQL, SQL Server, og Oracle Database er nogle almindelige databaser.
Typer af N-tier Architectures
Der er forskellige typer af N-Tier Architectures, som 3-lags Architecture, 2-tier ArchiTekstur og 1-lags Architecture.
Først vil vi se 3-tier Architecture, hvilket er meget vigtigt.
3-Tier Architecture
Ved at se på nedenstående diagram kan du nemt identificere det 3-lags arkitektur har tre forskellige lag.
- Præsentationslag
- Business Logic lag
- Database lag

Her har vi taget et simpelt eksempel på en elevformular for at forstå alle disse tre lag. Den indeholder oplysninger om en elev, såsom navn, adresse, e-mail og billede.
Brugergrænsefladelag eller Præsentationslag
Præsentationslag
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 Forklaring
- Ovenstående kode definerer det grundlæggende design af en frontend-visning af applikationer samt kald af funktionerne i andre lag, så de kan integreres med hinanden.
Business Access Layer –
Dette er funktionen af forretningslaget, som accepterer data fra applikationslaget og videregiver dem til datalaget.
- Forretningslogik fungerer som en grænseflade mellem klientlaget og dataadgangslaget.
- Al forretningslogik – såsom validering af data, beregninger, dataindsættelse/ændring – er skrevet under forretningslogiklaget.
- Det gør kommunikationen hurtigere og nemmere mellem klienten og datalaget.
- Definerer en ordentlig workflow-aktivitet, der er nødvendig for at fuldføre en opgave.
// 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; } }
Forklaring af kode
Koden bruger funktionen fra forretningslaget, som accepterer dataene for applikationslaget og sender dem til datalaget. Forretningslagets koder fungerer som en formidler mellem de funktioner, der er defineret i præsentationslaget og datalaget, og kalder funktionerne omvendt.
Dataadgangslag
Dette er datalagsfunktionen, som modtager data fra forretningslaget og udfører den nødvendige operation ind 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; } }
Forklaring af kode
Koden, der er defineret i datasætlaget ovenfor, accepterer hele anmodningen, som systemet anmoder om, og udfører de nødvendige operationer i databasen.
2-Tier Architecture
Det er ligesom Client-Server arkitektur, hvor kommunikationen foregår mellem klient og server.
I denne type softwarearkitektur kører præsentationslaget eller brugergrænsefladelaget på klientsiden, mens datasætlaget udføres og gemmes på serversiden.
Der er intet forretningslogiklag eller mellemlag mellem klient og server.
Single Tier eller 1-tier Architecture
Det er den enkleste, da den svarer til at køre applikationen på en personlig computer. Alle de nødvendige komponenter for at en applikation kan køre, findes på en enkelt applikation eller server.
Præsentationslag, forretningslogiklag og datalag er alle placeret på en enkelt maskine.
Fordele og ulemper ved Multi-Tier Architectures
Som ethvert designvalg medfører flerlagstilgangen klare fordele sammen med et par kompromiser, som er opsummeret nedenfor.
| Fordele | Ulemper |
|---|---|
| Skalerbarhed | Øget indsats |
| Data Integrity | Stigning i kompleksitet |
| Reus Evne | |
| Reduceret distribution | |
| Forbedret sikkerhed | |
| Forbedret tilgængelighed |
Derfor er det en del af et program, som krypterer forretningsproblemer i den virkelige verden og bestemmer, hvordan data kan opdateres, oprettes, lagres eller ændres for at få hele opgaven løst.
N-niveau Architecture Tips og udvikling
I betragtning af at softwareprofessionelle skal have fuld kontrol over alle lag i arkitekturen, gives der nedenfor tips til n-lags arkitektur:
- Forsøg at adskille lag fra hinanden så meget som muligt ved at bruge en teknik som SOAP XML.
- Brug nogle automatiserede værktøjer til at generere et kortping mellem et forretningslogiklag og et relationsdatabaselag (datalag). Værktøjer, der kan hjælpe med at modellere disse kortping Teknikker er Entity Framework og Hibernate til .Net osv.
- I klientpræsenterlaget skal du så vidt muligt placere fælles kode for alle klienter i et separat bibliotek. Dette vil maksimere kodens genbrugelighed for alle typer klienter.
- Et cachelag kan tilføjes til et eksisterende lag for at fremskynde ydeevnen.

