Vad är multitierarkitektur?

Inom datorer är ”multitier-arkitektur” en term som används för ett arrangemang av komponenter eller mjukvara där de olika funktionerna som krävs för att slutföra en operation är uppdelade i separata fysiska eller logiska divisioner. Vart och ett av segmenten i den större arkitekturen ansvarar för att endast utföra en viss typ av uppgift och är för det mesta omedveten om de interna funktionerna hos omgivande segment som utför olika uppgifter. De vanligaste och mest grundläggande indelningarna som används i flerskiktsarkitektur är presentation, logik och datanivåer. Presentation ansvarar endast för att visa information för en användare, och datanivån ansvarar endast för att lagra eller hämta data, medan den logiska nivån överbryggar de två, applicerar programlogik på användarinmatning från presentationen och gör meningsfull information från datanivån . Stora datorsystem använder flerskiktsarkitektur eftersom den abstraherar de olika exekveringspunkterna för kontrollflödet, vilket gör att olika exakta komponenter kan riktas mot uppgraderingar, testning eller felsökning samtidigt som de återstående modulerna lämnas orörda.

Flerskiktsarkitektur kan också kallas flerskiktsarkitektur, även om det finns en skillnad. I de flesta fall innebär användning av termen ”multitier-arkitektur” att de separata komponenterna i ett system faktiskt är placerade på fysiskt olika hårdvara eller servrar, medan ett lagersystem bara kan implementera olika applikationer som körs i samma fysiska utrymme. Inte alla flerskiktssystem använder dock separat hårdvara; de kan istället bara separera funktionerna genom logiska divisioner, såsom olika partitioner på en enda disk.

De flesta flerskiktsarkitekturer har tre distinkta nivåer, även om det kan finnas fler nivåer, beroende på behoven eller inställningen av ett system. Den första nivån är känd som presentationsnivån och är ansvarig för att visa information som skickas till den, samt tillhandahålla ett sätt för användare att ge input, oftast genom ett grafiskt användargränssnitt (GUI). Presentationsnivån ansluter till den logiska nivån, vilket är det område där användarinmatning bedöms, data hämtas från datanivån och eventuell specifik bearbetning eller beräkningar äger rum. Den logiska nivån är mer eller mindre vad man traditionellt tänker på som en vanlig datorapplikation, även om den inte har några faciliteter för att direkt visa utdata och inget sätt att direkt ta emot input från en användare.

Datanivån ansvarar endast för att skriva och läsa data och kan ta formen av en array av diskar eller ett relationsdatabashanteringssystem (RDBMS). Även om datanivån är ansvarig för att hantera lagring och hämtning av data i en flerskiktsarkitekturuppsättning, har den ingen medvetenhet om sammanhanget för datan och handlar endast om poster eller diskinmatnings- och utdatafunktioner. En avgörande egenskap hos nivåerna i flerskiktsarkitektur är att inget segment överskrider gränserna för de uppgifter som det är specificerat att göra, så ingen affärslogik eller datafunktionalitet är tillgänglig i presentationsskiktet, och logiknivån kan inte skriva filer direkt eller direkt åtkomst till det grafiska användargränssnittet genom vilket användaren arbetar. Alla interaktioner sker genom klient-server-liknande kommunikation, där varje nivå på något sätt fungerar som både en klient och en server, beroende på vilken interaktion som äger rum.

En av anledningarna till att ett stort datornätverk kan använda ett flerskiktssystem är att varje nödvändigt steg i arbetsflödet är modulärt och kan hanteras oberoende av de andra delarna. Detta innebär att terminalerna eller det grafiska användargränssnittet som användarna använder kan ändras utan att behöva modifiera logiken eller datanivåerna. På samma sätt kan RDBMS eller fysiska lagringsenheter ändras utan att påverka något annat. Denna modularitet är mycket svår, för att inte säga omöjlig, att uppnå med ett system i en nivå där alla aspekter är svetsade till en enda kompilerad applikation.