Što je višeslojna arhitektura?

U računalstvu, “višestruka arhitektura” je izraz koji se primjenjuje na raspored komponenti ili softvera u kojem su različite funkcije potrebne za dovršetak operacije segmentirane u zasebne fizičke ili logičke podjele. Svaki od segmenata veće arhitekture odgovoran je za obavljanje samo određene vrste zadatka i uglavnom nije svjestan unutarnjeg rada okolnih segmenata koji obavljaju različite zadatke. Najčešće i najosnovnije podjele koje se koriste u višeslojnoj arhitekturi su razine prezentacije, logike i podataka. Prezentacija je odgovorna samo za pokazivanje informacija korisniku, a podatkovna razina odgovorna je samo za pohranu ili dohvaćanje podataka, dok logička razina premošćuje to dvoje, primjenjujući programsku logiku na korisnički unos iz prezentacije i dajući smisao informacijama iz podatkovne razine . Veliki računalni sustavi koriste višeslojnu arhitekturu jer apstrahira različite točke izvršenja kontrolnog tijeka, dopuštajući da se različite precizne komponente usmjere na nadogradnju, testiranje ili otklanjanje pogrešaka, dok preostale module ostavlja netaknutima.

Višeslojna arhitektura se također može nazvati višeslojnom arhitekturom, iako postoji razlika. U većini slučajeva, korištenje izraza “višestruka arhitektura” implicira da se odvojene komponente sustava zapravo nalaze na fizički različitom hardveru ili poslužiteljima, dok slojeviti sustav može implementirati samo različite aplikacije koje rade u istom fizičkom prostoru. Međutim, ne koriste svi višeslojni sustavi odvojeni hardver; umjesto toga mogu samo odvojiti funkcije putem logičkih podjela, kao što su različite particije na jednom disku.

Većina višeslojne arhitekture ima tri različite razine, iako može biti više razina, ovisno o potrebama ili postavljanju sustava. Prvi sloj poznat je kao razina prezentacije i odgovoran je za prikaz informacija koje mu se prosljeđuju, kao i za pružanje načina da korisnici daju unos, najčešće putem grafičkog korisničkog sučelja (GUI). Razina prezentacije povezuje se s logičkom razinom, što je područje u kojem se ocjenjuje korisnički unos, podaci se dohvaćaju iz podatkovne razine i odvijaju se bilo kakva specifična obrada ili izračuni. Logički sloj je više-manje ono što se tradicionalno smatra standardnom računalnom aplikacijom, iako nema mogućnosti za izravno prikazivanje izlaza i nema načina za izravno primanje ulaznih podataka od korisnika.

Razina podataka odgovorna je samo za pisanje i čitanje podataka i može biti u obliku niza diskova ili sustava upravljanja relacijskim bazama podataka (RDBMS). Iako je podatkovna razina odgovorna za upravljanje pohranom i dohvaćanjem podataka u višeslojnoj arhitekturi, ona nema svijest o kontekstu podataka i bavi se samo zapisima ili funkcijama unosa i izlaza na disku. Definirajuća značajka razina u višeslojnoj arhitekturi je da niti jedan segment ne prelazi granice zadataka za koje je specificirano, tako da na prezentacijskoj razini nije dostupna poslovna logika ili funkcionalnost podataka, a logička razina ne može pisati datoteke izravno ili izravno pristupite GUI kroz koji korisnik radi. Sve interakcije odvijaju se kroz komunikaciju u stilu klijent-poslužitelj, pri čemu svaki sloj na neki način služi i kao klijent i kao poslužitelj, ovisno o tome koja se interakcija odvija.

Jedan od razloga zašto bi velika računalna mreža mogla koristiti višeslojni sustav je taj što je svaki potrebni korak u tijeku rada modularan i njime se može upravljati neovisno o drugim dijelovima. To znači da se terminali ili GUI koje koriste korisnici mogu mijenjati bez potrebe za modifikacijom logičkih ili podatkovnih razina. Slično, RDBMS ili fizički pogoni za pohranu mogu se mijenjati bez utjecaja na bilo što drugo. Ovu modularnost je vrlo teško, ako ne i nemoguće, postići s jednoslojnim sustavom u kojem su svi aspekti zavareni u jednu kompiliranu aplikaciju.