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

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úra modell lehetővé teszi a szoftverfejlesztők számára, hogy újrafelhasználható alkalmazásokat/rendszereket hozzanak létre maximális rugalmassággal.

In N-szint, „N” számos használt szintre vagy rétegre utal, mint 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 szoftver architektúra modell. Alkalmas vállalati szintű kliens-szerver alkalmazások támogatására a méretezhetőség, a biztonság, a hibatűrés, az újrafelhasználhatóság és a karbantarthatóság megoldásával. 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ű webhely, 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, amelyet meg kell jegyezni, hogy jobban megértsük a fogalmat.

  • Elosztott hálózat: Ez egy hálózati architektúra, ahol a hálózati számítógépeken található komponensek csak üzenetek átadásával koordinálják és kommunikálják tevékenységeiket. Ez több rendszer gyűjteménye, amelyek különböző csomópontokon helyezkednek el, de a felhasználó számára egyetlen rendszerként jelenik 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.
    • Példa az elosztott hálózatra – ahol az egyik oldalon különböző kliensek csatlakoznak a LAN-architektúrán belül, a másik oldalon pedig nagysebességű kapcsolókhoz, valamint egy szolgáltatáscsomópontokat tartalmazó szerverállványhoz csatlakoznak.
  • Ügyfél-szerver Architectúra: Ez egy olyan architektúra modell, amelyben az ügyfél (egy program) szolgáltatást kér egy szervertől (egy másik program) azaz Ez egy kérés-válasz szolgáltatás az interneten vagy intraneten keresztül. 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 ügyfélszámítógép interfészt biztosít a végfelhasználónak, amellyel szolgáltatást vagy erőforrást kérhet a szervertől, másrészt a szerver feldolgozza a kérést, és megjeleníti az eredményt a végfelhasználónak.
    • Példa a kliens-szerver modellre – egy ATM-gép. A nagy ügyféladatbázisokon belül a bank az alkalmazás feldolgozásának szervere, az ATM gép pedig a kliens, amelynek felhasználói felülete egyszerű alkalmazásfeldolgozással rendelkezik.
  • Platform: A számítástechnikában vagy a szoftveriparban a platform egy olyan rendszer, amelyen alkalmazások futhatnak. Hardver és szoftver kombinációjából áll, amelyek beépített utasításokkal rendelkeznek a processzorok/mikroprocesszorok 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 futhat és végrehajtható egy adott feladat elvégzése érdekében.
    • 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 Db.

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 Architecture és 1- Tier 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 a tanulói formára, hogy megértsük ezt a három réteget. Olyan információkat tartalmaz egy tanulóról, mint például: név, cím, e-mail és kép.

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();

Kód Magyarázat

  • A fenti kód meghatározza az alkalmazások elülső nézetének alapvető tervezését, valamint más rétegek funkcióinak meghívását, 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 az ügyfélréteg és az adatelérési réteg között
  • Minden üzleti logika – például az adatok validálása, számítások, adatbeillesztés/módosítás – az üzleti logikai réteg alá van írva.
  • 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 funkcióját használja, amely elfogadja az alkalmazási réteg adatait, és továbbítja 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 meghatározott funkciók 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 adatkészlet rétegben definiált kód a teljes kérést elfogadja: a rendszer kéri és elvégzi a szükséges műveleteket az adatbázisba.

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 prezentációs réteg vagy a felhasználói felület réteg a kliens oldalon fut, míg az adatkészlet réteg végrehajtása és tárolása a szerver oldalon történik.

Nincs üzleti logikai réteg vagy közvetlen réteg az ügyfél é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 összetevő egyetlen alkalmazáson vagy kiszolgálón 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

Előnyök Hátrányok
skálázható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

Tekintettel arra, hogy a szoftveres szakembereknek teljes körűen ellenőrizniük kell az architektúra minden rétegét, az alábbiakban az n-szintű architektúrára vonatkozó tippeket adunk.

  1. Próbálja meg a rétegeket a lehető legnagyobb mértékben leválasztani egy másik rétegről olyan technikával, mint a szappan XML.
  2. Használjon néhány automatizált eszközt az üzleti logikai réteg és a relációs adatbázisréteg (adatréteg) közötti leképezés létrehozására. Az ilyen leképezési technikák modellezésében segítséget nyújtó eszközök – Entity Framework és Hibernate for .Net stb.
  3. A kliens bemutató rétegben helyezzen el egy közös kódot az összes ügyfél számára egy külön könyvtárba, amennyire csak lehetséges. Ez maximalizálja a kód újrafelhasználhatóságát minden típusú ügyfél számára.
  4. Gyorsítótár réteg hozzáadható egy meglévő réteghez a teljesítmény felgyorsítása érdekében.

Összegzésként

Az N-szintű architektúra segít egy alkalmazás összes összetevőjének (üzleti réteg, prezentációs réteg és adatbázisréteg) egy fedél alatt történő kezelésében.

A helyi hálózaton kis számú felhasználót használó alkalmazások profitálhatnak az n-szintű architektúrából.

Az ilyen építészeti tervezés biztosítja az alkalmazások hatékony karbantartását, bővítését és telepítését az interneten.