N Tier (Multi-Tier), 3-level, 2-Tier Architecture s PRIMJEROM

Sadržaj:

Anonim

Što je N-Tier?

N-tier aplikacija program je onaj koji raspodjeljuje na tri ili više odvojena računala u distribuiranoj mreži.

Najčešći oblik n-sloja je troslojna aplikacija i klasificiran je u tri kategorije.

  • Programiranje korisničkog sučelja u korisničkom računalu
  • Poslovna logika u centraliziranijem računalu i
  • Potrebni podaci u računalu koje upravlja bazom podataka.

Ovaj model arhitekture pruža programerima softvera mogućnost stvaranja višekratnih aplikacija / sustava s maksimalnom fleksibilnošću.

U N-sloju, "N" se odnosi na niz slojeva ili slojeva koji se koriste poput - 2-slojni, 3-slojni ili 4-slojni, itd . Također se naziva i " Višeslojna arhitektura" .

N-tier arhitektura je industrijski dokazani model softverske arhitekture. Prikladno je podržati klijent-poslužiteljske programe na razini poduzeća pružajući rješenja za skalabilnost, sigurnost, toleranciju kvarova, ponovnu upotrebu i održivost. Pomaže programerima u stvaranju fleksibilnih aplikacija za višekratnu upotrebu.

U ovom vodiču naučit ćete-

  • Što je N-Tier?
  • N-Tier arhitektura
  • Vrste N-tier arhitektura
    • Troslojna arhitektura
    • 2-slojna arhitektura
    • Jednorazredna ili jednoslojna arhitektura
  • Prednosti i nedostaci višeslojne arhitekture
  • N-Tier arhitektonski savjeti i razvoj

N-Tier arhitektura

Dijagramski prikaz n-tier sustava prikazuje ovdje - slojeve prezentacije, primjene i baze podataka.

Dijagram arhitekture N sloja

Ova se tri sloja mogu dalje podijeliti u različite podslojeve, ovisno o zahtjevima.

Neke od popularnih web lokacija koje su primijenile ovu arhitekturu su

  • MakeMyTrip.com
  • Poduzetnička aplikacija Sales Force
  • Indijske željeznice - IRCTC
  • Amazon.com itd.

Neke uobičajene izraze koje treba zapamtiti kako bi se koncept jasnije razumio.

  • Distribuirana mreža: To je mrežna arhitektura, gdje se komponente smještene na mrežnim računalima koordiniraju i komuniciraju svoje akcije samo prosljeđivanjem poruka. To je zbirka više sustava smještenih na različitim čvorovima, ali korisniku se čini kao jedinstveni sustav.
    • Pruža jedinstvenu podatkovnu komunikacijsku mrežu kojom različite mreže mogu upravljati odvojeno.
    • Primjer distribuirane mreže - gdje su različiti klijenti povezani s LAN arhitekturom s jedne, a s druge strane povezani su na brze prekidače zajedno s rešetkom poslužitelja koji sadrže uslužne čvorove.
  • Klijent-poslužiteljska arhitektura: To je model arhitekture u kojem klijent (jedan program) zahtijeva uslugu od poslužitelja (drugi program), tj. To je usluga odgovora na zahtjev koja se pruža putem Interneta ili putem intraneta.

    U ovom modelu, klijent će služiti kao jedan skup programa / koda koji izvršava skup akcija preko mreže. Dok je Server , s druge strane, skup drugog programa koji skupove rezultata šalje klijentskom sustavu prema zahtjevu.

    • U tome klijentsko računalo pruža sučelje krajnjem korisniku da zatraži uslugu ili resurs od poslužitelja, a s druge strane poslužitelj zatim obrađuje zahtjev i prikazuje rezultat krajnjem korisniku.
    • Primjer klijent-poslužiteljskog modela - bankomata. Banka je poslužitelj za obradu zahtjeva u velikim bazama podataka o kupcima, a bankomat je klijent koji ima korisničko sučelje s nekom jednostavnom obradom aplikacija.
  • Platforma: U računalnoj znanosti ili softverskoj industriji platforma je sustav na kojem se mogu pokretati aplikacijski programi. Sastoji se od kombinacije hardvera i softvera koji imaju ugrađene upute za procesore / mikroprocesore za obavljanje određenih operacija.
    • Jednostavnijim riječima, platforma je sustav ili baza na kojoj se bilo koja aplikacija može pokretati i izvršavati da bi se dobio određeni zadatak.
    • Primjer platforme - osobni stroj napunjen Windows 2000 ili Mac OS X kao primjeri 2 različite platforme.
  • Baza podataka: To je skup podataka na organiziran način, tako da im se može lako pristupiti, njima upravljati i ažurirati ih.
    • Primjeri baze podataka - MySQL, SQL Server i Oracle baza podataka su neki uobičajeni DB-ovi.

Vrste N-tier arhitektura

Postoje različite vrste N-tier arhitektura, poput arhitekture s tri sloja, arhitekture s dva sloja i arhitekture s jednim slojem.

