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.

  • 🏗️ Definicija: N-Tier aplikacija distribuira se na tri ili više odvojenih računala u distribuiranoj mreži.
  • 🧱 Tri osnovna sloja: Prezentacija (korisničko sučelje), poslovna logika i slojevi baze podataka jasno odvajaju brige.
  • 🔢 Varijacije razina: Uobičajeni modeli su jednoslojni, dvoslojni i troslojni, pri čemu je troslojni najčešće korišten.
  • 🌐 Upotreba u stvarnom svijetu: Stranice poput IRCTC-a, MakeMyTrip-a i Amazon oslanjaju se na ovu arhitekturu.
  • Ključne prednosti: Skalabilnost, integritet podataka, ponovna upotreba, poboljšana sigurnost i dostupnost.
  • ⚠️ Kompromis: Više slojeva povećava napor razvoja i ukupnu složenost sustava.

N-razina Architektura

Š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.

N-razina Architektura
N razina Archidijagram strukture

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
3 nivo Archidijagram strukture
3 nivo Archidijagram strukture

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

3-razina Architektura

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:

  1. Pokušajte što više odvojiti slojeve jedne od drugih koristeći tehniku ​​poput SOAP XML-a.
  2. 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.
  3. 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.
  4. Sloj predmemorije može se dodati u postojeći sloj kako bi se ubrzala izvedba.

Pitanja i odgovori

Sloj je logička podjela koda, kao što je prezentacijska ili poslovna logika. Sloj je fizička podjela tih slojeva na različitim računalima. Više slojeva može se izvoditi na jednom sloju ili svaki sloj može imati svoj vlastiti sloj.

Ne. MVC je dizajnerski obrazac za organiziranje koda unutar jedne aplikacije, dok troslojna arhitektura fizički odvaja prezentaciju, logiku i podatke između slojeva. MVC komponente slobodno međusobno djeluju, dok troslojni slojevi komuniciraju strogo od vrha prema dolje.

Uobičajeni izbori uključuju .NET, Java (Spring) i Node.js za poslovnu logiku, HTML/JavaOkviri skripti za prezentacije i baze podataka kao što su MySQL, SQL Server ili Oracle za podatkovni sloj. ORM-ovi poput Entity Frameworka i Hibernatea povezuju slojeve.

Umjetna inteligencija se obično dodaje u sloju poslovne logike ili kao zasebna razina usluge. Pokreće značajke poput preporuka, otkrivanja prijevara i pretraživanja, dok slojevi prezentacije i podataka ostaju nepromijenjeni.ping arhitektura modularna i održiva.

Da. Nadzor vođen umjetnom inteligencijom može predvidjeti skokove prometa i automatski skalirati svaku razinu neovisno. Također može uravnotežiti opterećenja, otkriti uska grla i optimizirati upite baze podataka, pomoćiping Velike klijent-poslužiteljske aplikacije ostaju responzivne i pod promjenjivom potražnjom.

Sažmite ovu objavu uz: