ce este arhitectura pe trei niveluri?,
arhitectura pe trei niveluri este o arhitectură de aplicații software bine stabilită, care organizează aplicațiile în trei niveluri de calcul logice și fizice: nivelul de prezentare sau interfața cu utilizatorul; nivelul aplicației, unde sunt procesate datele; și nivelul de date, unde datele asociate aplicației sunt stocate și gestionate.avantajul principal al arhitecturii pe trei niveluri este că, deoarece fiecare nivel rulează pe propria infrastructură, fiecare nivel poate fi dezvoltat simultan de o echipă de dezvoltare separată și poate fi actualizat sau scalat după cum este necesar, fără a afecta celelalte niveluri.,
de zeci de ani arhitectura pe trei niveluri a fost arhitectura predominantă pentru aplicațiile client-server. Astăzi, majoritatea aplicațiilor pe trei niveluri sunt ținte pentru modernizare, folosind tehnologii native în cloud, cum ar fi containere și microservicii, și pentru migrarea în cloud.
cele trei niveluri în detaliu
nivelul de prezentare
nivelul de prezentare este interfața cu utilizatorul și stratul de comunicare al aplicației, unde utilizatorul final interacționează cu aplicația. Scopul său principal este de a afișa informații și de a colecta informații de la utilizator., Acest nivel de nivel superior poate rula pe un browser web, ca aplicație desktop sau o interfață grafică de utilizator (GUI), de exemplu. Nivelurile de prezentare Web sunt de obicei dezvoltate folosind HTML, CSS și JavaScript. Aplicațiile Desktop pot fi scrise într-o varietate de limbi, în funcție de platformă.
Application tier
application tier, de asemenea, cunoscut sub numele de logic tier sau middle tier, este inima aplicației., În acest nivel, informațiile colectate în nivelul de prezentare sunt procesate-uneori împotriva altor informații din nivelul de date – folosind logica de afaceri, un set specific de reguli de afaceri. Nivelul aplicației poate adăuga, șterge sau modifica date în nivelul de date.
nivelul aplicației este de obicei dezvoltat folosind Python, Java, Perl, PHP sau Ruby și comunică cu nivelul de date folosind apeluri API.
nivel de date
nivelul de date, uneori numit nivel de bază de date, nivel de acces la date sau back-end, este locul în care informațiile prelucrate de aplicație sunt stocate și gestionate., Acesta poate fi un sistem de gestionare a bazelor de date relaționale, cum ar fi PostgreSQL, MySQL, MariaDB, Oracle, DB2, Informix sau Microsoft SQL Server sau într-un server de baze de date NoSQL, cum ar fi Cassandra, CouchDB sau MongoDB. într-o aplicație pe trei niveluri, toată comunicarea trece prin nivelul aplicației. Nivelul de prezentare și nivelul de date nu pot comunica direct între ele.
Tier vs. layer
în discuțiile despre arhitectura pe trei niveluri, stratul este adesea folosit interschimbabil – și greșit-pentru tier, ca în „presentation layer” sau ” business logic layer.,’
nu sunt la fel. Un „strat” se referă la o diviziune funcțională a software-ului, dar un „nivel” se referă la o diviziune funcțională a software-ului care rulează pe infrastructură separat de celelalte diviziuni. Aplicația Contacte de pe telefon, de exemplu, este o aplicație cu trei straturi, dar o aplicație cu un singur nivel, deoarece toate cele trei straturi rulează pe telefon.
diferența este importantă, deoarece straturile nu pot oferi aceleași beneficii ca nivelurile.,din nou, beneficiul principal al arhitecturii pe trei niveluri separarea logică și fizică a funcționalității. Fiecare nivel poate rula pe un sistem de operare separat și o platformă de server-de exemplu, server web, server de aplicații, server de baze de date – care se potrivește cel mai bine cerințelor sale funcționale. Și fiecare nivel rulează pe cel puțin un hardware dedicat serverului sau server virtual, astfel încât serviciile fiecărui nivel pot fi personalizate și optimizate fără a afecta celelalte niveluri., alte beneficii (în comparație cu arhitectura cu un singur nivel sau cu două niveluri) includ:
- dezvoltare mai rapidă: deoarece fiecare nivel poate fi dezvoltat simultan de echipe diferite, o organizație poate aduce aplicația pe piață mai rapid, iar programatorii pot folosi cele mai recente și cele mai bune limbi și instrumente pentru fiecare nivel.
- scalabilitate îmbunătățită: orice nivel poate fi scalat independent de celelalte, după cum este necesar.
- fiabilitate îmbunătățită: o întrerupere într-un nivel este mai puțin probabil să afecteze disponibilitatea sau performanța celorlalte niveluri.,
- securitate îmbunătățită: deoarece nivelul de prezentare și nivelul de date nu pot comunica direct, un nivel de aplicație bine conceput poate funcționa ca un fel de firewall intern, prevenind injecțiile SQL și alte exploatări rău intenționate.
aplicație pe trei niveluri în dezvoltarea web
în dezvoltarea web, nivelurile au nume diferite, dar îndeplinesc funcții similare:
- serverul web este nivelul de prezentare și oferă interfața cu utilizatorul., Aceasta este de obicei o pagină web sau un site web, cum ar fi un site de comerț electronic unde utilizatorul adaugă produse în coșul de cumpărături, adaugă detalii de plată sau creează un cont. Conținutul poate fi static sau dinamic și este de obicei dezvoltat folosind HTML, CSS și Javascript .
- serverul de aplicații corespunde nivelului de mijloc, adăpostind logica de afaceri utilizată pentru procesarea intrărilor utilizatorilor. Pentru a continua exemplul de comerț electronic, acesta este nivelul care interoghează baza de date a inventarului pentru a returna disponibilitatea produsului sau adaugă detalii profilului unui client., Acest strat de multe ori dezvoltat folosind Python, Ruby sau PHP și rulează un cadru, cum ar fi e Django, Rails, Symphony sau ASP.NET de exemplu.
- serverul de baze de date este nivelul de date sau backend al unei aplicații web. Rulează pe software de gestionare a bazelor de date, cum ar fi MySQL, Oracle, DB2 sau PostgreSQL, de exemplu.
Alte multi-tier arhitecturi
în Timp ce arhitectura pe trei niveluri este ușor de cel mai larg adoptat multi-tier arhitectura aplicației, există alții s-ar putea întâlni în munca ta sau de cercetare.,arhitectura pe două niveluri este arhitectura originală client-server, constând dintr-un nivel de prezentare și un nivel de date; logica de afaceri trăiește în nivelul de prezentare, nivelul de date sau ambele. În arhitectura pe două niveluri, nivelul de prezentare – și, în consecință, utilizatorul final-are acces direct la nivelul de date, iar logica de afaceri este adesea limitată. O aplicație simplă de gestionare a contactelor, în care utilizatorii pot introduce și prelua datele de contact, este un exemplu de aplicație pe două niveluri.,
n-tier architecture
n-tier architecture-numită și arhitectură multi-tier – se referă la orice arhitectură de aplicație cu mai mult de un nivel. Dar aplicațiile cu mai mult de trei straturi sunt rare, deoarece straturile suplimentare oferă puține beneficii și pot face aplicația mai lentă, mai greu de gestionat și mai scumpă pentru a rula. Drept urmare, arhitectura n-tier și arhitectura cu mai multe niveluri sunt de obicei sinonime pentru arhitectura pe trei niveluri.,IBM Cloud oferă produse și servicii pentru a vă ajuta să vă modernizați aplicațiile vechi pe trei niveluri în călătoria dvs. către cloud.
faceți primul pas:
- indiferent dacă aveți nevoie de asistență cu strategii, procese sau capabilități—sau doriți atenție la servicii complete-explorați modul în care IBM vă poate ajuta cu modernizarea aplicațiilor.
- începeți să utilizați middleware containerizat care poate rula în orice cloud-toate incluse în IBM Cloud Paks.
- migrați cu ușurință fluxurile de lucru VMware existente în cloud public folosind IBM Cloud pentru soluții VMware.,
- planificați și executați strategiile de modernizare a aplicațiilor ca parte a transformării digitale în curs de desfășurare cu ajutorul serviciilor de modernizare a aplicațiilor IBM.
începeți cu un cont IBM Cloud astăzi.