N szint (többszintű), 3-szintű, 2-szintű Architecture EXAMPLE-vel

⚡ Okos összefoglaló

Az N-szintű architektúra, más néven többszintű architektúra, egy alkalmazást három vagy több különálló réteg között oszt el, például a megjelenítés, az üzleti logika és az adatok között. Ez a modell javítja a skálázhatóságot, a biztonságot és az újrafelhasználhatóságot a vállalati szintű kliens-szerver alkalmazások esetében.

  • 🏗️ Meghatározás: Egy N-szintű alkalmazás három vagy több különálló számítógépen van elosztva egy elosztott hálózatban.
  • 🧱 Három magréteg: A megjelenítés (felhasználói felület), az üzleti logika és az adatbázis rétegei tisztán elválasztják a feladatokat.
  • 🔢 Szintváltozatok: A gyakori modellek az 1-szintes, 2-szintes és 3-szintesek, amelyek közül a 3-szintes a legelterjedtebb.
  • 🌐 Valós használat: Olyan oldalak, mint az IRCTC, a MakeMyTrip és Amazon erre az architektúrára támaszkodnak.
  • Legfontosabb előnyök: Skálázhatóság, adatintegritás, újrafelhasználhatóság, fokozott biztonság és rendelkezésre állás.
  • ⚠️ Kompromisszum: Több réteg növeli a fejlesztési erőfeszítést és a rendszer általános összetettségét.

N-szintű Architectúra

Mi az N-Tier?

An N-szintű alkalmazás A program három vagy több különálló számítógép között van elosztva egy elosztott hálózaton.

Az n-szintű alkalmazás leggyakoribb formája a 3-rétegű alkalmazás, és három kategóriába sorolható.

  • Felhasználói felület programozása a felhasználó számítógépén
  • Üzleti logika egy központosítottabb számítógépben, ill
  • Szükséges adatok egy adatbázist kezelő számítógépen.

Ez az architektúramodell lehetővé teszi a szoftverfejlesztők számára, hogy maximális rugalmassággal hozzanak létre újrafelhasználható alkalmazásokat/rendszereket.

In N-szint, „N” a használt szintek vagy rétegek számára utal, például – 2 szintes, 3 szintes vagy 4 szintes stb. Úgy is hívják, hogy "Többszintű Architectúra".

Az n-szintű architektúra egy iparágban bevált szoftverarchitektúra-modell. Alkalmas vállalati szintű kliens-szerver alkalmazások támogatására azáltal, hogy megoldásokat kínál a skálázhatóság, a biztonság, a hibatűrés, az újrafelhasználhatóság és a karbantarthatóság terén. Segít a fejlesztőknek rugalmas és újrafelhasználható alkalmazások létrehozásában.

N-szintű Architectúra

Itt egy n-szintű rendszer vázlatos ábrázolása látható – a prezentáció, az alkalmazás és az adatbázis rétegek.

N-szintű Architectúra
N szint Architecture diagram

Ez a három réteg a követelményektől függően további alrétegekre bontható.

Néhány népszerű oldal, amely ezt az architektúrát alkalmazta:

  • MakeMyTrip.com
  • Sales Force vállalati alkalmazás
  • Indiai Vasutak – IRCTC
  • Amazon.com stb.

