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.

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.

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

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
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:
- 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.
- 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.
- 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.
- Gyorsítótár réteg hozzáadható egy meglévő réteghez a teljesítmény felgyorsítása érdekében.

