Architettura three-tier
Sfondo nero e blu
Cos'è l'architettura three-tier?

L'architettura three-tier, che separa le applicazioni in tre tier di calcolo logici e fisici, è l'architettura software predominante per applicazioni client-server tradizionali.

L'architettura three-tier è un'architettura di applicazioni software  ben consolidata che organizza le applicazioni in tre tier logici e fisici di calcolo: il tier di presentazione, o interfaccia utente, il tier dell'applicazione, dove i dati vengono elaborati e il tier dei dati, dove i dati associati all'applicazione vengono memorizzati e gestiti.

Il vantaggio principale dell'architettura three-tier deriva dal fatto che ciascun tier viene eseguito nella sua infrastruttura; pertanto può essere sviluppato contemporaneamente da un team di sviluppo indipendente separato, oppure può essere aggiornato o scalato in base alle necessità senza effetti sugli altri tier.

Per decenni l'architettura three-tier è stata il modello prevalente per le applicazioni client-server. Oggi la maggior parte delle applicazioni a three-tier sono obiettivi di  modernizzazione (usando tecnologie cloud-native quali container e microservizi) e di migrazione verso il cloud.

Prodotti in evidenza

IBM Cloud Pak for Applications:


L'architettura three-tier in dettaglio
Presentation tier (Livello di presentazione)

Il presentation tier consiste nell'interfaccia utente e nel livello di comunicazione dell'applicazione, dove l'utente finale interagisce con l'applicazione. Il suo compito principale è quello di mostrare e raccogliere informazioni dall'utente. Questo tier di livello superiore, ad esempio, può essere eseguito su un browser web, come applicazione desktop o come GUI (Graphical User Interface). Generalmente, i tier di presentazione web sono sviluppati utilizzando HTML, CSS e JavaScript. Le applicazioni desktop possono essere scritte in diversi linguaggi, a seconda della piattaforma.

Tier dell'applicazione

Il tier dell'applicazione, noto anche come tier logico o tier intermedio, è il cuore dell'applicazione. In questo tier, le informazioni raccolte nel tier di presentazione sono elaborate - a volte in relazione ad altre informazioni contenute nel tier dei dati - usando la logica di business, un insieme specifico di regole di business. Il tier dell'applicazione può anche aggiungere, eliminare o modificare i dati nel tier dei dati.

Il tier dell'applicazione è tipicamente sviluppato utilizzando Python, Java, Perl, PHP o Ruby e comunica con il tier dei dati tramite chiamate API 

Tier dei dati

Il tier dei dati, in alcuni casi chiamato tier del database, tier di accesso ai dati o back-end, è il punto in cui vengono archiviate e gestite le informazioni elaborate dall'applicazione. Questo può essere un sistema  di gestione del database relazionale  come PostgreSQL , MySQL, MariaDB, Oracle, DB2, Informix o Microsoft server SQL o in a server del database NoSQL  come Cassandra, CouchDB  o MongoDB . 

In un'applicazione three-tier, tutte le comunicazioni passano attraverso il tier dell'applicazione. Il tier di presentazione e il tier dei dati non possono comunicare direttamente tra loro.

Confronto tra tier e livello

Nelle discussioni sull'architettura three-tier,il termine livello  è spesso usato in modo intercambiabile - ed erroneamente - insieme al termine  livello, come, ad esempio, in 'livello di presentazione' o 'livello di logica aziendale'.  

Non sono la stessa cosa. Il termine 'livello' si riferisce ad una divisione funzionale del software, mentre il termine 'tier' si riferisce ad una divisione funzionale del software che viene eseguita su un'infrastruttura separata dalle altre divisioni. L' app "Contatti" sul tuo telefono, ad esempio, è un'applicazione a trelivelli, ma a singolo tier,  dato che tutti e tre i livelli vengono eseguiti sul tuo telefono. 

La differenza è importante, perché i livelli non possono offrire gli stessi vantaggi dei tier. 

Link correlati

IBM Cloud Pak


Vantaggi dell'architettura three-tier

Il principale vantaggio dell'architettura three-tier è costituito dalla separazione logica e fisica delle funzionalità. Ogni tier può essere eseguito su un sistema operativo separato e sulla piattaforma server - ad esempio, web server, application server, database server - che meglio si adatta ai suoi requisiti funzionali. E ogni tier viene eseguito su almeno un hardware server dedicato o su un server virtuale, quindi i servizi di ogni tier possono essere personalizzati e ottimizzati senza effetti sugli altri tier.  

