N Taso (Monitaso), 3-taso, 2-taso Architecture kanssa EXAMPLE

โšก ร„lykรคs yhteenveto

N-tasoarkkitehtuuri, jota kutsutaan myรถs monitasoarkkitehtuuriksi, jakaa sovelluksen kolmelle tai useammalle erilliselle tasolle, kuten esitys-, liiketoimintalogiikka- ja datatasolle. Tรคmรค malli parantaa skaalautuvuutta, tietoturvaa ja uudelleenkรคytettรคvyyttรค yritystason asiakas-palvelin-sovelluksissa.

  • ๐Ÿ—๏ธ Mรครคritelmรค: N-tason sovellus on hajautettu kolmelle tai useammalle erilliselle tietokoneelle hajautetussa verkossa.
  • ๐Ÿงฑ Kolme ydinkerrosta: Esitys (kรคyttรถliittymรค), liiketoimintalogiikka ja tietokantakerrokset erottavat asiat selkeรคsti toisistaan.
  • ๐Ÿ”ข Tasomuunnelmat: Yleisiรค malleja ovat 1-tasoinen, 2-tasoinen ja 3-tasoinen, joista 3-tasoinen on yleisimmin kรคytetty.
  • ๐ŸŒ Todellinen kรคyttรถ: Sivustot, kuten IRCTC, MakeMyTrip ja Amazon luottaa tรคhรคn arkkitehtuuriin.
  • โœ… Avainedut: Skaalautuvuus, tietojen eheys, uudelleenkรคytettรคvyys, parannettu tietoturva ja saatavuus.
  • โš ๏ธ Kompromissi: Useammat kerrokset lisรครคvรคt kehitystyรถtรค ja jรคrjestelmรคn kokonaismonimutkaisuutta.

N-taso Archirakenne

Mikรค on N-Tier?

An N-tason sovellus ohjelma on sellainen, joka on hajautettu kolmen tai useamman erillisen tietokoneen kesken hajautetussa verkossa.

Yleisin n-tason muoto on 3-tasoinen sovellus, ja se luokitellaan kolmeen luokkaan.

  • Kรคyttรถliittymรคohjelmointi kรคyttรคjรคn tietokoneessa
  • Liiketoimintalogiikka keskitetymmรคssรค tietokoneessa ja
  • Vaaditut tiedot tietokantaa hallitsevassa tietokoneessa.

Tรคmรค arkkitehtuurimalli tarjoaa ohjelmistokehittรคjille tavan luoda uudelleenkรคytettรคviรค sovelluksia/jรคrjestelmiรค mahdollisimman joustavasti.

In N-taso, "N" viittaa useisiin kรคytettyihin tasoihin tai kerroksiin, kuten โ€“ 2-tasoinen, 3-tasoinen tai 4-tasoinen jne. Sitรค kutsutaan myรถs "Monitasoinen Archirakenne".

N-tason arkkitehtuuri on toimialalla testattu ohjelmistoarkkitehtuurimalli. Se soveltuu tukemaan yritystason asiakas-palvelin-sovelluksia tarjoamalla ratkaisuja skaalautuvuuteen, tietoturvaan, vikasietoisuuteen, uudelleenkรคytettรคvyyteen ja yllรคpidettรคvyyteen. Se auttaa kehittรคjiรค luomaan joustavia ja uudelleenkรคytettรคviรค sovelluksia.

N-taso Archirakenne

Kaavamainen esitys n-tasoisesta jรคrjestelmรคstรค kuvaa tรคssรค - esitys-, sovellus- ja tietokantakerrokset.

N-taso Archirakenne
N taso Architecture Kaavio

Nรคmรค kolme kerrosta voidaan jakaa edelleen eri alakerroksiin vaatimuksista riippuen.

Joitakin suosittuja sivustoja, jotka ovat kรคyttรคneet tรคtรค arkkitehtuuria, ovat:

  • MakeMyTrip.com
  • Sales Force -yrityssovellus
  • Intian rautatiet โ€“ IRCTC
  • Amazon.com jne.

