N Tier (Multi-Tier), 3-Tier, 2-Tier Architecture cu EXEMPLU

Cuprins:

Anonim

Ce este N-Tier?

Un program de aplicații N-Tier este unul care este distribuit între trei sau mai multe computere separate într-o rețea distribuită.

Cea mai comună formă de n-nivel este Aplicația cu 3 niveluri și este clasificată în trei categorii.

  • Programarea interfeței utilizatorului în computerul utilizatorului
  • Logica afacerii într - un computer mai centralizat și
  • Date necesare într-un computer care gestionează o bază de date.

Acest model de arhitectură oferă dezvoltatorilor de software pentru a crea aplicații / sisteme reutilizabile cu flexibilitate maximă.

In N-tier, "N" se referă la o serie de niveluri sau straturi sunt folosite ca și - 2 niveluri, 3 niveluri sau 4 niveluri, etc . Se mai numește „ Arhitectură multi-nivel” .

Arhitectura n-tier 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 pentru scalabilitate, securitate, toleranță la erori, reutilizare și mentenabilitate. Ajută dezvoltatorii să creeze aplicații flexibile și reutilizabile.

În acest tutorial, veți învăța-

  • Ce este N-Tier?
  • N-Tier Architecture
  • Tipuri de arhitecturi N-Tier
    • Arhitectură pe 3 niveluri
    • Arhitectură pe 2 niveluri
    • Arhitectură cu un singur nivel sau cu 1 nivel
  • Avantajele și dezavantajele arhitecturilor pe mai multe niveluri
  • Sfaturi și dezvoltare pentru arhitectura N-Tier

N-Tier Architecture

O reprezentare schematică a unui sistem n-tier descrie aici - straturi de prezentare, aplicație și bază de date.

Diagrama arhitecturii N Tier

Aceste trei straturi pot fi subdivizate în mai multe substraturi diferite, în funcție de cerințe.

Unele dintre site-urile populare care au aplicat această arhitectură sunt

  • MakeMyTrip.com
  • Aplicație pentru întreprindere Sales Force
  • Căile Ferate Indiene - IRCTC
  • Amazon.com etc.

Câțiva termeni obișnuiți de reținut, pentru a înțelege conceptul mai clar.

  • Rețea distribuită: este o arhitectură de rețea, în care componentele situate la computerele din rețea își coordonează și își comunică acțiunile numai prin transmiterea mesajelor. Este o colecție de sisteme multiple situate la noduri diferite, dar apare utilizatorului ca un sistem unic.
    • 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ă - unde clienți diferiți sunt conectați în arhitectura LAN pe o parte și pe cealaltă parte sunt conectați la comutatoare de mare viteză împreună cu un rack de servere care conțin noduri de serviciu.
  • Arhitectura client-server: este un model de arhitectură în care clientul (un program) solicită un serviciu de la un server (un alt program), adică este un serviciu de solicitare-răspuns furnizat prin internet sau printr-un intranet.

    În acest model, Clientul va servi ca un set de programe / cod care execută un set de acțiuni prin rețea. În timp ce Server , pe de altă parte, este un set de alt program, care trimite seturile de rezultate către sistemul client, după cum este solicitat.

    • În aceasta, computerul client oferă o interfață către un utilizator final pentru a solicita un serviciu sau o resursă de la un server, iar pe de altă parte serverul apoi procesează 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 ale clienților, iar bancomat este clientul care are o interfață cu utilizatorul cu o simplă procesare a aplicației.
  • Platformă: în domeniul informaticii sau al industriei software, o platformă este un sistem pe care poate rula programul de aplicații. Acesta constă dintr-o combinație de hardware și software care au o instrucțiune încorporată pentru ca procesoarele / microprocesoarele să efectueze operațiuni specifice.
    • În 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.
  • Baza de date: este o colecție de informații într-un mod organizat, astfel încât să poată fi accesată, gestionată și actualizată cu ușurință.
    • Exemple de baze de date - MySQL, SQL Server și baza de date Oracle sunt câteva baze de date obișnuite.

Tipuri de arhitecturi N-Tier

Există diferite tipuri de arhitecturi N-Tier, cum ar fi Arhitectura pe 3 niveluri, Arhitectura pe 2 niveluri și Arhitectura pe 1 nivel.

În primul rând, vom vedea Arhitectura pe 3 niveluri, care este foarte importantă.

Arhitectură pe 3 niveluri

Privind diagrama de mai jos, puteți identifica cu ușurință că arhitectura pe 3 niveluri are trei straturi diferite.

  • Stratul de prezentare
  • Stratul Logică de afaceri
  • Stratul bazei de date

Diagrama arhitecturii cu 3 niveluri

Aici am luat un exemplu simplu de formă a elevilor pentru a înțelege toate aceste trei straturi. Are informații despre un student precum - Nume, Adresă, E-mail și Imagine.

User Interface Layer sau Presentation Layer

Strat de prezentare

private void DataGrid1_SelectedIndexChanged(object sender, System.EventArgs e){// Object of the Property layerclsStudent objproperty=new clsStudent();// Object of the business layerclsStudentInfo objbs=new clsStudentInfo();// Object of the dataset in which we receive the data sent by the business layerDataSet ds=new DataSet();// here we are placing the value in the property using the object of the//property layerobjproperty.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 vederi front-end a aplicațiilor, precum și apelarea funcțiilor altor straturi, astfel încât acestea să poată fi integrate între ele.

Strat de acces pentru 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 nivelul de acces la date
  • Toate logica de afaceri - cum ar fi validarea datelor, calculele, inserarea / modificarea datelor sunt scrise sub stratul de logică de afaceri.
  • Face comunicarea mai rapidă și mai ușoară între client și stratul de date
  • Definește o activitate adecvată a fluxului de lucru 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 functionreturn ds;}}

Explicația codului

Codul folosește funcția de strat de afaceri, care va accepta datele pentru stratul de aplicație și le va trece la stratul de date. Codurile stratului Business acționează ca un mediator între funcțiile definite în stratul de prezentare și stratul de date și apelează funcțiile viceversa.

Strat de acces la date

Aceasta este funcția stratului de date, care primește datele din 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 databasepublic class clsStudentData // Data layer class{// object of property layer classpublic 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 operationds=objdt.ExecuteSql(sql);return ds;}}

Explicația codului

Codul definit în stratul de set de date de mai sus acceptă întreaga solicitare: solicitată de sistem și efectuarea operațiunilor necesare în baza de date.

Arhitectură pe 2 niveluri:

Este ca arhitectura Client-Server, unde 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 de client, în timp ce stratul de set de date este executat și stocat pe partea de server.

Nu există un strat de logică de afaceri sau un strat imediat între client și server.

Arhitectură cu un singur nivel sau cu 1 nivel:

Este cel mai simplu, deoarece echivalează cu rularea aplicației pe computerul personal. Toate componentele necesare pentru executarea unei aplicații se află pe o singură aplicație sau server.

Stratul de prezentare, stratul de logică de afaceri și stratul de date sunt toate amplasate pe o singură mașină.

Avantajele și dezavantajele arhitecturilor pe mai multe niveluri

Avantaje

Dezavantaje

  • Scalabilitate
  • Creșterea efortului
  • Integritatea datelor
  • Creșterea complexității
  • Reutilizarea
  • 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ă.

Sfaturi și dezvoltare pentru arhitectura N-Tier

Având în vedere că profesioniștii în software trebuie să aibă un control deplin asupra tuturor straturilor arhitecturii, sfaturile despre arhitectura n-tier sunt date mai jos

  1. Încercați să decuplați straturile de alt strat cât mai mult posibil folosind o tehnică precum săpun XML.
  2. Utilizați câteva instrumente automatizate pentru a genera o mapare între un strat de logică de afaceri și un strat de bază de date relațională (strat de date). Instrumentele care pot ajuta la modelarea acestor tehnici de cartografiere sunt - Entity Framework și Hibernate pentru .Net etc.
  3. În stratul de prezentator client, puneți un cod comun pentru toți clienții într-o bibliotecă separată cât mai mult posibil. Acest lucru va maximiza reutilizarea codului pentru toate tipurile de clienți.
  4. Un strat cache poate fi adăugat într-un strat existent pentru a accelera performanța.

Rezumat:

Arhitectura de nivel N ajută la gestionarea tuturor componentelor (stratul de afaceri, stratul de prezentare și stratul de baze de date) ale unei aplicații sub un singur acoperiș.

Aplicațiile care utilizează un număr mic de utilizatori pe o rețea locală pot beneficia de arhitectura de niveluri.

Un astfel de design arhitectural constată menținerea, extinderea și implementarea eficientă a unei aplicații pe Internet.