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

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 mahdollisuuden luoda uudelleenkäytettäviä sovelluksia/järjestelmiä mahdollisimman joustavasti.

In N-taso, "N" viittaa useisiin tasoihin tai kerroksiin, joita käytetään, kuten - 2-tasoinen, 3-tasoinen tai 4-tasoinen jne. Sitä kutsutaan myös "Monitasoinen Architektuuri".

N-tason arkkitehtuuri on alan testattu ohjelmistoarkkitehtuurimalli. Se soveltuu tukemaan yritystason asiakas-palvelinsovelluksia tarjoamalla ratkaisuja skaalautumiseen, 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.

Jotkut suosituista sivustoista, jotka ovat käyttäneet tätä arkkitehtuuria, ovat

  • MakeMyTrip.com
  • Sales Force -yrityssovellus
  • Intian rautatiet – IRCTC
  • Amazon.com jne.

Muutamia yleisiä termejä muistaa, jotta käsite ymmärretään selkeämmin.

  • Hajautettu verkko: Se on verkkoarkkitehtuuri, jossa verkkotietokoneissa sijaitsevat komponentit koordinoivat ja viestivät toimintaansa vain välittämällä viestejä. Se on kokoelma useita järjestelmiä, jotka sijaitsevat eri solmuissa, mutta näyttää käyttäjälle yhtenä järjestelmänä.
    • Se tarjoaa yhden tietoliikenneverkon, jota eri verkot voivat hallita erikseen.
    • Esimerkki hajautetusta verkosta – jossa eri asiakkaat on yhdistetty toiselta puolelta LAN-arkkitehtuuriin ja toiselta puolelta ne on yhdistetty nopeisiin kytkimiin sekä palvelusolmuja sisältävään palvelintelineeseen.
  • Asiakaspalvelin Archirakenne: Se on arkkitehtuurimalli, jossa asiakas (yksi ohjelma) pyytää palvelua palvelimelta (toinen ohjelma) eli Se on Internetin tai intranetin kautta tarjottava pyyntö-vastauspalvelu. 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 käyttöliittymän loppukäyttäjälle, jolla hän voi pyytää palvelua tai resurssia palvelimelta, ja toisaalta palvelin käsittelee pyynnön ja näyttää tuloksen loppukäyttäjälle.
    • Esimerkki asiakas-palvelinmallista – pankkiautomaatti. Pankki on palvelin hakemusten käsittelyyn suurten asiakastietokantojen sisällä ja pankkiautomaatti on asiakas, jolla on käyttöliittymä jollakin yksinkertaisella sovelluskäsittelyllä.
  • Platform: Tietojenkäsittelytieteessä tai ohjelmistoteollisuudessa alusta on järjestelmä, jolla sovellusohjelma voi toimia. Se koostuu yhdistelmästä laitteistoja ja ohjelmistoja, joissa on sisäänrakennettu ohje suorittimille/mikroprosessoreille suorittaa tiettyjä toimintoja.
    • Yksinkertaisemmin sanottuna alusta on järjestelmä tai tukikohta, jossa mitä tahansa sovelluksia voidaan suorittaa ja suorittaa tietyn tehtävän saavuttamiseksi.
    • 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 yleisiä Db:itä.

N-tason tyypit Architektuurit

N-tasoja on erilaisia Architektuurit, kuten 3-tason Archirakenne, 2-tasoinen Architecture ja 1- Tier 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 opiskelijamuodosta ymmärtääksemme kaikki nämä kolme kerrosta. Siinä on tietoja opiskelijasta, kuten nimi, osoite, sähköpostiosoite ja kuva.

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

Koodin selitys

  • Yllä oleva koodi määrittelee sovellusten etupäänäkymän perussuunnittelun sekä muiden kerrosten toimintojen 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 Client-kerroksen ja Data Access Layerin välillä
  • Kaikki liiketoimintalogiikka – kuten tietojen validointi, laskelmat, tietojen lisääminen/muokkaus – kirjoitetaan liiketoimintalogiikkakerroksen alle.
  • Se nopeuttaa ja helpottaa viestintää asiakkaan ja tietokerroksen 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 toimintoa, joka hyväksyy sovelluskerroksen tiedot ja välittää ne tietokerrokseen. Business-kerroksen koodit toimivat välittäjänä esityskerroksessa ja tietokerroksessa määriteltyjen funktioiden välillä ja kutsuvat toimintoja 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ä oleva tietojoukkokerroksen määrittelemä koodi hyväksyy koko pyynnön: järjestelmän pyytämä ja tarvittavat toiminnot tietokantaan suorittava.

2-Tier Archirakenne

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

Tämän tyyppisessä ohjelmistoarkkitehtuurissa esityskerros tai käyttöliittymäkerros toimii asiakaspuolella, kun taas tietojoukkokerros suoritetaan ja tallennetaan palvelinpuolelle.

Asiakkaan ja palvelimen välillä ei ole liiketoimintalogiikkakerrosta tai välitöntä kerrosta.

Yksitasoinen tai 1-tasoinen Archirakenne

Se on yksinkertaisin, koska se vastaa sovelluksen suorittamista henkilökohtaisessa tietokoneessa. Kaikki sovelluksen suorittamiseen vaadittavat komponentit ovat yhdessä sovelluksessa tai palvelimessa.

Esityskerros, liiketoimintalogiikkakerros ja tietokerros sijaitsevat kaikki yhdessä koneessa.

Monitasoisen edut ja haitat Architektuurit

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 ohjelmistoammattilaisilla on oltava täysi hallinta arkkitehtuurin kaikissa kerroksissa, n-tason arkkitehtuuria koskevia vinkkejä annetaan alla.

  1. Yritä irrottaa kerrokset toisesta kerroksesta mahdollisimman paljon käyttämällä tekniikkaa, kuten saippua XML.
  2. Käytä joitain automaattisia työkaluja luomaan kartoitus liiketoimintalogiikkakerroksen ja relaatiotietokantakerroksen (tietokerroksen) välille. Työkaluja, jotka voivat auttaa näiden kartoitustekniikoiden mallintamisessa, ovat – Entity Framework ja Hibernate for .Net jne.
  3. Laita asiakkaan esittäjätasolle yhteinen koodi kaikille asiakkaille erilliseen kirjastoon niin paljon kuin mahdollista. Tämä maksimoi koodin uudelleenkäytettävyyden kaikentyyppisille asiakkaille.
  4. Välimuistikerros voidaan lisätä olemassa olevaan tasoon suorituskyvyn nopeuttamiseksi.

Yhteenveto

N-tason arkkitehtuuri auttaa hallitsemaan kaikkia sovelluksen komponentteja (liiketoimintakerros, esityskerros ja tietokantakerros) saman katon alla.

Sovellukset, jotka käyttävät pieniä määriä käyttäjiä lähiverkossa, voivat hyötyä n-tason arkkitehtuurista.

Tällainen arkkitehtoninen suunnittelu varmistaa Internet-sovelluksen tehokkaan ylläpidon, skaalaamisen ja käyttöönoton.