Cunoștințe, prelegeri, caracteristici arhitecturale ale proiectării și dezvoltării aplicațiilor web

5.1.5. Clientul-server "multi-nivel"

Arhitectura Layered este un client-server (arhitectura multinivel) - un fel de arhitectura client-server, în care funcțiile de prelucrare a datelor sunt realizate pe unul sau mai multe servere separate [15]. Aceasta vă permite să împărțiți funcțiile de stocare, procesare și prezentare a datelor pentru a utiliza mai eficient capacitățile serverelor și clienților.







arhitectura pe trei nivele este cel mai frecvent la client-server arhitectura multi-nivel (arhitectura pe trei niveluri trei niveluri.), presupunând că următoarele componente ale aplicației: aplicația client (de obicei spun „thin client“ sau un terminal) conectat la serverul de aplicație. care la rândul său este conectat la serverul de baze de date [14. 17].

Schematic, o astfel de arhitectură poate fi reprezentată, așa cum se arată în Fig. 5.4.


Fig. 5.4. Prezentarea unei arhitecturi "client-server" pe mai multe niveluri

În cea mai simplă configurație, serverul de aplicații poate fi combinat fizic cu serverul bazei de date pe un computer la care unul sau mai multe terminale sunt conectate prin rețea.

„Dreptul“ (în termeni de securitate, fiabilitate, scalabilitate) configurare a serverului de baze de date este pe un calculator dedicat (sau cluster-ului), la care sunt conectate printr-o rețea, unul sau mai multe servere de aplicații. la care, la rândul său, terminalele sunt conectate prin rețea.

  • software-ul client nu are nevoie de administrare;
  • scalabilitate;
  • configurabilitate - niveluri de izolare de la fiecare alte permite mijloace rapide și simple pentru a reconfigura sistemul atunci când o defecțiune sau întreținere programată pe unul dintre nivelurile;
  • securitate ridicată;
  • fiabilitate ridicată;
  • cerințe scăzute pentru viteza canalului (rețea) între terminale și serverul de aplicații;
  • cerințe scăzute privind performanța și caracteristicile tehnice ale terminalelor. ca o consecință, o scădere a valorii acestora.
  • complexitatea părții serverului crește și, ca o consecință, costurile de administrare și întreținere;
  • complexitatea mai mare a creării de aplicații;
  • Este mai dificil să se desfășoare și să se administreze;
  • Cerințe ridicate pentru performanța serverelor de aplicații și a serverelor de baze de date. și, prin urmare, costul ridicat al echipamentului de servere;
  • cerințe ridicate pentru viteza canalului (rețea) între serverul de bază de date și serverele de aplicații.
  1. reprezentare;
  2. Nivelul de prezentare;
  3. Nivelul logicii;
  4. Nivelul datelor;
  5. Date.


Fig. 5.5. Cinci nivele de arhitectură multi-nivel "client-server"

Vizualizarea include toate informațiile afișate direct utilizatorului: pagini html generate, foi de stil, imagini.

Stratul de prezentare acoperă tot ceea ce este relevant pentru comunicarea utilizatorului cu sistemul. Principalele funcții ale stratului de prezentare includ afișarea informațiilor și interpretarea comenzilor de intrare ale utilizatorilor, transformarea acestora în operațiuni corespunzătoare în contextul logicii și al datelor.







Nivelul logicii conține funcțiile de bază ale sistemului, concepute pentru a atinge obiectivul stabilit înaintea acestuia. Astfel de funcții includ calcule bazate pe datele de intrare și stocate, verificarea tuturor elementelor de date și procesarea comenzilor provenite de la stratul de prezentare, precum și transmiterea datelor către stratul de date.

Nivelul de acces la date este un subset de funcții care asigură interacțiunea cu sistemele terților care execută sarcini în interesul aplicației.

Aceste sisteme sunt de obicei stocate într-o bază de date.

5.1.6. Arhitectura sistemelor distribuite

Acest tip de sistem este mult mai complex din punct de vedere al organizării sistemului. Esența sistemului distribuit este de a stoca copii locale ale datelor importante [19].

Schematic, o astfel de arhitectură poate fi reprezentată, așa cum se arată în Fig. 5.6.


Fig. 5.6. Arhitectura sistemelor distribuite

Mai mult de 95% din datele utilizate în desfășurarea activității, poate fi plasat pe un singur calculator personal, oferind posibilitatea de funcționare independentă [16]. Corecțiile de flux și completările generate de acest calculator, este neglijabilă în comparație cu cantitatea de date utilizate în acest caz. Prin urmare, în cazul în care datele stocate sunt folosite în mod continuu proprii de calculatoare și de a organiza un schimb între corecții și adăugiri la datele stocate, traficul total a trimis brusc mai mici. Acest lucru face posibil pentru a reduce cerințele pentru canalele de comunicare între calculatoare și de a folosi comunicarea asincronă mai frecvent, creând astfel o buna funcționare a sistemelor informatice distribuite sunt folosite pentru a lega elementele individuale ale unei conexiuni instabile, cum ar fi Internetul, comunicațiile mobile, canale prin satelit comerciale. O reducere la minimum a traficului între elementele pentru a face un cost accesibil de funcționare a unui astfel de conexiune. Desigur, punerea în aplicare a unui astfel de sistem nu este elementar, și necesită o serie de provocări, dintre care unul de sincronizare a datelor în timp util.

Fiecare stație de lucru este independentă, conține doar informațiile cu care ar trebui să funcționeze și actualitatea datelor în întregul sistem este asigurată de schimbul continuu de mesaje cu alte stații de lucru. Schimbul de mesaje între ARM-uri poate fi implementat în mai multe moduri, de la trimiterea de date prin e-mail la transferul de date prin rețele.

Un alt avantaj al unui astfel de sistem de funcționare și al arhitecturii sistemului îl constituie posibilitatea de a răspunde personal pentru siguranța datelor. Deoarece datele disponibile la locul de muncă specifice, sunt numai pe acest computer, folosind criptare și dongle personale excluse accesul la date din exterior, inclusiv administratorii IT.

Această arhitectură de sistem permite de asemenea calculul distribuit între mașinile client. De exemplu, calcularea unei sarcini care necesită mai mult de calcul poate fi distribuit între ARMami învecinate, deoarece acestea tind să aibă o informație în baza sa de date și de a obține performanță maximă a sistemului, astfel.

Sisteme distribuite cu replicare

Date între diferite stații de lucru și un depozit centralizat de date. sunt transmise prin replicare [19] (Figura 5.7). Când introduceți informații pe stațiile de lucru - datele sunt, de asemenea, scrise în baza de date locală și numai apoi sincronizate.


Fig. 5.7. Arhitectura sistemelor distribuite cu replicare

Sisteme distribuite cu elemente de execuție de la distanță

Există anumite caracteristici care nu pot fi realizate pe un sistem distribuit standard de tip replicativ. Aceste caracteristici includ [19]:

  • utilizarea datelor de la entități stocate pe un server la distanță (nod);
  • utilizarea datelor în parte de entități stocate pe servere separate (noduri);
  • utilizați funcționalități separate pe un server dedicat (nod).

Fiecare dintre tipurile de mai sus au un principiu comun: programul client sau se întoarce la selecție (la distanță) server sau direct se referă la baza de date locală, care încapsulează apelul la serverul la distanță (vezi Figura 5.8.).


Fig. 5.8. Arhitectura sistemelor distribuite cu execuție de la distanță







Trimiteți-le prietenilor: