Š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.
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
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 |
|
|
|
|
| |
| |
| |
|
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
- Pokušajte što više odvojiti slojeve od drugog sloja tehnikom poput sapuna XML.
- 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.
- 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.
- 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.