Joitakin yleisiรค termejรค, jotka kannattaa muistaa, jotta kรคsite ymmรคrretรครคn paremmin:

  • Hajautettu verkko: Se on verkkoarkkitehtuuri, jossa verkkotietokoneissa sijaitsevat komponentit koordinoivat ja kommunikoivat toimistaan โ€‹โ€‹vain lรคhettรคmรคllรค viestejรค. Se on kokoelma useita eri solmuissa sijaitsevia jรคrjestelmiรค, jotka nรคyttรคvรคt kรคyttรคjรคlle yhdeltรค jรคrjestelmรคltรค.
    • Se tarjoaa yhden tietoliikenneverkon, jota eri verkot voivat hallita erikseen.
    • Esimerkki hajautetusta verkosta โ€“ jossa eri asiakkaat on kytketty lรคhiverkkoarkkitehtuuriin toisella puolella ja toisella puolella ne on kytketty nopeisiin kytkimiin sekรค palvelimiin, jotka sisรคltรคvรคt palvelusolmuja.
  • Asiakaspalvelin Archirakenne: Se on arkkitehtuurimalli, jossa asiakas (yksi ohjelma) pyytรครค palvelua palvelimelta (toiselta ohjelmalta), eli se on internetin tai intranetin kautta tarjottava pyyntรถ-vastaus-palvelu. Tรคssรค mallissa Asiakas toimii yhtenรค sarjana ohjelmaa/koodia, joka suorittaa joukon toimintoja verkon yli. Sillรค aikaa Server, toisaalta, on joukko toista ohjelmaa, joka lรคhettรครค tulosjoukot asiakasjรคrjestelmรครคn pyydettรคessรค.
    • Tรคssรค asiakastietokone tarjoaa loppukรคyttรคjรคlle kรคyttรถliittymรคn palvelun tai resurssin pyytรคmiseksi palvelimelta, ja toisaalta palvelin kรคsittelee pyynnรถn ja nรคyttรครค tuloksen loppukรคyttรคjรคlle.
    • Esimerkki asiakas-palvelinmallista โ€“ pankkiautomaatti. Pankki on palvelin, joka kรคsittelee sovelluksia suurissa asiakastietokannoissa, ja pankkiautomaatti on asiakas, jolla on kรคyttรถliittymรค ja yksinkertainen sovellusten kรคsittely.
  • Platform: Tietojenkรคsittelytieteessรค tai ohjelmistoteollisuudessa alusta on jรคrjestelmรค, jolla sovellusohjelma voi toimia. Se koostuu laitteiston ja ohjelmiston yhdistelmรคstรค, jossa on sisรครคnrakennetut ohjeet prosessorille/mikroprosessorille tiettyjen toimintojen suorittamiseksi.
    • Yksinkertaisemmin sanottuna alusta on jรคrjestelmรค tai tukikohta, jossa mikรค tahansa sovellus voi suorittaa tietyn tehtรคvรคn.
    • Esimerkki alustasta โ€“ henkilรถkohtainen kone, jossa on Windows 2000 tai Mac OS X esimerkkeinรค kahdesta eri alustasta.
  • Tietokanta: Se on kokoelma tietoa organisoidulla tavalla, jotta sitรค voidaan helposti kรคyttรครค, hallita ja pรคivittรครค.
    • Esimerkkejรค tietokannasta - MySQL, SQL Palvelin ja Oracle Database ovat joitakin yleisiรค tietokantoja.

N-tason tyypit Architektuurit

N-tasoja on erilaisia Architektuurit, kuten 3-tason Archirakenne, 2-tasoinen Archirakenne ja 1-tasoinen Archirakenne.

Ensin nรคemme 3-tason Archirakenne, joka on erittรคin tรคrkeรค.

3-Tier Archirakenne