Prvo ćemo vidjeti troslojnu arhitekturu, što je vrlo važno.

Troslojna arhitektura

Gledajući donji dijagram, lako možete prepoznati da troslojna arhitektura ima tri različita sloja.

  • Prezentacijski sloj
  • Sloj poslovne logike
  • Sloj baze podataka

Dijagram arhitekture u 3 razine

Ovdje smo uzeli jednostavan primjer studentskog oblika da bismo razumjeli sva ova tri sloja. Sadrži informacije o studentu poput - Ime, Adresa, E-pošta i Slika.

Sloj korisničkog sučelja ili sloj prezentacije

Prezentacijski sloj

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

Objašnjenje koda

  • Gornji kôd definira osnovno oblikovanje pogleda s prednje strane aplikacija, kao i pozivanje funkcija ostalih slojeva, tako da se mogu međusobno integrirati.

Sloj poslovnog pristupa -

To je funkcija poslovnog sloja koji prihvaća podatke iz aplikacijskog sloja i prosljeđuje ih podatkovnom sloju.

  • Poslovna logika djeluje kao sučelje između klijentskog sloja i sloja pristupa podacima
  • Sva poslovna logika - poput provjere valjanosti podataka, izračuna, umetanja / modificiranja podataka napisana je pod slojem poslovne logike.
  • Omogućuje bržu i lakšu komunikaciju između klijenta i podatkovnog sloja
  • Definira ispravnu aktivnost tijeka rada koja je potrebna za izvršavanje zadatka.
// 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;}}

Objašnjenje koda

Kôd koristi funkciju poslovnog sloja, koji će prihvatiti podatke za aplikacijski sloj i proslijediti ih podatkovnom sloju. Kodovi poslovnog sloja djeluju kao posrednik između funkcija definiranih u prezentacijskom sloju i podatkovnom sloju i pozivaju funkcije viceversa.

Sloj pristupa podacima

Ovo je funkcija podatkovnog sloja koja prima podatke s poslovnog sloja i izvodi potrebne operacije u bazi podataka.

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

Objašnjenje koda

Kôd definiran u gornjem sloju skupa podataka prihvaća cijeli zahtjev: koji je zatražio sustav i izvođenje potrebnih operacija u bazi podataka.

Dvoslojna arhitektura:

To je poput arhitekture klijent-poslužitelj, gdje se komunikacija odvija između klijenta i poslužitelja.

U ovoj vrsti softverske arhitekture, prezentacijski sloj ili sloj korisničkog sučelja radi na klijentskoj strani, dok se sloj skupa podataka izvršava i pohranjuje na strani poslužitelja.

Ne postoji sloj poslovne logike ni neposredni sloj između klijenta i poslužitelja.

Jednoslojna ili jednoslojna arhitektura:

Najjednostavniji je jer je ekvivalentan pokretanju aplikacije na osobnom računalu. Sve potrebne komponente za pokretanje aplikacije nalaze se na jednoj aplikaciji ili poslužitelju.

Prezentacijski sloj, sloj poslovne logike i sloj podataka nalaze se na jednom stroju.

Prednosti i nedostaci višeslojne arhitekture

Prednosti

Mane

  • Skalabilnost
  • Povećanje napora
  • Integritet podataka
  • Povećanje složenosti
  • Ponovna upotrebljivost
  • Smanjena distribucija
  • Poboljšana sigurnost
  • Poboljšana dostupnost

Stoga je to dio programa koji šifrira stvarne poslovne probleme i određuje kako se podaci mogu ažurirati, stvoriti, pohraniti ili izmijeniti kako bi se obavio kompletan zadatak.

N-Tier arhitektonski savjeti i razvoj

S obzirom da softverski profesionalci moraju imati potpunu kontrolu nad svim slojevima arhitekture, savjeti o n-tier arhitekturi dati su kao ispod

  1. Pokušajte što više odvojiti slojeve od drugog sloja tehnikom poput sapuna XML.
  2. Upotrijebite neke automatizirane alate za generiranje mapiranja između sloja poslovne logike i relacijskog sloja baze podataka (sloj podataka). Alati koji mogu pomoći u modeliranju ovih tehnika mapiranja su - Entity Framework i Hibernate za .Net itd.
  3. U sloju prezentatora klijenta stavite zajednički kod za sve klijente u zasebnu biblioteku što je više moguće. To će maksimizirati ponovnu upotrebljivost koda za sve vrste klijenata.
  4. Sloj predmemorije može se dodati u postojeći sloj kako bi se ubrzale performanse.

Sažetak:

N-tier arhitektura pomaže upravljati svim komponentama (poslovnim slojem, prezentacijskim slojem i slojem baze podataka) aplikacije pod jednim krovom.

Aplikacije koje koriste mali broj korisnika na lokalnoj mreži mogu imati koristi od n-tier arhitekture.

Takav arhitektonski dizajn utvrđuje učinkovito održavanje, skaliranje i primjenu aplikacije na Internetu.