N-vrstva (viacvrstvová), 3-vrstvová, 2-vrstvová architektúra s PRÍKLADOM

Obsah:

Anonim

Čo je to N-Tier?

N-Tier Aplikačný program, je ten, ktorý je rozdelený na tri alebo viac samostatných počítačov v distribuovanej siete.

Najbežnejšou formou úrovne n je aplikácia s tromi úrovňami a je klasifikovaná do troch kategórií.

  • Programovanie užívateľského rozhrania v počítači užívateľa
  • Obchodná logika v centralizovanejšom počítači a
  • Povinné údaje v počítači, ktorý spravuje databázu.

Tento model architektúry umožňuje vývojárom softvéru vytvárať opakovane použiteľné aplikácie / systémy s maximálnou flexibilitou.

V N-vrstve „N“ označuje množstvo vrstiev alebo vrstiev, ktoré sa používajú, ako napríklad - dvojvrstvová, trojvrstvová alebo štvorvrstvová atď . Nazýva sa tiež „ viacvrstvová architektúra“ .

Architektúra n-tier je priemyselne osvedčený model softvérovej architektúry. Je vhodné podporovať aplikácie typu klient-server na podnikovej úrovni poskytovaním riešení škálovateľnosti, bezpečnosti, odolnosti proti chybám, opätovnej použiteľnosti a udržiavateľnosti. Pomáha vývojárom vytvárať flexibilné a opakovane použiteľné aplikácie.

V tomto návode sa naučíte

  • Čo je to N-Tier?
  • Architektúra N-tier
  • Typy architektúr N-úrovne
    • 3-vrstvová architektúra
    • 2-vrstvová architektúra
    • Jednoúrovňová alebo jednoúrovňová architektúra
  • Výhody a nevýhody viacvrstvových architektúr
  • Tipy a vývoj architektúry N-tier

Architektúra N-tier

Je tu zobrazené schematické znázornenie systému n-tier - vrstvy prezentácie, aplikácie a databázy.

Diagram architektúry N

Tieto tri vrstvy je možné ďalej rozdeliť na rôzne podvrstvy v závislosti od požiadaviek.

Niektoré z populárnych webov, ktoré uplatnili túto architektúru, sú

  • MakeMyTrip.com
  • Podniková aplikácia Sales Force
  • Indické železnice - IRCTC
  • Amazon.com atď.

Niektoré bežné pojmy, ktoré si treba pamätať, aby ste koncept pochopili jasnejšie.

  • Distribuovaná sieť: Jedná sa o sieťovú architektúru, kde komponenty umiestnené v sieťových počítačoch koordinujú a komunikujú svoje akcie iba odovzdávaním správ. Je to súbor viacerých systémov umiestnených na rôznych uzloch, ale používateľom sa javí ako jeden systém.
    • Poskytuje jednu dátovú komunikačnú sieť, ktorú je možné spravovať osobitne rôznymi sieťami.
    • Príklad distribuovanej siete - kde sú na jednej strane pripojení rôzni klienti v rámci architektúry LAN a na druhej strane sú pripojení k vysokorýchlostným prepínačom spolu so stojanom serverov obsahujúcich servisné uzly.
  • Architektúra klient-server: Jedná sa o model architektúry, kde klient (jeden program) požaduje službu od servera (iný program), tj ide o službu reagujúcu na požiadavky poskytovanú cez internet alebo cez intranet.

    V tomto modeli bude klient slúžiť ako jedna sada programu / kódu, ktorá vykonáva sadu akcií v sieti. Zatiaľ čo Server je na druhej strane množinou iného programu, ktorý podľa potreby odosiela výsledné množiny do klientskeho systému.

    • V tomto prípade klientský počítač poskytuje koncovému používateľovi rozhranie na vyžiadanie služby alebo zdroja zo servera a na druhej strane server potom spracuje požiadavku a zobrazí výsledok koncovému používateľovi.
    • Príklad modelu klient-server - bankomat. Banka je serverom na spracovanie aplikácie v rozsiahlych zákazníckych databázach a bankomatom je klient, ktorý má užívateľské rozhranie s jednoduchým spracovaním aplikácie.
  • Platforma: V informatike alebo softvérovom priemysle je platforma systém, na ktorom je možné spustiť aplikačný program. Skladá sa z kombinácie hardvéru a softvéru, ktoré majú zabudovanú inštrukciu pre procesory / mikroprocesory na vykonávanie konkrétnych operácií.
    • Jednoduchšie povedané, platforma je systém alebo základňa, kde môžu bežať a spúšťať akékoľvek aplikácie s cieľom získať konkrétnu úlohu.
    • Príklad platformy - osobný počítač so systémom Windows 2000 alebo Mac OS X ako príklad 2 rôznych platforiem.
  • Databáza: Je to súbor informácií organizovaným spôsobom, ktorý umožňuje ľahký prístup, správu a aktualizáciu.
    • Príklady databáz - MySQL, SQL Server a Oracle Database sú niektoré bežné databázy.

Typy architektúr N-úrovne

Existujú rôzne typy N-úrovňových architektúr, napríklad 3-stupňová architektúra, 2-stupňová architektúra a 1-stupňová architektúra.

Najskôr uvidíme trojvrstvovú architektúru, ktorá je veľmi dôležitá.

3-vrstvová architektúra

Pri pohľade na nasledujúci diagram môžete ľahko zistiť, že trojvrstvová architektúra má tri rôzne vrstvy.

  • Prezentačná vrstva
  • Vrstva obchodnej logiky
  • Databázová vrstva