Katsomalla alla olevaa kaaviota voit helposti tunnistaa sen Kaksitasoinen arkkitehtuuri siinรค on kolme eri kerrosta.

  • Esityskerros
  • Business Logic -kerros
  • Tietokantakerros
3-taso Architecture Kaavio
3-taso Architecture Kaavio

Tรคssรค olemme ottaneet yksinkertaisen esimerkin opiskelijalomakkeesta ymmรคrtรครคksemme kaikki nรคmรค kolme tasoa. Se sisรคltรครค tietoja opiskelijasta, kuten nimen, osoitteen, sรคhkรถpostiosoitteen ja kuvan.

Kรคyttรถliittymรคtaso tai esitystaso

3-Tier Archirakenne

Esityskerros

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 Selitys

  • Yllรค oleva koodi mรครคrittelee sovellusten kรคyttรถliittymรคn perussuunnittelun sekรค muiden kerrosten funktioiden kutsumisen, jotta ne voidaan integroida toisiinsa.

Business Access Layer โ€“

Tรคmรค on liiketoimintakerroksen toiminto, joka hyvรคksyy tiedot sovelluskerroksesta ja vรคlittรครค ne tietokerrokselle.

  • Liiketoimintalogiikka toimii rajapintana asiakaskerroksen ja datayhteyskerroksen vรคlillรค.
  • Kaikki liiketoimintalogiikka โ€“ kuten tietojen validointi, laskelmat, tietojen lisรครคminen/muokkaaminen โ€“ kirjoitetaan liiketoimintalogiikkakerroksen alle.
  • Se nopeuttaa ja helpottaa kommunikointia asiakkaan ja datakerroksen vรคlillรค.
  • Mรครคrittรครค oikean tyรถnkulun toiminnon, joka on tarpeen tehtรคvรคn suorittamiseksi.
// 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;
	}
}

Koodin selitys

Koodi kรคyttรครค liiketoimintakerroksen funktioita, jotka hyvรคksyvรคt sovelluskerroksen datan ja vรคlittรคvรคt sen datakerrokselle. Liiketoimintakerroksen koodit toimivat vรคlittรคjรคnรค esityskerroksessa ja datakerroksessa mรครคriteltyjen funktioiden vรคlillรค ja kutsuvat funktioita pรคinvastoin.

Tietojen kรคyttรถkerros

Tรคmรค on tietokerrostoiminto, joka vastaanottaa tiedot liiketoimintakerrokselta ja suorittaa tarvittavat toiminnot tietokantaan.

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

Koodin selitys

Yllรค olevassa tietojoukkokerroksessa mรครคritelty koodi hyvรคksyy koko jรคrjestelmรคn pyytรคmรคn pyynnรถn ja suorittaa vaaditut toiminnot tietokannassa.

2-Tier Archirakenne

Se on kuin Client-Server-arkkitehtuuri, jossa viestintรค tapahtuu asiakkaan ja palvelimen vรคlillรค.

Tรคllaisessa ohjelmistoarkkitehtuurissa esityskerros tai kรคyttรถliittymรคkerros suoritetaan asiakaspuolella, kun taas tietojoukkokerros suoritetaan ja tallennetaan palvelinpuolella.

Asiakkaan ja palvelimen vรคlissรค ei ole liiketoimintalogiikkakerrosta tai vรคlikerrosta.

Yksitasoinen tai 1-tasoinen Archirakenne

Se on yksinkertaisin tapa, koska se vastaa sovelluksen suorittamista henkilรถkohtaisella tietokoneella. Kaikki sovelluksen suorittamiseen tarvittavat komponentit ovat yhdessรค sovelluksessa tai palvelimella.

Esityskerros, liiketoimintalogiikkakerros ja tietokerros sijaitsevat kaikki yhdessรค koneessa.

Monitasoisen edut ja haitat Architektuurit

Kuten minkรค tahansa suunnitteluvaihtoehdon kohdalla, monitasoinen lรคhestymistapa tuo selkeitรค etuja, mutta sisรคltรครค myรถs muutamia kompromisseja, jotka on tiivistetty alla.

