In ambito informatico un CED, acronimo di Centro Elaborazione Dati, è un complesso sistema che racchiude elementi hardware, software e di procedure, al fine di coordinare e gestire le informazioni all’interno di una azienda o organizzazione. In altre parole è un insieme eterogeneo di infrastrutture atte a fornire dei particolari servizi a utenti terzi. Queste infrastrutture possono essere strutturate secondo diversi modelli, quello in assoluto più diffuso è il modello a tre livelli, detto anche three tier model. Vediamo di cosa si tratta e perché è così importante:


Possiamo individuare questi livelli come:

  • FRONT END
  • BUSINESS LAYER
  • DATA LAYER

Non ti preoccupare ti spiego semplicemente che vogliono dire:

Che cosa rappresentano i tre livelli?


Diamo uno sguardo a questa figura.

Il front end è quell’insieme di hardware e software che espone, attraverso delle opportune interfacce, svariati servizi, i quali potranno essere consumati dall’utente finale (client). Le interfacce possono essere sia grafiche che testuali. Le prime sono denominate GUI (graphical user interface) e le seconde CLI (command line interface ).


Nelle foto precedenti sono raffigurati rispettivamente una GUI (una pagina web) e una CLI (ina riga di comando di un server).

Il front end è responsabile sia dell’acquisizione dei dati (input) dall’utente, sia della restituzione dei risultati (output).

Pertanto questo è lo strato più superficiale e anche l’unico con cui gli utenti esterni possono interagire (vedi la prima figura).

Scendendo più in profondità abbiamo il business layer, anche conosciuto come back end, poiché si trova immediatamente dietro il front end. Qui c’è la vera logica funzionale del sistema, i dati di input inseriti dall’utente e raccolti dal primo livello vengono ‘passati’ al secondo livello per essere elaborati. I risultati di questa elaborazione verranno nuovamente ‘passati’ al front end, che li fornirà all’utente esterno.

In questo modo si tengono ben separate la funzionalità di interazione con l’utente, tramite le interfacce, e la funzionalità computazionale vera e propria.

Volendo fare un parallelo, forse un po' azzardato ma che rende l’idea, possiamo pensare a quando prendiamo un caffè al bar. La tazzina di caffè bollente che viene servita sul bancone rappresenta il front end, poiché è il servizio che ho chiesto e che sto consumando. Il back end, invece, è la preparazione della tazzina, la macinazione dei chicchi di caffè, la preparazione della tazza sul bancone.


Spostiamoci nel mondo Web e consideriamo il seguente caso d’uso: dobbiamo prenotare un volo aereo. La prima cosa che facciamo è andare sulla pagina web della compagnia aerea, la quale mi richiederà alcune informazioni, come destinazione e data. Stiamo interagendo con il front end dell’infrastruttura informatica dell’azienda, che prima ci richiede delle informazioni e poi ci restituisce alla fine i risultati, in questo caso i voli disponibili. Dietro al front end c’è tutta la parte computazionale hardware e software che, nel nostro caso, procederà a calcolare le possibili soluzioni per soddisfare la richiesta dell'utente. Ecco, questo è il così detto business layer.

Che cos'è il data layer?

Questo modello così concepito, non contempla una vera e propria gestione integrata dei dati. Pertanto al livello di business logic viene affiancato un livello che ha il compito di governare i dati, ossia memorizzarli in modo sicuro e restituirli all’occorrenza: il data layer Questo livello potrebbe essere realizzato da una serie di storage (ossia hard disk di fascia alta) affidabili e opportunamente ridondati, ad esempio con tecnologia RAID. Nell’esempio precedente, questo livello amministra tutta la mole enorme di dati relativi all’azienda aerea: voli, vettori, destinazioni, prezzi, passeggeri, disponibilità, ecc.


Gerarchia e scalabilità

Va notato che le comunicazioni fra i vari livelli avvengono in stretto ordine gerarchico, il livello di front end può comunicare con il suo sottostante livello di back end, ma non può ‘saltare’ direttamente al livello di data layer e viceversa.

Una caratteristica molto importante nel modello architetturale a tre livelli è la sua ottima scalabilità. Per scalabilità si intende la propensione a crescere di dimensioni senza sconvolgere tutta l'infrastruttura. Se ad esempio mi accorgo che le mie esigenze in termini di spazio disco sono aumentate, posso tranquillamente agganciare nuovi storage al livello di data layer, il tutto in modo trasparente per gli altri livelli.

Oppure, se prevedo un considerevole aumento di richieste web da parte degli utenti, posso aggiungere altri server al primo strato, per fronteggiare l’aumento di carico.

Se ci fai caso, il modello architetturale a tre livelli ricorda molto l’architettura di Von Neumann nei calcolatori, di cui se ne parla nel corso. Per analogia possiamo associare il front end alle periferiche di input/output, il business layer al microprocessore e, infine, il data layer alla memoria di massa.


Se ti interessano questi argomenti e ti piace il linguaggio con cui vengono esposti,

ho creato per te un video corso di informatica adatto ai principianti.

Vai alla pagina del corso!