N razina (više razina), 3 razine, 2 razine Architektura s PRIMJEROM
Što je N-Tier?
An N-Tier aplikacija program je onaj koji je distribuiran između tri ili više odvojenih računala u distribuiranoj mreži.
Najčešći oblik n-sloja je 3-slojna aplikacija, a klasificira se u tri kategorije.
- Programiranje korisničkog sučelja u korisničkom računalu
- Poslovna logika u više centraliziranom računalu, i
- Potrebni podaci u računalu koje upravlja bazom podataka.
Ovaj model arhitekture omogućuje razvojnim programerima softvera stvaranje aplikacija/sustava za višekratnu upotrebu s maksimalnom fleksibilnošću.
In N-sloj, "N" odnosi se na niz razina ili slojeva koji se koriste kao što su – 2-slojna, 3-slojna ili 4-slojna, itd. Također se naziva "Višeslojni Architekstura”.
N-slojna arhitektura je model softverske arhitekture dokazan u industriji. Pogodan je za podršku aplikacijama klijent-poslužitelj na razini poduzeća pružajući rješenja za skalabilnost, sigurnost, toleranciju na pogreške, mogućnost ponovne upotrebe i održavanje. Pomaže programerima u stvaranju fleksibilnih aplikacija koje se mogu ponovno koristiti.
N-razina Architektura
Dijagramski prikaz n-slojnog sustava prikazuje ovdje – slojeve prezentacije, aplikacije i baze podataka.
Ova tri sloja mogu se dalje podijeliti u različite podslojeve ovisno o zahtjevima.
Neka od popularnih mjesta koja su primijenila ovu arhitekturu su
- MakeMyTrip.com
- Aplikacija Sales Force za poduzeća
- Indijske željeznice – IRCTC
- Amazon.com itd.
Neki uobičajeni izrazi koje treba zapamtiti kako biste jasnije razumjeli koncept.
- Distribuirana mreža: To je mrežna arhitektura, gdje komponente smještene na mrežnim računalima koordiniraju i komuniciraju svoje akcije samo prosljeđivanjem poruka. To je skup višestrukih sustava smještenih na različitim čvorovima, ali se korisniku čini kao jedan sustav.
- Omogućuje jedinstvenu podatkovnu komunikacijsku mrežu kojom se može upravljati odvojeno od strane različitih mreža.
- Primjer distribuirane mreže – gdje su različiti klijenti povezani unutar LAN arhitekture s jedne strane, a s druge strane su spojeni na preklopnike velike brzine zajedno s nizom poslužitelja koji sadrže servisne čvorove.
- Klijent-poslužitelj Architekstura: To je model arhitekture gdje klijent (jedan program) zahtijeva uslugu od poslužitelja (drugi program) tj. To je usluga zahtjeva-odgovora koja se pruža putem interneta ili putem intraneta. U ovom modelu, Klijent služit će kao jedan skup programa/koda koji izvršava skup akcija preko mreže. Dok Server, s druge strane, je skup drugog programa, koji šalje skupove rezultata klijentskom sustavu prema zahtjevu.
- U ovom slučaju, klijentsko računalo pruža sučelje krajnjem korisniku za traženje usluge ili resursa od poslužitelja, a s druge strane poslužitelj zatim obrađuje zahtjev i prikazuje rezultat krajnjem korisniku.
- Primjer modela klijent-poslužitelj – bankomat. Banka je poslužitelj za obradu aplikacija unutar velikih baza podataka o klijentima, a bankomat je klijent koji ima korisničko sučelje s jednostavnom obradom aplikacija.
- Platforma: U informatičkoj ili softverskoj industriji, platforma je sustav na kojem se može izvoditi aplikacijski program. Sastoji se od kombinacije hardvera i softvera koji imaju ugrađene upute za procesore/mikroprocesore za izvođenje određenih operacija.
- Jednostavnije rečeno, platforma je sustav ili baza na kojoj se mogu pokretati i izvršavati bilo koje aplikacije za postizanje određenog zadatka.
- Primjer platforme – osobni stroj napunjen sa Windows 2000 ili Mac OS X kao primjeri 2 različite platforme.
- Baza podataka: To je zbirka informacija na organiziran način tako da im se može lako pristupiti, upravljati i ažurirati.
- Primjeri baze podataka – MySQL, SQL Poslužitelj i Oracle Database su neki uobičajeni Db-ovi.
Vrste N-slojeva Architekture
Postoje različite vrste N-Tier Architeksture, poput 3-slojna Architekstura, 2 razine Architektura i 1- Tier Architektura.
Prvo ćemo vidjeti 3 razine Architekstura, što je vrlo važno.
3-razina Architektura
Gledajući donji dijagram, to možete lako prepoznati 3-slojna arhitektura ima tri različita sloja.
- Prezentacijski sloj
- Sloj poslovne logike
- Sloj baze podataka
Ovdje smo uzeli jednostavan primjer studentskog obrasca kako bismo razumjeli sva ova tri sloja. Sadrži informacije o učeniku kao što su - ime, adresa, e-mail i slika.
Sloj korisničkog sučelja ili sloj prezentacije
Sloj prezentacije
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();
Objašnjenje koda
- Gornji kod definira osnovno dizajniranje prednjeg pogleda aplikacija kao i pozivanje funkcija drugih slojeva tako da se mogu međusobno integrirati.
Sloj poslovnog pristupa –
Ovo je funkcija poslovnog sloja koji prihvaća podatke iz aplikacijskog sloja i prosljeđuje ih podatkovnom sloju.
- Poslovna logika djeluje kao sučelje između sloja klijenta i sloja pristupa podacima
- Sva poslovna logika – poput provjere valjanosti podataka, izračuna, umetanja/izmjene podataka zapisana je u sloju poslovne logike.
- Čini komunikaciju bržom i lakšom između klijenta i podatkovnog sloja
- Definira odgovarajuću aktivnost tijeka rada koja je neophodna za dovršenje zadatka.
// 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; } }
Objašnjenje koda
Kod koristi funkciju poslovnog sloja, koji će prihvatiti podatke za aplikacijski sloj i proslijediti ih podatkovnom sloju. Kodovi poslovnog sloja djeluju kao posrednici između funkcija definiranih u prezentacijskom sloju i podatkovnom sloju i pozivanja funkcija obrnuto.
Sloj pristupa podacima
Ovo je funkcija podatkovnog sloja, koja prima podatke iz poslovnog sloja i izvodi potrebne operacije u bazi podataka.
// 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; } }
Objašnjenje koda
Kod definiran u gornjem sloju skupa podataka prihvaća cijeli zahtjev: koji zahtijeva sustav i izvođenje potrebnih operacija u bazi podataka.
2-razina Architektura
To je poput arhitekture klijent-poslužitelj, gdje se komunikacija odvija između klijenta i poslužitelja.
U ovoj vrsti softverske arhitekture, prezentacijski sloj ili sloj korisničkog sučelja radi na strani klijenta, dok se sloj skupa podataka izvršava i pohranjuje na strani poslužitelja.
Ne postoji sloj poslovne logike ili neposredni sloj između klijenta i poslužitelja.
Jedna razina ili 1 razina Architektura
To je najjednostavniji jer je ekvivalentan pokretanju aplikacije na osobnom računalu. Sve potrebne komponente za pokretanje aplikacije nalaze se na jednoj aplikaciji ili poslužitelju.
Prezentacijski sloj, sloj poslovne logike i podatkovni sloj nalaze se na jednom stroju.
Prednosti i nedostaci višeslojnog sustava Architekture
Prednosti | Nedostaci |
---|---|
skalabilnost | Povećanje napora |
Datum Integrity | Povećanje složenosti |
Reus Sposobnost | |
Smanjena distribucija | |
Poboljšana sigurnost | |
Poboljšana dostupnost |
Stoga je to dio programa koji šifrira poslovne probleme u stvarnom svijetu i određuje kako se podaci mogu ažurirati, kreirati, pohraniti ili promijeniti da bi se obavio kompletan zadatak.
N-razina Architecture Savjeti i razvoj
S obzirom da softverski stručnjaci moraju imati potpunu kontrolu nad svim slojevima arhitekture, savjeti o n-slojnoj arhitekturi dani su u nastavku
- Pokušajte razdvojiti slojeve od drugog sloja što je više moguće koristeći tehniku kao što je soap XML.
- Upotrijebite neke automatizirane alate za generiranje preslikavanja između sloja poslovne logike i sloja relacijske baze podataka (sloj podataka). Alati koji mogu pomoći u modeliranju ovih tehnika mapiranja su – Entity Framework i Hibernate for .Net itd.
- U sloju predstavljača klijenta, stavite zajednički kod za sve klijente u zasebnu biblioteku što je više moguće. Ovo će povećati mogućnost ponovne upotrebe koda za sve vrste klijenata.
- Sloj predmemorije može se dodati u postojeći sloj kako bi se ubrzala izvedba.
rezime
N-slojna arhitektura pomaže u upravljanju svim komponentama (poslovni sloj, prezentacijski sloj i sloj baze podataka) aplikacije pod jednim krovom.
Aplikacije koje koriste mali broj korisnika na lokalnoj mreži mogu imati koristi od n-slojne arhitekture.
Takav arhitektonski dizajn osigurava učinkovito održavanje, povećanje i implementaciju aplikacije na internetu.