edut Haitat
skaalautuvuus Lisรครคntynyt ponnistelu
Pรคivรคys Integrity Monimutkaisuuden lisรครคntyminen
Reus Kyky
Alennettu jakelu
Parannettu turvallisuus
Parempi saatavuus

Siksi se on osa ohjelmaa, joka salaa todelliset liiketoimintaongelmat ja mรครคrittรครค, kuinka tietoja voidaan pรคivittรครค, luoda, tallentaa tai muuttaa, jotta tehtรคvรค saadaan suoritettua.

N-taso Architecture Vinkkejรค ja kehitystรค

Koska ohjelmistoalan ammattilaisilla on oltava tรคysi hallinta arkkitehtuurin kaikkiin tasoihin, vinkkejรค n-tasoarkkitehtuuriin annetaan alla:

  1. Yritรค irrottaa kerrokset toisistaan โ€‹โ€‹mahdollisimman paljon kรคyttรคmรคllรค esimerkiksi SOAP XML:รครค.
  2. Kรคytรค joitakin automatisoituja tyรถkaluja kartan luomiseenping liiketoimintalogiikkakerroksen ja relaatiotietokantakerroksen (datakerroksen) vรคlillรค. Tyรถkalut, jotka voivat auttaa nรคiden mallintamisessa, vastaavat toisiaanping tekniikoita ovat Entity Framework ja Hibernate for .Net jne.
  3. Asiakasohjelman esittelytasolla sijoita kaikkien asiakasohjelmien yhteinen koodi mahdollisimman paljon erilliseen kirjastoon. Tรคmรค maksimoi koodin uudelleenkรคytettรคvyyden kaikentyyppisille asiakasohjelmille.
  4. Vรคlimuistikerros voidaan lisรคtรค olemassa olevaan tasoon suorituskyvyn nopeuttamiseksi.

UKK

Kerros on koodin looginen erottelu, kuten esitys- tai liiketoimintalogiikka. Taso on nรคiden kerrosten fyysinen erottelu eri koneille. Useita kerroksia voi suorittaa yhdellรค tasolla, tai jokaisella tasolla voi olla oma tasonsa.

Ei. MVC on suunnittelumalli koodin jรคrjestรคmiseen yhden sovelluksen sisรคllรค, kun taas kolmitasoarkkitehtuuri erottaa fyysisesti esityksen, logiikan ja datan tasojen vรคlillรค. MVC-komponentit ovat vuorovaikutuksessa vapaasti, kun taas kolmitasoiset kerrokset kommunikoivat tiukassa ylhรครคltรค alas -jรคrjestyksessรค.

Yleisiรค vaihtoehtoja ovat .NET, Java (Spring) ja Node.js liiketoimintalogiikalle, HTML/JavaEsitysten skriptikehykset ja tietokannat, kuten MySQL, SQL Server tai Oracle datakerrosta varten. ORM:t, kuten Entity Framework ja Hibernate, yhdistรคvรคt kerrokset.

Tekoรคly lisรคtรครคn yleensรค liiketoimintalogiikkakerrokseen tai erillisenรค palvelutasona. Se tukee ominaisuuksia, kuten suosituksia, petosten havaitsemista ja hakua, kun taas esitys- ja datakerrokset pysyvรคt muuttumattomina.ping Arkkitehtuuri on modulaarinen ja yllรคpidettรคvรค.

Kyllรค. Tekoรคlypohjainen valvonta voi ennustaa liikennepiikkejรค ja skaalata jokaisen tason automaattisesti itsenรคisesti. Se voi myรถs tasapainottaa kuormitusta, havaita pullonkauloja ja optimoida tietokantakyselyitรค.ping Suuret asiakas-palvelinsovellukset pysyvรคt reagointikykyisinรค muuttuvassa kysynnรคssรค.

Tiivistรค tรคmรค viesti seuraavasti: