N razina (više razina), 3 razine, 2 razine Architektura s PRIMJEROM
⚡ Pametni sažetak
N-slojna arhitektura, također nazvana višeslojna arhitektura, distribuira aplikaciju na tri ili više odvojenih slojeva kao što su prezentacija, poslovna logika i podaci. Ovaj model poboljšava skalabilnost, sigurnost i ponovnu upotrebu za klijent-poslužitelj aplikacije na razini poduzeća.

Što je N-Tier?
An N-Tier aplikacija program je onaj koji je distribuiran između tri ili više odvojenih računala u distribuiranoj mreži.
Najčešći oblik n-sloja je 3-slojna aplikacija, a klasificira se u tri kategorije.
- Programiranje korisničkog sučelja u korisničkom računalu
- Poslovna logika u više centraliziranom računalu, i
- Potrebni podaci u računalu koje upravlja bazom podataka.
Ovaj arhitekturni model pruža programerima softvera način stvaranja višekratno upotrebljivih aplikacija/sustava s maksimalnom fleksibilnošću.
In N-sloj, "N" odnosi se na niz slojeva ili razina koji se koriste, kao što su – 2-slojna, 3-slojna ili 4-slojna, itd. Također se naziva "Višeslojni Architektura".
N-slojna arhitektura je industrijski provjereni model softverske arhitekture. Prikladan je za podršku klijent-poslužitelj aplikacija na razini poduzeća pružajući rješenja za skalabilnost, sigurnost, toleranciju grešaka, ponovnu upotrebu i održavanje. Pomaže programerima u stvaranju fleksibilnih i višekratno upotrebljivih aplikacija.
N-razina Architektura
Dijagramski prikaz n-slojnog sustava prikazuje ovdje – slojeve prezentacije, aplikacije i baze podataka.

Ova tri sloja mogu se dalje podijeliti u različite podslojeve ovisno o zahtjevima.
Neke od popularnih stranica koje su primijenile ovu arhitekturu su:
- MakeMyTrip.com
- Aplikacija Sales Force za poduzeća
- Indijske željeznice – IRCTC
- Amazon.com itd.
Neki uobičajeni pojmovi koje treba zapamtiti kako bi se koncept jasnije razumio:
- Distribuirana mreža: To je mrežna arhitektura u kojoj komponente smještene na mrežnim računalima koordiniraju i komuniciraju svoje radnje samo slanjem poruka. To je skup više sustava smještenih na različitim čvorovima, ali korisniku se čini kao jedan sustav.
- Omogućuje jedinstvenu podatkovnu komunikacijsku mrežu kojom se može upravljati odvojeno od strane različitih mreža.
- Primjer distribuirane mreže – gdje su različiti klijenti s jedne strane povezani unutar LAN arhitekture, a s druge strane su povezani na brze preklopnike zajedno s nizom poslužitelja koji sadrže servisne čvorove.
- Klijent-poslužitelj Architekstura: To je arhitekturni model u kojem klijent (jedan program) zahtijeva uslugu od poslužitelja (drugi program), tj. To je usluga zahtjeva i odgovora koja se pruža putem interneta ili intraneta. U ovom modelu, Klijent služit će kao jedan skup programa/koda koji izvršava skup akcija preko mreže. Dok Server, s druge strane, je skup drugog programa, koji šalje skupove rezultata klijentskom sustavu prema zahtjevu.
- U ovom slučaju, klijentsko računalo pruža sučelje krajnjem korisniku za zahtjev usluge ili resursa od poslužitelja, a s druge strane, poslužitelj zatim obrađuje zahtjev i prikazuje rezultat krajnjem korisniku.
- Primjer klijent-poslužiteljskog modela – bankomat. Banka je poslužitelj za obradu aplikacija unutar velikih baza podataka klijenata, a bankomat je klijent s korisničkim sučeljem za obradu nekih jednostavnih aplikacija.
- Platforma: U računalnoj znanosti ili softverskoj industriji, platforma je sustav na kojem se može izvršavati aplikacijski program. Sastoji se od kombinacije hardvera i softvera koji imaju ugrađenu instrukciju za procesor/mikroprocesor za izvođenje određenih operacija.
- Jednostavnije rečeno, platforma je sustav ili baza na kojoj se bilo koja aplikacija može pokrenuti i izvršiti kako bi dobila određeni zadatak.
- Primjer platforme – osobni stroj napunjen sa Windows 2000 ili Mac OS X kao primjeri 2 različite platforme.
- Baza podataka: To je zbirka informacija na organiziran način tako da im se može lako pristupiti, upravljati i ažurirati.
- Primjeri baze podataka – MySQL, SQL Poslužitelj i Oracle Database su neke uobičajene baze podataka.
Vrste N-slojeva Architekture
Postoje različite vrste N-Tier Architeksture, poput 3-slojna Architekstura, 2 razine Architekstura i 1-sloj Architektura.
Prvo ćemo vidjeti 3 razine Architekstura, što je vrlo važno.
3-razina Architektura
Gledajući donji dijagram, to možete lako prepoznati 3-slojna arhitektura ima tri različita sloja.
- Prezentacijski sloj
- Sloj poslovne logike
- Sloj baze podataka

