N Tier (Multi-Tier), 3-Tier, 2-Tier Architectura cu EXEMPLU
Ce este N-Tier?
An Aplicație N-Tier programul este unul care este distribuit între trei sau mai multe computere separate dintr-o rețea distribuită.
Cea mai comună formă de n-tier este aplicația cu 3 niveluri și este clasificată în trei categorii.
- Programarea interfeței utilizator în computerul utilizatorului
- Logica de afaceri într-un computer mai centralizat și
- Datele necesare într-un computer care gestionează o bază de date.
Acest model de arhitectură oferă dezvoltatorilor de software să creeze aplicații/sisteme reutilizabile cu flexibilitate maximă.
In Nivelul N, „N” se referă la un număr de niveluri sau straturi care sunt utilizate, cum ar fi – 2 niveluri, 3 niveluri sau 4 niveluri etc. Se mai numește și „Multi-nivel Architectură”.
Arhitectura pe n niveluri este un model de arhitectură software dovedit în industrie. Este potrivit pentru a sprijini aplicațiile client-server la nivel de întreprindere, oferind soluții de scalabilitate, securitate, toleranță la erori, reutilizare și întreținere. Ajută dezvoltatorii să creeze aplicații flexibile și reutilizabile.
N-Tier Architectură
O reprezentare schematică a unui sistem cu n niveluri ilustrează aici – straturi de prezentare, aplicație și bază de date.
Aceste trei straturi pot fi mai departe subdivizate în diferite sub-straturi în funcție de cerințe.
Unele dintre site-urile populare care au aplicat această arhitectură sunt
- MakeMyTrip.com
- Aplicație pentru întreprinderi Sales Force
- Căile Ferate Indiene – IRCTC
- Amazon.com, etc.
Câțiva termeni comuni de reținut, pentru a înțelege mai clar conceptul.
- Rețea distribuită: Este o arhitectură de rețea, în care componentele situate la calculatoarele din rețea își coordonează și își comunică acțiunile doar prin transmiterea de mesaje. Este o colecție de mai multe sisteme situate la noduri diferite, dar apare utilizatorului ca un singur sistem.
- Oferă o singură rețea de comunicații de date care poate fi gestionată separat de diferite rețele.
- Un exemplu de rețea distribuită – în care diferiți clienți sunt conectați în arhitectura LAN pe de o parte și pe de altă parte sunt conectați la switch-uri de mare viteză împreună cu un rack de servere care conțin noduri de serviciu.
- Client server Architectura: Este un model de arhitectură în care clientul (un program) solicită un serviciu de la un server (alt program) de exemplu Este un serviciu cerere-răspuns furnizat prin internet sau printr-un intranet. În acest model, Client va servi ca un set de program/cod care execută un set de acțiuni în rețea. In timp ce server de, pe de altă parte, este un set al unui alt program, care trimite seturile de rezultate către sistemul client așa cum este solicitat.
- În aceasta, computerul client oferă o interfață unui utilizator final pentru a solicita un serviciu sau o resursă de la un server și, pe de altă parte, serverul procesează apoi cererea și afișează rezultatul utilizatorului final.
- Un exemplu de model client-server – un bancomat. O bancă este serverul pentru procesarea aplicației în bazele de date mari de clienți, iar ATM-ul este clientul care are o interfață cu utilizatorul cu o procesare simplă a aplicației.
- Platformă: În informatică sau industria software, o platformă este un sistem pe care poate rula un program de aplicații. Constă dintr-o combinație de hardware și software care au o instrucțiune încorporată pentru un procesor/microprocesor pentru a efectua operațiuni specifice.
- Cu cuvinte mai simple, platforma este un sistem sau o bază în care orice aplicație poate rula și executa pentru a obține o anumită sarcină.
- Un exemplu de Platformă – O mașină personală încărcată cu Windows 2000 sau Mac OS X ca exemple de 2 platforme diferite.
- Bază de date: Este o colecție de informații într-un mod organizat, astfel încât să poată fi ușor accesată, gestionată și actualizată.
- Exemple de baze de date - MySQL, SQL Server, și Oracle Database sunt niște Db-uri comune.
Tipuri de N-Tier Architecturi
Există diferite tipuri de N-Tier Architecturi, cum ar fi Pe 3 niveluri Architectură, 2-Tier Architectură și 1- Tier Architectură.
În primul rând, vom vedea trei niveluri Architectură, care este foarte importantă.
3 nivele Architectură
Privind diagrama de mai jos, puteți identifica cu ușurință asta Arhitectură pe 3 niveluri are trei straturi diferite.
- Stratul de prezentare
- Stratul de logică de afaceri
- Stratul bazei de date
Aici am luat un exemplu simplu de formă de student pentru a înțelege toate aceste trei straturi. Conține informații despre un student, cum ar fi – Nume, Adresă, E-mail și Imagine.
Stratul de interfață cu utilizatorul sau Stratul de prezentare
Strat de prezentare
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();
Explicarea codului
- Codul de mai sus definește proiectarea de bază a unei vizualizări frontale a aplicațiilor, precum și apelarea funcțiilor altor straturi, astfel încât acestea să poată fi integrate între ele.
Stratul de acces la afaceri –
Aceasta este funcția stratului de afaceri care acceptă datele din stratul de aplicație și le transmite stratului de date.
- Logica de afaceri acționează ca o interfață între stratul client și stratul de acces la date
- Toată logica de afaceri - cum ar fi validarea datelor, calculele, inserarea/modificarea datelor sunt scrise sub nivelul logicii de afaceri.
- Face comunicarea mai rapidă și mai ușoară între client și stratul de date
- Definește o activitate de flux de lucru adecvată care este necesară pentru a finaliza o sarcină.
// 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; } }
Explicația codului
Codul folosește funcția de nivel de afaceri, care va accepta datele pentru stratul de aplicație și le va transmite stratului de date. Codurile stratului de afaceri acționează ca un mediator între funcțiile definite în stratul de prezentare și stratul de date și apelează funcțiile invers.
Stratul de acces la date
Aceasta este funcția stratului de date, care primește datele de la stratul de afaceri și efectuează operația necesară în baza de date.
// 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; } }
Explicația codului
Codul definit în setul de date de mai sus acceptă întreaga solicitare: solicitată de sistem și efectuând operațiunile necesare în baza de date.
2 nivele Architectură
Este ca arhitectura Client-Server, în care comunicarea are loc între client și server.
În acest tip de arhitectură software, stratul de prezentare sau stratul de interfață cu utilizatorul rulează pe partea clientului, în timp ce stratul set de date este executat și stocat pe partea serverului.
Nu există un nivel de logică de afaceri sau un strat imediat între client și server.
Un singur nivel sau 1-nivel Architectură
Este cel mai simplu, deoarece echivalează cu rularea aplicației pe computerul personal. Toate componentele necesare pentru ca o aplicație să ruleze sunt pe o singură aplicație sau server.
Stratul de prezentare, stratul logic de afaceri și stratul de date sunt toate situate pe o singură mașină.
Avantajele și dezavantajele Multi-Tier Architecturi
Avantaje | Dezavantaje |
---|---|
scalabilitate | Creșterea efortului |
Date Integrity | Creșterea complexității |
Abilitatea de Reus | |
Distribuție redusă | |
Securitate îmbunătățită | |
Disponibilitate îmbunătățită |
Prin urmare, este o parte a unui program care criptează problemele de afaceri din lumea reală și determină modul în care datele pot fi actualizate, create, stocate sau modificate pentru a finaliza sarcina completă.
N-Tier ArchiSfaturi de tectură și dezvoltare
Având în vedere că profesioniștii în software trebuie să aibă un control deplin asupra tuturor straturilor arhitecturii, sfaturi despre arhitectura n-tier sunt oferite mai jos
- Încercați să decuplați straturile de un alt strat cât mai mult posibil, folosind o tehnică precum soap XML.
- Utilizați unele instrumente automate pentru a genera o mapare între un strat de logică de afaceri și un strat de baze de date relaționale (stratul de date). Instrumentele care pot ajuta la modelarea acestor tehnici de mapare sunt – Entity Framework și Hibernate pentru .Net etc.
- În stratul de prezentator client, puneți cât mai mult posibil un cod comun pentru toți clienții într-o bibliotecă separată. Acest lucru va maximiza reutilizarea codului pentru toate tipurile de clienți.
- Un strat de cache poate fi adăugat într-un strat existent pentru a accelera performanța.
Rezumat
Arhitectura N-tier ajută la gestionarea tuturor componentelor (stratul de afaceri, stratul de prezentare și stratul de bază de date) ale unei aplicații sub un singur acoperiș.
Aplicațiile care utilizează un număr mic de utilizatori într-o rețea locală pot beneficia de arhitectura n-tier.
Un astfel de design arhitectural asigură menținerea, extinderea și implementarea eficientă a unei aplicații pe Internet.