Néhány gyakori kifejezés, amire érdemes emlékezni a koncepció jobb megértése érdekében:

  • Elosztott hálózat: Ez egy olyan hálózati architektúra, amelyben a hálózati számítógépeken található komponensek csak üzenetek továbbításával koordinálják és kommunikálják tevékenységeiket. Több, különböző csomópontokon elhelyezkedő rendszer gyűjteménye, amelyek a felhasználó számára egyetlen rendszerként jelennek meg.
    • Egyetlen adatkommunikációs hálózatot biztosít, amelyet különböző hálózatok külön-külön is kezelhetnek.
    • Az elosztott hálózat egy példája – ahol a különböző kliensek az egyik oldalon a LAN architektúrán belül, a másik oldalon pedig nagysebességű kapcsolókhoz és egy kiszolgáló csomópontokat tartalmazó szerverállványhoz csatlakoznak.
  • Ügyfél-szerver Architectúra: Ez egy olyan architektúramodell, ahol a kliens (egy program) szolgáltatást kér egy szervertől (egy másik programtól), azaz Ez egy kérés-válasz szolgáltatás, amelyet az interneten vagy intraneten keresztül nyújtanak. Ebben a modellben, Vásárló egy program/kód készletként fog szolgálni, amely egy sor műveletet hajt végre a hálózaton keresztül. Míg szerverünkhöz!, másrészt egy másik program halmaza, amely az eredményhalmazokat kérésre elküldi a kliens rendszernek.
    • Ebben az esetben a kliens számítógép egy felületet biztosít a végfelhasználó számára, hogy szolgáltatást vagy erőforrást kérjen a szervertől, másrészt a szerver feldolgozza a kérést, és megjeleníti az eredményt a végfelhasználónak.
    • A kliens-szerver modell egy példája – egy ATM. A bank a szerver, amely a nagy ügyféladatbázisokon belüli alkalmazásokat dolgozza fel, az ATM pedig a kliens, amelynek felhasználói felülete néhány egyszerű alkalmazásfeldolgozással rendelkezik.
  • Platform: A számítástechnikában vagy a szoftveriparban a platform egy olyan rendszer, amelyen egy alkalmazásprogram futtatható. Hardver és szoftver kombinációjából áll, amely beépített utasításokkal rendelkezik a processzor/mikroprocesszor számára meghatározott műveletek végrehajtásához.
    • Egyszerűbben fogalmazva, a platform egy olyan rendszer vagy bázis, ahol bármely alkalmazás futtatható és végrehajtható egy adott feladat elvégzéséhez.
    • Példa a platformra – Egy személyi gép, amely meg van töltve Windows 2000 vagy Mac OS X példaként 2 különböző platformra.
  • adatbázis: Ez egy olyan szervezett információgyűjtemény, amely könnyen elérhető, kezelhető és frissíthető.
    • Példák az adatbázisra – MySQL, SQL Szerver, és Oracle Database néhány gyakori adatbázis.

Az N-szintű típusok Architectúrák

Különféle típusú N-Tier létezik Architectúrák, pl 3-rétegű Architecture, 2-Tier Archiszerkezet és 1-szintű Architectúra.

Először a 3 szintet fogjuk látni Architectúra, ami nagyon fontos.

3-rétegű Architectúra

Az alábbi ábra alapján könnyen beazonosíthatja 3 rétegű architektúra három különböző rétege van.

  • Bemutató réteg
  • Üzleti logikai réteg
  • Adatbázis réteg
3 Tier Architecture diagram
3 Tier Architecture diagram

Itt egy egyszerű példát vettünk egy diákűrlapra, hogy megértsük mindhárom réteget. Az űrlap információkat tartalmaz a diákról, például nevet, címet, e-mail címet és képet.

Felhasználói felület réteg vagy megjelenítési réteg

3-rétegű Architectúra

Bemutató réteg

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 Magyarázat

  • A fenti kód az alkalmazások front-end nézetének alapvető tervezését, valamint a többi réteg függvényeinek meghívását határozza meg, hogy azok integrálhatók legyenek egymással.

Üzleti hozzáférési réteg –

Ez az üzleti réteg feladata, amely elfogadja az adatokat az alkalmazási rétegből, és továbbítja az adatrétegnek.

  • Az üzleti logika interfészként működik a kliens réteg és az adathozzáférési réteg között.
  • Minden üzleti logika – mint például az adatok validálása, a számítások, az adatok beszúrása/módosítása – az üzleti logikai réteg alatt íródik.
  • Gyorsabbá és egyszerűbbé teszi a kommunikációt az ügyfél és az adatréteg között.
  • Meghatározza a megfelelő munkafolyamat-tevékenységet, amely egy feladat elvégzéséhez szükséges.
// 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;
	}
}

A kód magyarázata

A kód az üzleti réteg függvényeit használja, amelyek fogadják az alkalmazásréteg adatait, és továbbítják azokat az adatrétegnek. Az üzleti réteg kódjai közvetítőként működnek a megjelenítési rétegben és az adatrétegben definiált függvények között, és fordítva hívják meg a függvényeket.

Adatelérési réteg

Ez az adatréteg funkció, amely fogadja az adatokat az üzleti rétegtől és elvégzi a szükséges műveleteket az adatbázisba.

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

A kód magyarázata

A fenti adathalmaz rétegben definiált kód elfogadja a rendszer által kért teljes kérést, és végrehajtja a szükséges műveleteket az adatbázisban.

2-rétegű Architectúra

Olyan ez, mint a Client-Server architektúra, ahol a kommunikáció az ügyfél és a szerver között zajlik.

