Ce este arhitectura multinivel?

În calcul, „arhitectura cu mai multe niveluri” este un termen aplicat unui aranjament de componente sau software în care diferitele funcții necesare pentru a finaliza o operațiune sunt segmentate în diviziuni fizice sau logice separate. Fiecare dintre segmentele arhitecturii mai mari este responsabilă pentru îndeplinirea doar a unui anumit tip de sarcină și în mare parte nu este conștient de funcționarea internă a segmentelor din jur care îndeplinesc sarcini diferite. Cele mai comune și cele mai de bază diviziuni utilizate în arhitectura multinivel sunt nivelurile de prezentare, logica și date. Prezentarea este responsabilă doar pentru afișarea informațiilor unui utilizator, iar nivelul de date este responsabil doar pentru stocarea sau preluarea datelor, în timp ce nivelul logic le face legătura între cele două, aplicând logica programului la intrarea utilizatorului din prezentare și dând sens informațiilor din nivelul de date. . Sistemele de calculatoare mari folosesc arhitectura cu mai multe niveluri, deoarece abstractizează diferitele puncte de execuție ale fluxului de control, permițând diferite componente precise să fie vizate pentru upgrade, testare sau depanare, lăsând modulele rămase neatinse.

Arhitectura cu mai multe niveluri poate fi denumită și arhitectură cu mai multe straturi, deși există o diferență. În majoritatea cazurilor, utilizarea termenului „arhitectură cu mai multe niveluri” implică faptul că componentele separate ale unui sistem sunt de fapt localizate pe hardware sau servere diferite din punct de vedere fizic, în timp ce un sistem stratificat ar putea implementa doar aplicații diferite care rulează în același spațiu fizic. Cu toate acestea, nu toate sistemele cu mai multe niveluri folosesc hardware separat; în schimb, pot separa funcțiile doar prin diviziuni logice, cum ar fi diferite partiții pe un singur disc.

Majoritatea arhitecturii cu mai multe niveluri au trei niveluri distincte, deși pot exista mai multe niveluri, în funcție de nevoile sau configurarea unui sistem. Primul nivel este cunoscut sub denumirea de nivel de prezentare și este responsabil pentru afișarea informațiilor care îi sunt transmise, precum și pentru a oferi utilizatorilor o modalitate de a introduce informații, cel mai frecvent printr-o interfață grafică cu utilizatorul (GUI). Nivelul de prezentare se conectează la nivelul logic, care este zona în care este evaluată intrarea utilizatorului, datele sunt preluate din nivelul de date și au loc orice procesare sau calcule specifice. Nivelul logic este mai mult sau mai puțin ceea ce este considerat în mod tradițional o aplicație computerizată standard, deși nu are facilități pentru afișarea directă a ieșirilor și nicio modalitate de a primi direct intrări de la un utilizator.

Nivelul de date este responsabil doar pentru scrierea și citirea datelor și poate lua forma unei matrice de discuri sau a unui sistem de gestionare a bazelor de date relaționale (RDBMS). Deși nivelul de date este responsabil pentru gestionarea stocării și regăsării datelor într-o configurație cu arhitectură multinivel, nu are cunoștință de contextul datelor și se ocupă doar de înregistrări sau funcții de intrare și ieșire pe disc. O caracteristică definitorie a nivelurilor în arhitectura multinivel este că niciun segment nu depășește limitele sarcinilor pentru care este specificat, astfel încât nicio logică de afaceri sau funcționalitate de date nu este disponibilă în nivelul de prezentare, iar nivelul logic nu poate scrie fișiere direct sau direct accesați interfața grafică prin care lucrează utilizatorul. Toate interacțiunile au loc prin comunicații tip client-server, fiecare nivel servind într-un fel atât ca client, cât și ca server, în funcție de interacțiunea care are loc.

Unul dintre motivele pentru care o rețea de calculatoare mare ar putea folosi un sistem cu mai multe niveluri este că fiecare pas necesar în fluxul de lucru este modular și poate fi gestionat independent de celelalte părți. Aceasta înseamnă că terminalele sau GUI pe care le folosesc utilizatorii pot fi modificate fără a necesita modificări ale nivelurilor logice sau de date. În mod similar, RDBMS sau unitățile de stocare fizice pot fi modificate fără a afecta nimic altceva. Această modularitate este foarte dificil, dacă nu imposibil, de realizat cu un sistem cu un singur nivel în care toate aspectele sunt sudate într-o singură aplicație compilată.