Ovdje smo uzeli jednostavan primjer studentskog obrasca kako bismo razumjeli sva tri sloja. Sadrži podatke o studentu kao što su – ime, adresa, e-pošta i slika.
Sloj korisničkog sučelja ili sloj prezentacije
Sloj prezentacije
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 Objašnjenje
- Gornji kod definira osnovno dizajniranje prednjeg dijela aplikacija kao i pozivanje funkcija drugih slojeva kako bi se mogli međusobno integrirati.
Sloj poslovnog pristupa –
Ovo 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 za pristup podacima.
- Sva poslovna logika - poput validacije podataka, izračuna, umetanja/modifikacije podataka - napisana je u sloju poslovne logike.
- Omogućuje bržu i lakšu komunikaciju između klijenta i podatkovnog sloja.
- Definira odgovarajuću aktivnost tijeka rada koja je neophodna za dovršenje 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 function return ds; } }
Objašnjenje koda
Kod koristi funkciju poslovnog sloja koja ć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 te pozivaju funkcije obrnuto.
Sloj pristupa podacima
Ovo je funkcija podatkovnog sloja, koja prima podatke iz 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 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; } }
Objašnjenje koda
Kod definiran u gornjem sloju skupa podataka prihvaća cijeli zahtjev, koji je zatražio sustav, i izvršava potrebne operacije u bazi podataka.
2-razina Architektura
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 izvršava se na strani klijenta, dok se sloj skupa podataka izvršava i pohranjuje na strani poslužitelja.
Ne postoji sloj poslovne logike ili međusloj između klijenta i poslužitelja.
Jedna razina ili 1 razina Architektura
To je najjednostavniji način 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 podatkovni sloj nalaze se na jednom stroju.
Prednosti i nedostaci višeslojnog sustava Architekture
Kao i svaki drugi dizajnerski izbor, višeslojni pristup donosi jasne prednosti uz nekoliko nedostataka, sažetih u nastavku.
| Prednosti | Nedostaci |
|---|---|
| skalabilnost | Povećanje napora |
| Datum Integrity | Povećanje složenosti |
| Reus Sposobnost | |
| Smanjena distribucija | |
| Poboljšana sigurnost | |
| Poboljšana dostupnost |
Stoga je to dio programa koji šifrira poslovne probleme u stvarnom svijetu i određuje kako se podaci mogu ažurirati, kreirati, pohraniti ili promijeniti da bi se obavio kompletan zadatak.
N-razina Architecture Savjeti i razvoj
S obzirom na to da softverski stručnjaci moraju imati potpunu kontrolu nad svim slojevima arhitekture, u nastavku su navedeni savjeti o n-slojnoj arhitekturi:
- Pokušajte što više odvojiti slojeve jedne od drugih koristeći tehniku poput SOAP XML-a.
- Koristite neke automatizirane alate za generiranje karteping između sloja poslovne logike i sloja relacijske baze podataka (sloja podataka). Alati koji mogu pomoći u modeliranju ovih mapiranjaping tehnike su Entity Framework i Hibernate za .Net, itd.
- U sloju klijentskog prezentera, zajednički kod za sve klijente stavite u zasebnu biblioteku koliko god je to moguće. To će maksimizirati mogućnost ponovne upotrebe koda za sve vrste klijenata.
- Sloj predmemorije može se dodati u postojeći sloj kako bi se ubrzala izvedba.

