N Tier (Multi-Tier), 3-Tier, 2-Tier Arkitektur med EKSEMPEL

Indholdsfortegnelse:

Anonim

Hvad er N-Tier?

Et N-Tier Application- program er et, der distribueres mellem tre eller flere separate computere i et distribueret netværk.

Den mest almindelige form for n-niveau er 3-lags applikationen, og den er klassificeret i tre kategorier.

  • Programmering af brugergrænseflade i brugerens computer
  • Forretningslogik i en mere central computer, og
  • Nødvendige data på en computer, der administrerer en database.

Denne arkitektur model giver softwareudviklere mulighed for at oprette genanvendelige applikationer / systemer med maksimal fleksibilitet.

I N-niveau refererer "N" til et antal lag eller lag, der bruges som - 2-lags, 3-lags eller 4-lags osv . Det kaldes også " Multi-Tier Architecture" .

N-tier-arkitekturen er en brancheprøvet softwarearkitekturmodel. Det er velegnet til at understøtte klient-serverapplikationer på virksomhedsniveau ved at levere løsninger til skalerbarhed, sikkerhed, fejltolerance, genanvendelighed og vedligeholdelsesevne. Det hjælper udviklere med at oprette fleksible og genanvendelige applikationer.

I denne vejledning lærer du-

  • Hvad er N-Tier?
  • N-Tier Arkitektur
  • Typer af N-Tier-arkitekturer
    • 3-trins arkitektur
    • 2-trins arkitektur
    • Enkelt eller 1-lags arkitektur
  • Fordele og ulemper ved Multi-Tier-arkitekturer
  • N-Tier Arkitektur Tips og Udvikling

N-Tier Arkitektur

En diagrammatisk gengivelse af et n-tiersystem viser her - præsentations-, applikations- og databaselag.

N Tier arkitekturdiagram

Disse tre lag kan yderligere opdeles i forskellige underlag afhængigt af kravene.

Nogle af de populære websteder, der har anvendt denne arkitektur er

  • MakeMyTrip.com
  • Sales Force-virksomhedsapplikation
  • Indiske jernbaner - IRCTC
  • Amazon.com osv.

Nogle almindelige vilkår at huske for at forstå konceptet mere tydeligt.

  • Distribueret netværk: Det er en netværksarkitektur, hvor komponenterne placeret på netværkscomputere kun koordinerer og kommunikerer deres handlinger ved at sende meddelelser. Det er en samling af flere systemer placeret på forskellige noder, men ser ud til brugeren som et enkelt system.
    • Det giver et enkelt datakommunikationsnetværk, som kan styres separat af forskellige netværk.
    • Et eksempel på distribueret netværk - hvor forskellige klienter er forbundet inden for LAN-arkitektur på den ene side og på den anden side er de forbundet med højhastigheds-switche sammen med et rack med servere, der indeholder servicenoder.
  • Client-Server Architecture: Det er en arkitekturmodel, hvor klienten (et program) anmoder om en tjeneste fra en server (et andet program), dvs. det er en anmodning-svar-tjeneste, der leveres over internettet eller via et intranet.

    I denne model fungerer klienten som et sæt program / kode, der udfører et sæt handlinger over netværket. Mens Server derimod er et sæt af et andet program, der sender resultatsættene til klientsystemet efter anmodning.

    • I dette giver klientcomputeren en grænseflade til en slutbruger til 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å Client-Server Model - en pengeautomat. En bank er serveren til behandling af applikationen inden for de store kundedatabaser, og pengeautomat er klienten, der har en brugergrænseflade med en smule enkel applikationsbehandling.
  • Platform: Inden for datalogi eller software er en platform et system, hvor applikationsprogrammet kan køre. Den består af en kombination af hardware og software, der har en indbygget instruktion til, at processorer / mikroprocessorer kan udføre specifikke operationer.
    • Med mere enkle ord er platformen et system eller en base, hvor applikationer kan køre og udføre for at opnå en bestemt 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 information 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 DB'er.

Typer af N-Tier-arkitekturer

Der er forskellige typer N-Tier-arkitekturer, som 3-lags arkitektur, 2-lags arkitektur og 1-lags arkitektur.

