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