Diagram 3-stupňovej architektúry

Tu sme si vzali jednoduchý príklad študentskej formy na pochopenie všetkých týchto troch vrstiev. Obsahuje informácie o študentovi, napríklad - meno, adresa, e-mail a obrázok.

Vrstva používateľského rozhrania alebo prezentačná vrstva

Prezentačná vrstva

private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e){// Object of the Property layerclsStudent objproperty=new clsStudent();// Object of the business layerclsStudentInfo objbs=new clsStudentInfo();// Object of the dataset in which we receive the data sent by the business layerDataSet ds=new DataSet();// here we are placing the value in the property using the object of the//property layerobjproperty.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();

Vysvetlenie kódu

  • Vyššie uvedený kód definuje základné navrhovanie čelného pohľadu na aplikácie, ako aj volanie funkcií ďalších vrstiev, aby ich bolo možné navzájom integrovať.

Vrstva obchodného prístupu -

Toto je funkcia obchodnej vrstvy, ktorá prijíma údaje z aplikačnej vrstvy a odovzdáva ich do dátovej vrstvy.

  • Obchodná logika funguje ako rozhranie medzi vrstvou klienta a vrstvou prístupu k údajom
  • Celá obchodná logika - ako je validácia údajov, výpočty, vkladanie / úprava údajov sú zapísané pod vrstvu obchodnej logiky.
  • Uľahčuje a uľahčuje komunikáciu medzi klientskou a dátovou vrstvou
  • Definuje správnu činnosť pracovného toku, ktorá je nevyhnutná na dokončenie úlohy.
// 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 functionreturn ds;}}

Vysvetlenie kódu

Kód využíva funkciu obchodnej vrstvy, ktorá prijme údaje pre aplikačnú vrstvu a odovzdá ich do dátovej vrstvy. Kódy podnikovej vrstvy fungujú ako sprostredkovateľ medzi funkciami definovanými v prezentačnej vrstve a dátovej vrstve a volanie funkcií naopak.

Vrstva prístupu k údajom

Toto je funkcia dátovej vrstvy, ktorá prijíma údaje z obchodnej vrstvy a vykonáva potrebné operácie do databázy.

// this is the datalayer function which is receiving the data from the business//layer and performing the required operation into the databasepublic class clsStudentData // Data layer class{// object of property layer classpublic 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 operationds=objdt.ExecuteSql(sql);return ds;}}

Vysvetlenie kódu

Tento kód definuje vo vrstve množiny údajov vyššie akceptuje celú požiadavku: požadovanú systémom a vykonaním požadovaných operácií do databázy.

2-vrstvová architektúra:

Je to ako architektúra klient-server, kde prebieha komunikácia medzi klientom a serverom.

V tomto type softvérovej architektúry sa prezentačná vrstva alebo vrstva používateľského rozhrania spúšťa na strane klienta, zatiaľ čo sa vrstva dátových množín vykonáva a ukladá na strane servera.

Medzi klientom a serverom nie je žiadna vrstva obchodnej logiky ani okamžitá vrstva.

Jednoúrovňová alebo jednoúrovňová architektúra:

Je to najjednoduchší, pretože je to ekvivalent spustenia aplikácie na osobnom počítači. Všetky požadované komponenty na spustenie aplikácie sú na jednej aplikácii alebo serveri.

Prezentačná vrstva, vrstva obchodnej logiky a dátová vrstva sú umiestnené na jednom stroji.

Výhody a nevýhody viacvrstvových architektúr

Výhody

Nevýhody

  • Škálovateľnosť
  • Zvýšenie úsilia
  • Integrita údajov
  • Nárast zložitosti
  • Opätovná použiteľnosť
  • Znížená distribúcia
  • Vylepšená bezpečnosť
  • Vylepšená dostupnosť

Preto je súčasťou programu, ktorý šifruje obchodné problémy v reálnom svete a určuje, ako je možné údaje aktualizovať, vytvárať, ukladať alebo meniť, aby bolo možné dokončiť celú úlohu.

Tipy a vývoj architektúry N-tier

Vzhľadom na to, že softvéroví profesionáli musia mať úplnú kontrolu nad všetkými vrstvami architektúry, tipy na architektúre n-tier sú uvedené nižšie.

  1. Pokúste sa čo najviac oddeliť vrstvy od inej vrstvy pomocou techniky, ako je mydlo XML.
  2. Pomocou niektorých automatizovaných nástrojov môžete generovať mapovanie medzi vrstvou obchodnej logiky a vrstvou relačnej databázy (dátová vrstva). Nástroje, ktoré môžu pomôcť pri modelovaní týchto mapovacích techník, sú - Entity Framework a Hibernate for .Net atď.
  3. Vo vrstve prezentujúcich klientov vložte čo najviac spoločný kód pre všetkých klientov do samostatnej knižnice. Takto sa maximalizuje opätovná použiteľnosť kódu pre všetky typy klientov.
  4. Na urýchlenie výkonu je možné do existujúcej vrstvy pridať vrstvu vyrovnávacej pamäte.

Zhrnutie:

Architektúra N-tier pomáha spravovať všetky komponenty (obchodnú vrstvu, prezentačnú vrstvu a databázovú vrstvu) aplikácie pod jednou strechou.

Aplikácie využívajúce malý počet používateľov v lokálnej sieti môžu ťažiť z architektúry n-tier.

Takýto architektonický dizajn zaručuje efektívne udržiavanie, rozširovanie a nasadenie aplikácie na internete.