Az ilyen típusú szoftverarchitektúrában a megjelenítési réteg vagy a felhasználói felület rétege a kliens oldalon fut, míg az adatkészlet réteg a szerver oldalon fut és tárolódik.

Nincs üzleti logikai réteg vagy köztes réteg a kliens és a szerver között.

Egyszintű vagy 1-szintű Architectúra

Ez a legegyszerűbb, mivel egyenértékű az alkalmazás személyi számítógépen történő futtatásával. Az alkalmazás futtatásához szükséges összes komponens egyetlen alkalmazáson vagy szerveren található.

A prezentációs réteg, az üzleti logikai réteg és az adatréteg egy gépen található.

A multi-Tier előnyei és hátrányai Architectúrák

Mint minden tervezési döntés, a többszintű megközelítés is egyértelmű előnyökkel jár, néhány kompromisszum mellett, amelyeket az alábbiakban foglalunk össze.

Előnyök Hátrányok
Bővíthetőség Az erőfeszítés növelése
dátum Integrity A komplexitás növekedése
Reus képesség
Csökkentett elosztás
Javított biztonság
Továbbfejlesztett elérhetőség

Ezért egy olyan program része, amely titkosítja a valós üzleti problémákat, és meghatározza, hogyan lehet az adatokat frissíteni, létrehozni, tárolni vagy módosítani a teljes feladat elvégzése érdekében.

N-szintű Architecture Tippek és fejlesztés

Figyelembe véve, hogy a szoftverszakembereknek teljes ellenőrzéssel kell rendelkezniük az architektúra összes rétege felett, az n-szintű architektúrára vonatkozó tippeket az alábbiakban adjuk meg:

  1. Próbáld meg a rétegeket a lehető legnagyobb mértékben szétválasztani egymástól egy olyan technika segítségével, mint a SOAP XML.
  2. Használjon néhány automatizált eszközt térkép létrehozásáhozping egy üzleti logikai réteg és egy relációs adatbázis réteg (adatréteg) között. Eszközök, amelyek segíthetnek ezek modellezésébenping technikák az Entity Framework és a Hibernate for .Net stb.
  3. A kliens-előadói rétegben a lehető legtöbb esetben helyezd el az összes kliens közös kódját egy külön könyvtárban. Ez maximalizálja a kód újrafelhasználhatóságát minden típusú kliens esetében.
  4. Gyorsítótár réteg hozzáadható egy meglévő réteghez a teljesítmény felgyorsítása érdekében.

GYIK

A réteg a kód logikai elkülönítése, például a megjelenítés vagy az üzleti logika. A szint (tier) ezen rétegek fizikai elkülönítése különböző gépeken. Több réteg futtatható egy szinten, vagy minden rétegnek lehet saját szintje.

Nem. Az MVC egy tervezési minta a kód egyetlen alkalmazáson belüli rendszerezésére, míg a háromszintű architektúra fizikailag elválasztja a megjelenítést, a logikát és az adatokat a szintek között. Az MVC komponensek szabadon kölcsönhatásba léphetnek egymással, míg a háromszintű rétegek szigorú felülről lefelé irányuló sorrendben kommunikálnak.

Gyakori választási lehetőségek közé tartozik a .NET, Java (Spring), és Node.js az üzleti logikához, HTML/JavaSzkript keretrendszerek prezentációkhoz és adatbázisokhoz, mint például MySQL, SQL Server vagy Oracle az adatréteghez. Az olyan ORM-ek, mint az Entity Framework és a Hibernate, összekapcsolják a rétegeket.

A mesterséges intelligenciát általában az üzleti logikai rétegben vagy külön szolgáltatási rétegként adják hozzá. Olyan funkciókat működtet, mint az ajánlások, a csalásészlelés és a keresés, míg a megjelenítési és adatrétegek változatlanok maradnak.ping az architektúra moduláris és karbantartható.

Igen. A mesterséges intelligencia által vezérelt monitorozás képes előre jelezni a forgalmi csúcsokat, és automatikusan, egymástól függetlenül skálázni az egyes szinteket. Emellett képes kiegyensúlyozni a terhelést, észlelni a szűk keresztmetszeteket és optimalizálni az adatbázis-lekérdezéseket.ping A nagy kliens-szerver alkalmazások a változó igények ellenére is rugalmasak maradnak.

Foglald össze ezt a bejegyzést a következőképpen: