N pakopa (daugiapakopė), 3 pakopų, 2 pakopų architektūra su PAVYZDŽIU

Kas yra „N-Tier“?

N-Tier Application“ programa yra programa, kuri yra paskirstoma tarp trijų ar daugiau atskirų kompiuterių paskirstytame tinkle.

Dažniausia n pakopos forma yra 3 pakopų programa, ir ji yra suskirstyta į tris kategorijas.

  • Vartotojo sąsajos programavimas vartotojo kompiuteryje
  • Verslo logika labiau centralizuotame kompiuteryje ir
  • Reikalingi duomenys kompiuteryje, kuris valdo duomenų bazę.

Šis architektūros modelis suteikia programinės įrangos kūrėjams maksimalaus lankstumo galimybę kurti daugkartinio naudojimo programas / sistemas.

Be n pakopų, "N" reiškia pakopų ar sluoksnių skaičius yra naudojami kaip - 2 eilių 3 pakopų arba 4 pakopų, kt . Jis taip pat vadinamas „ daugiapakope architektūra“ .

N pakopos architektūra yra pramonėje patikrintas programinės įrangos architektūros modelis. Tai tinka palaikyti įmonės lygio kliento-serverio programas, teikiant mastelio, saugumo, tolerancijos gedimams, pakartotinio naudojimo ir priežiūros sprendimus. Tai padeda kūrėjams kurti lanksčias ir daugkartinio naudojimo programas.

Šioje pamokoje sužinosite

  • Kas yra „N-Tier“?
  • N lygio architektūra
  • N lygio architektūros tipai
    • 3 pakopų architektūra
    • 2 pakopų architektūra
    • Vienos pakopos arba 1 pakopos architektūra
  • Daugiapakopių architektūrų privalumai ir trūkumai
  • N lygio architektūros patarimai ir plėtra

N lygio architektūra

Schematiškai n-pakopos sistemoje pavaizduotas - pateikimo, taikymo ir duomenų bazės sluoksniai.

N pakopos architektūros schema

Šie trys sluoksniai gali būti toliau suskirstyti į skirtingus posluoksnius, atsižvelgiant į reikalavimus.

Kai kurios populiarios svetainės, pritaikiusios šią architektūrą, yra

  • MakeMyTrip.com
  • „Sales Force“ įmonės programa
  • Indijos geležinkeliai - IRCTC
  • Amazon.com ir kt.

Keletas bendrų terminų, kuriuos reikia atsiminti, kad aiškiau suprastumėte sąvoką.

  • Paskirstytasis tinklas: Tai yra tinklo architektūra, kai tinklo kompiuteriuose esantys komponentai koordinuoja ir perduoda savo veiksmus tik perduodami pranešimus. Tai kelių sistemų, esančių skirtinguose mazguose, rinkinys, tačiau vartotojui atrodo kaip viena sistema.
    • Jis teikia vieną duomenų perdavimo tinklą, kurį gali atskirai valdyti skirtingi tinklai.
    • Paskirstytojo tinklo pavyzdys - kai skirtingi klientai yra prijungti per LAN architektūrą iš vienos pusės, o iš kitos pusės, jie yra prijungti prie didelės spartos jungiklių ir serverių, kuriuose yra paslaugų mazgų, lentynos.
  • Kliento ir serverio architektūra: Tai yra architektūros modelis, kai klientas (viena programa) prašo paslaugos iš serverio (kita programa), ty tai yra užklausos ir atsakymo paslauga, teikiama internetu arba intranete.

    Šiame modelyje klientas veiks kaip vienas programos / kodo rinkinys, kuris tinkle atlieka veiksmų rinkinį. Kita vertus, nors „ Server“ yra kitos programos rinkinys, kuris siunčia rezultatų rinkinius į kliento sistemą, kaip reikalaujama.

    • Šiuo atveju kliento kompiuteris suteikia sąsają galutiniam vartotojui, kad jis paprašytų paslaugos ar išteklių iš serverio, o serveris, kita vertus, apdoroja užklausą ir pateikia rezultatą galutiniam vartotojui.
    • Kliento-serverio modelio pavyzdys - bankomatas. Bankas yra serveris, skirtas apdoroti programą didelėse klientų duomenų bazėse, o bankomatas yra klientas, turintis vartotojo sąsają su paprastu programų apdorojimu.
  • Platforma: informatikos ar programinės įrangos pramonėje platforma yra sistema, kurioje gali veikti programų programa. Jį sudaro aparatinės ir programinės įrangos derinys, kuriame yra įmontuota instrukcija procesoriams / mikroprocesoriams atlikti konkrečias operacijas.
    • Paprasčiau tariant, platforma yra sistema arba bazė, kurioje bet kuri programa gali veikti ir vykdyti tam tikrą užduotį gauti.
    • Platformos pavyzdys - asmeninė mašina, pakrauta su „Windows 2000“ arba „Mac OS X“ kaip 2 skirtingų platformų pavyzdžiai.
  • Duomenų bazė: tai informacijos rinkinys organizuotu būdu, kad būtų galima lengvai prieiti prie jo, tvarkyti ir atnaujinti.
    • Duomenų bazės pavyzdžiai - „MySQL“, „SQL Server“ ir „Oracle“ duomenų bazė yra keletas įprastų Db.

N lygio architektūros tipai

Yra įvairių N pakopos architektūros tipų, tokių kaip 3 pakopų architektūra, 2 pakopų architektūra ir 1 pakopų architektūra.

