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.

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รค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

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
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:
- Yritรค irrottaa kerrokset toisistaan โโmahdollisimman paljon kรคyttรคmรคllรค esimerkiksi SOAP XML:รครค.
- 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.
- Asiakasohjelman esittelytasolla sijoita kaikkien asiakasohjelmien yhteinen koodi mahdollisimman paljon erilliseen kirjastoon. Tรคmรค maksimoi koodin uudelleenkรคytettรคvyyden kaikentyyppisille asiakasohjelmille.
- Vรคlimuistikerros voidaan lisรคtรค olemassa olevaan tasoon suorituskyvyn nopeuttamiseksi.

