Che cos’è l’architettura multilivello?

In informatica, “architettura multilivello” è un termine applicato a una disposizione di componenti o software in cui le diverse funzioni richieste per completare un’operazione sono segmentate in divisioni fisiche o logiche separate. Ciascuno dei segmenti dell’architettura più ampia è responsabile dell’esecuzione solo di un certo tipo di attività ed è per lo più inconsapevole del funzionamento interno dei segmenti circostanti che svolgono compiti diversi. Le divisioni più comuni e basilari utilizzate nell’architettura multilivello sono i livelli di presentazione, logica e dati. La presentazione è responsabile solo di mostrare le informazioni a un utente e il livello dati è responsabile solo dell’archiviazione o del recupero dei dati, mentre il livello logico collega i due, applicando la logica del programma all’input dell’utente dalla presentazione e dando un senso alle informazioni dal livello dati . I grandi sistemi informatici utilizzano un’architettura multilivello perché astrae i diversi punti di esecuzione del flusso di controllo, consentendo di mirare a diversi componenti precisi per aggiornamenti, test o debug lasciando intatti i moduli rimanenti.

L’architettura multilivello può anche essere definita architettura multilivello, sebbene vi sia una differenza. Nella maggior parte dei casi, l’uso del termine “architettura multilivello” implica che i componenti separati di un sistema si trovino effettivamente su hardware o server fisicamente diversi, mentre un sistema a più livelli potrebbe implementare solo applicazioni diverse in esecuzione nello stesso spazio fisico. Tuttavia, non tutti i sistemi multilivello utilizzano hardware separato; possono invece separare le funzioni solo attraverso divisioni logiche, come diverse partizioni su un singolo disco.

La maggior parte delle architetture multilivello ha tre livelli distinti, sebbene possano essercene più livelli, a seconda delle esigenze o della configurazione di un sistema. Il primo livello è noto come livello di presentazione ed è responsabile della visualizzazione delle informazioni che gli vengono passate, oltre a fornire agli utenti un modo per fornire input, più comunemente tramite un’interfaccia utente grafica (GUI). Il livello di presentazione si collega al livello logico, che è l’area in cui viene valutato l’input dell’utente, i dati vengono recuperati dal livello dati e viene eseguita qualsiasi elaborazione o calcolo specifico. Il livello logico è più o meno quello che tradizionalmente viene considerato un’applicazione per computer standard, sebbene non disponga di strutture per visualizzare direttamente l’output e non sia possibile ricevere direttamente input da un utente.

Il livello dati è responsabile solo della scrittura e della lettura dei dati e può assumere la forma di un array di dischi o di un sistema di gestione di database relazionali (RDBMS). Sebbene il livello dati sia responsabile della gestione dell’archiviazione e del recupero dei dati in una configurazione di architettura multilivello, non è consapevole del contesto dei dati e si occupa solo dei record o delle funzioni di input e output del disco. Una caratteristica distintiva dei livelli nell’architettura multilivello è che nessun segmento supera i limiti delle attività per cui è specificato, quindi nessuna logica aziendale o funzionalità dei dati è disponibile nel livello di presentazione e il livello logico non può scrivere file direttamente o direttamente accedere alla GUI attraverso la quale l’utente sta lavorando. Tutte le interazioni avvengono tramite comunicazioni in stile client-server, con ogni livello che funge in qualche modo sia da client che da server, a seconda dell’interazione in corso.

Uno dei motivi per cui una grande rete di computer potrebbe utilizzare un sistema multilivello è perché ogni passaggio necessario nel flusso di lavoro è modulare e può essere gestito indipendentemente dalle altre parti. Ciò significa che i terminali o la GUI utilizzati dagli utenti possono essere modificati senza richiedere modifiche alla logica o ai livelli di dati. Allo stesso modo, l’RDBMS o le unità di archiviazione fisica possono essere modificate senza influire su nient’altro. Questa modularità è molto difficile, se non impossibile, da ottenere con un sistema a livello unico in cui tutti gli aspetti sono saldati in un’unica applicazione compilata.