Først vil vi se 3-lags arkitektur, hvilket er meget vigtigt.

3-trins arkitektur

Ved at se på nedenstående diagram kan du nemt identificere, at 3-lags arkitektur har tre forskellige lag.

  • Præsentationslag
  • Business Logic lag
  • Databaselag

3-lags arkitekturdiagram

Her har vi taget et simpelt eksempel på studerendes form for at forstå alle disse tre lag. Det har oplysninger om en studerende som - Navn, adresse, e-mail og billede.

User Interface Layer eller Presentation Layer

Præsentationslag

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

Kode Forklaring

  • Ovenstående kode definerer den grundlæggende design af en frontendevisning af applikationer samt opkald af funktionerne i andre lag, så de kan integreres med hinanden.

Lag for forretningsadgang -

Dette er funktionen af ​​forretningslaget, der accepterer dataene fra applikationslaget og sender det til datalaget.

  • Forretningslogik fungerer som en grænseflade mellem klientlag og dataadgangslag
  • Al forretningslogik - som validering af data, beregninger, dataindsættelse / ændring er skrevet under forretningslogiklag.
  • Det gør kommunikationen hurtigere og lettere mellem klienten og datalaget
  • Definerer en korrekt 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 functionreturn ds;}}

Forklaring af kode

Koden bruger funktionen af ​​virksomhedslag, som accepterer dataene til applikationslaget og overføres til datalaget. Business-lagkoderne fungerer som en formidler mellem de funktioner, der er defineret i præsentationslaget og datalaget og kalder funktionerne vice-versa.

Dataadgangslag

Dette er datalagfunktionen, som modtager dataene fra forretningslaget og udfører den nødvendige 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;}}

Forklaring af kode

Koden defineret i datasættelaget ovenfor accepterer hele anmodningen: anmodet af systemet og udførelse af de krævede operationer i databasen.

2-trins arkitektur:

Det er som klient-server-arkitektur, hvor kommunikation finder sted mellem klient og server.

I denne type softwarearkitektur kører præsentationslaget eller brugergrænsefladeslaget på klientsiden, mens datasætlaget udføres og lagres på serversiden.

Der er ikke noget forretningslogiklag eller umiddelbar lag imellem klient og server.

Enkelt eller 1-lags arkitektur:

Det er den enkleste, da det svarer til at køre applikationen på pc'en. Alle de nødvendige komponenter, som et program 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-arkitekturer

Fordele

Ulemper

  • Skalerbarhed
  • Forøgelse af indsatsen
  • Dataintegritet
  • Forøgelse af kompleksitet
  • Genanvendelighed
  • Reduceret distribution
  • Forbedret sikkerhed
  • Forbedret tilgængelighed

Derfor er det en del af et program, der krypterer virkelige forretningsproblemer og bestemmer, hvordan data kan opdateres, oprettes, lagres eller ændres for at få den komplette opgave udført.

N-Tier Arkitektur Tips og Udvikling

I betragtning af, at softwareprofessionelle skal have fuld kontrol over alle arkitekturens lag, gives tip om n-lags arkitektur som nedenfor

  1. Prøv at afkoble lag fra et andet lag så meget som muligt ved hjælp af en teknik som sæbe XML.
  2. Brug nogle automatiserede værktøjer til at generere en kortlægning mellem et forretningslogiklag og et relationsdatabaselag (datalag). Værktøjer, der kan hjælpe med modellering af disse kortlægningsteknikker er - Entity Framework og Hibernate for .Net osv.
  3. I klientpræsentationslag skal du placere en fælles kode for alle klienterne i et separat bibliotek så meget som muligt. Dette maksimerer kodenes genanvendelighed for alle typer klienter.
  4. Et cachelag kan tilføjes til et eksisterende lag for at fremskynde ydeevnen.

Resumé:

N-tierarkitekturen hjælper med at administrere alle komponenter (forretningslag, præsentationslag og databaselag) i et program under ét tag.

Applikationer, der bruger et lille antal brugere på et lokalt netværk, kan drage fordel af n-lags arkitektur.

Sådan arkitektonisk design fastslår vedligeholdelse, opskalering og implementering af en applikation på Internettet effektivt.