Altri vantaggi (rispetto ad una architettura a uno o a due tier)  sono: 

  • Sviluppo più veloce: poiché ciascun tier può essere sviluppato contemporaneamente da team differenti, un'organizzazione può immettere l'applicazione sul mercato più velocemente e i programmatori possono utilizzare i linguaggi e gli strumenti migliori e più attuali per ogni tier.

    • Migliore scalabilità: qualsiasi tier può essere scalato indipendentemente dagli altri in base alle necessità.

      • Migliore affidabilità: la probabilità che un'interruzione in un tier abbia impatto sulla disponibilità o sulle prestazioni degli altri tier sarà minore.

        • Più sicurezza: dato che il tier di presentazione e quello dei dati non possono comunicare direttamente, un tier dell'applicazione ben progettato può funzionare come una sorta di firewall interno, impedendo SQL Injection e altri exploit dannosi.


Applicazione three-tier nello sviluppo web

Nello sviluppo web, i tier hanno nomi diversi  ma eseguono funzioni simili: 

    Il
  • server web è il tier di presentazione e fornisce l'interfaccia utente. Generalmente, si tratta di una pagina web o di un sito web, come un sito di e-commerce in cui l'utente aggiunge prodotti al carrello, aggiunge i dettagli di pagamento o crea un account. Il contenuto può essere statico o dinamico e, generalmente, viene sviluppato utilizzando HTML, CSS e Javascript.

      Il
    • server delle applicazioni  corrisponde al tier intermedio e ospita la logica di business utilizzata per elaborare gli input degli utenti. Continuando con l'esempio di un e-commerce, questo è il tier che interroga il database dell'inventario per restituire la disponibilità del prodotto o aggiunge dettagli al profilo di un cliente. Questo livello spesso veniva sviluppato usando Python, Ruby o PHP ed esegue un framework come, ad esempio, e Django, Rails, Symphony o ASP.NET.

        Il
      • server database  è il tier di dati o backend di un'applicazione web. Viene eseguito su software di gestione del database, come, ad esempio, MySQL, Oracle, DB2 o PostgreSQL.


Altre architetture multi-tier

Sebbene l'architettura three-tier è l'architettura applicativa multi-tier più adottata, esistono altre architetture che potresti incontrare nel tuo lavoro o nella tua ricerca.

Architettura two-tier

L'architettura two-tier è l'architettura client-server originale, costituita da un tier di presentazione e da un tier dei dati; la logica aziendale è compresa nel tier di presentazione, nel tier dei dati oppure in entrambi. Nell'architettura two-tier, il tier di presentazione - e di conseguenza l'utente finale - ha accesso diretto al tier dei dati e la logica aziendale è spesso limitata. Una semplice applicazione di gestione dei contatti, in cui gli utenti possono inserire e richiamare i dati dei contatti, è un esempio di applicazione two-tier.   

Architettura N-tier

L'architettura N-tier - chiamata anche architettura multi-tier -  si riferisce a  qualsiasi architettura applicativa con più di un tier. Tuttavia, le applicazioni con più di tre livelli sono rare, perché ulteriori livelli offrono pochi vantaggi e possono rendere l'applicazione più lenta, più difficile da gestire e più costosa da eseguire. Di conseguenza, i termini architettura n-tier e architettura multi-tier sono generalmente sinonimi che indicano l'architettura three-tier.


Architettura three-tier e IBM Cloud

IBM Cloud offre prodotti e servizi per aiutarti a modernizzare le tue applicazioni three-tier legacy nel tuo percorso verso il cloud.

Fai il primo passo:

  • Che tu abbia bisogno di assistenza con strategia, processi o funzionalità - o desideri un servizio completo - scopri come IBM può aiutarti a eseguire la  modernizzazione delle applicazioni.
  • Inizia ad utilizzare il middleware containerizzato che può essere eseguito in qualsiasi cloud - integralmente fornito in bundle in
  • IBM Cloud Paks.
  • Migra facilmente i carichi di lavoro VMWare esistenti nel cloud pubblico utilizzando IBM Cloud for VMware Solutions.
  • Pianifica ed esegui le tue strategie di modernizzazione delle applicazioni nell'ambito della tua trasformazione digitale in corso con l'aiuto dei servizi di modernizzazione delle applicazioni di IBM.

    Inizia con un

account IBM Cloud oggi stesso.


Soluzioni correlate

IBM Cloud Pak

Passa al cloud più velocemente con le soluzioni IBM Cloud Pak in esecuzione sul software Red Hat OpenShift — soluzioni integrate, open source, in contenitori, certificate da IBM.


IBM Cloud for VMware Solutions

IBM Cloud for VMware Solutions è progettato per aiutare a spostare i carichi di lavoro VMware da ambienti on-premise a IBM Cloud.


Servizi di modernizzazione delle applicazioni

Modernizza le applicazioni con la più recente strategia e tecnologia cloud.