Pirmiausia pamatysime 3 pakopų architektūrą, kuri yra labai svarbi.

3 pakopų architektūra

Žiūrėdami žemiau pateiktą diagramą, galite lengvai nustatyti, kad 3 pakopų architektūra turi tris skirtingus sluoksnius.

  • Pristatymo sluoksnis
  • Verslo logikos sluoksnis
  • Duomenų bazės sluoksnis

3 pakopų architektūros schema

Čia mes paėmėme paprastą studento formos pavyzdį, kad suprastume visus šiuos tris sluoksnius. Jame yra informacijos apie tokį studentą kaip vardas, adresas, el. Paštas ir paveikslėlis.

Vartotojo sąsajos sluoksnis arba pristatymo sluoksnis

Pristatymo sluoksnis

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

Kodo paaiškinimas

  • Aukščiau pateiktas kodas apibrėžia pagrindinį programų priekinio vaizdo projektavimą, taip pat kitų sluoksnių funkcijų iškvietimą, kad jas būtų galima integruoti tarpusavyje.

Verslo prieigos sluoksnis -

Tai yra verslo sluoksnio funkcija, kuri priima duomenis iš programos sluoksnio ir perduoda juos duomenų sluoksniui.

  • Verslo logika veikia kaip sąsaja tarp kliento sluoksnio ir duomenų prieigos sluoksnio
  • Visa verslo logika, kaip duomenų patvirtinimas, skaičiavimai, duomenų įterpimas / modifikavimas, rašoma verslo logikos sluoksnyje.
  • Tai leidžia greičiau ir lengviau bendrauti tarp kliento ir duomenų sluoksnio
  • Nurodo tinkamą darbo eigos veiklą, reikalingą užduočiai atlikti.
// 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;}}

Kodo paaiškinimas

Kodas naudoja verslo sluoksnio funkciją, kuri priims programos sluoksnio duomenis ir perduos juos duomenų sluoksniui. Verslo sluoksnio kodai veikia kaip tarpininkas tarp funkcijų, apibrėžtų pateikimo sluoksnyje, ir duomenų sluoksnyje, ir vadina funkcijas atvirkščiai.

Duomenų prieigos sluoksnis

Tai yra duomenų sluoksnio funkcija, kuri gauna duomenis iš verslo sluoksnio ir atlieka reikiamą operaciją į duomenų bazę.

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

Kodo paaiškinimas

Aukščiau esančiame duomenų rinkinio sluoksnyje apibrėžtas kodas priima visą užklausą: sistemos paprašytą ir atliekant reikiamas operacijas į duomenų bazę.

2 pakopų architektūra:

Tai panašu į kliento-serverio architektūrą, kur vyksta ryšys tarp kliento ir serverio.

Tokio tipo programinės įrangos architektūroje pristatymo sluoksnis arba vartotojo sąsajos sluoksnis veikia kliento pusėje, o duomenų rinkinio sluoksnis vykdomas ir saugomas serverio pusėje.

Tarp kliento ir serverio nėra nei verslo logikos, nei tiesioginio sluoksnio.

Vienos ar 1 pakopos architektūra:

Tai paprasčiausias, nes jis prilygsta programos paleidimui asmeniniame kompiuteryje. Visi reikalingi programos paleidimo komponentai yra vienoje programoje arba serveryje.

Pristatymo, verslo logikos ir duomenų sluoksniai yra vienoje mašinoje.

Daugiapakopių architektūrų privalumai ir trūkumai

Privalumai

Trūkumai

  • Mastelis
  • Pastangų padidėjimas
  • Duomenų vientisumas
  • Sudėtingumo padidėjimas
  • Pakartotinis naudojimas
  • Sumažintas paskirstymas
  • Pagerintas saugumas
  • Geresnis prieinamumas

Taigi tai yra programos dalis, kuri užšifruoja realias verslo problemas ir nustato, kaip duomenis galima atnaujinti, sukurti, saugoti ar pakeisti, kad būtų atlikta visa užduotis.

N lygio architektūros patarimai ir plėtra

Atsižvelgiant į tai, kad programinės įrangos profesionalai turi visiškai kontroliuoti visus architektūros sluoksnius, n-pakopos architektūros patarimai pateikiami taip:

  1. Pabandykite kiek įmanoma atsieti sluoksnius nuo kito sluoksnio, naudodami tokią metodą kaip muilo XML.
  2. Naudokite kai kuriuos automatinius įrankius, kad sukurtumėte verslo logikos ir reliacinės duomenų bazės (duomenų sluoksnio) susiejimą. Įrankiai, kurie gali padėti modeliuoti šiuos žemėlapių sudarymo metodus, yra „Entity Framework“ ir „Hibernate“ .Net ir kt.
  3. Klientų pateikėjų sluoksnyje kiek įmanoma įdėkite bendrą kodą visiems klientams į atskirą biblioteką. Tai padidins kodo pakartotinį naudojimą visų tipų klientams.
  4. Talpyklos sluoksnis gali būti pridėtas prie esamo sluoksnio, kad pagreitėtų našumas.

Santrauka:

N pakopos architektūra padeda valdyti visus programos komponentus (verslo, pateikimo ir duomenų bazių sluoksnius) po vienu stogu.

Programos, kuriose naudojamas nedaug vartotojų vietiniame tinkle, gali pasinaudoti n pakopos architektūra.

Tokio architektūrinio projekto metu nustatoma, kaip efektyviai palaikyti, išplėsti ir įdiegti programą internete.

Įdomios straipsniai...