Architettura N-Tier

Nell'ingegneria del software, il termine architettura multi-tier o N-Tier indica un'architettura software in cui le varie funzionalità del software sono logicamente separate ovvero suddivise su più strati o livelli software differenti in comunicazione tra loro (nel caso di applicazioni web questi strati sono la logica di presentazione, l'elaborazione dei processi e la gestione della persistenza dei dati).

Ciascuno strato è in comunicazione diretta con quelli adiacenti ovvero richiede ed offre servizi allo strato adiacente in maniera concettualmente simile a quanto accade con le architetture di rete a strati (in linguaggio strettamente informatico si dice che ciascuno strato è client-server per gli strati adiacenti, fatta eccezione per gli strati estremi che sono solo client o solo server). Ad esempio, un'applicazione che utilizza il middleware per gestire le richieste di dati tra un utente e un database, utilizza un'architettura multi-tier. In generale i vari strati possono risiedere sulla stessa macchina oppure su macchine elaboratrici differenti mappando così il relativo sistema informatico che ospita, a livello infrastrutturale, l'applicazione. Negli anni novanta si diffuse l'architettura client-server a due livelli, mentre negli anni 2000 l'impiego più diffuso di un'architettura multi-tier è l'architettura a tre livelli.

Architettura Three-tier

Three-tier è un'architettura client-server in cui l'interfaccia utente, i processi logico funzionali ("regole aziendali"), l'archiviazione informatica dei dati e l'accesso ai dati sono sviluppate e mantenute come moduli indipendenti, la maggior parte delle volte su piattaforme separate.

Il three-tier è un modello di architettura software e allo stesso tempo uno schema di progettazione software.

Oltre ai vantaggi abituali di software modulare con interfacce ben definite, l'architettura three-tier è destinata a consentire a qualsiasi dei tre livelli di essere aggiornati o sostituiti indipendentemente dal cambiamento di requisiti o tecnologia. Ad esempio, un cambiamento di sistema operativo nel livello di presentazione interesserebbe solo il codice di interfaccia utente.

In genere, l'interfaccia utente viene eseguito su un desktop PC o workstation e utilizza un'interfaccia utente grafica standard, la logica di processo funzionale può essere costituito da uno o più moduli separati in esecuzione su una workstation o applicazioni server, e un RDBMS in un database server o mainframe contiene i dati di archiviazione logica del computer. Il livello intermedio può essere anche multi-tier(in questo caso l'architettura complessiva si chiama “n-tier architecture”).

Three-tier architecture ha i seguenti tre livelli:

  • Livello di presentazione : Questo è il livello più alto dell'applicazione. Il livello di presentazione mostra le informazioni relative a servizi come merce online, acquisti, e i contenuti del carrello della spesa. Comunica con altri livelli attraverso i risultati di output al livello browser/client e tutti gli altri livelli della rete.
  • Livello applicazione (business logic, la logica di primo livello, l'accesso ai dati di secondo livello, o di livello intermedio): La logica di primo livello viene tirato fuori dal livello di presentazione e, come suo proprio livello, controlla la funzionalità di un'applicazione eseguendo elaborazioni dettagliate.
  • Livello dati: Questo livello è costituito da server database. Qui le informazioni vengono memorizzate e recuperate. Questo livello mantiene i dati neutrali e indipendenti da applicazioni server o da logica di business. Fornendo informazioni del proprio livello inoltre migliora la scalabilità e le prestazioni.

Sviluppo Web di utilizzo

Nel campo web development, il three-tier è spesso utilizzato per fare riferimento a websites, comunemente commercio elettronico, che sono costruiti utilizzando tre livelli:

  1. Un front-end web server che fornisce contenuti statici, e potenzialmente, alcuni contenuti nella cached dinamica. In applicazione web based, il front-end è il contenuto visualizzato dal browser. Il contenuto può essere statico o generato dinamicamente.
  2. Un medio processo di contenuti dinamici e generazione del livello di application server, per esempio Java EE, ASP.NET, PHP, Ruby, piattaforma ColdFusion.
  3. Un back-end database, che comprende due serie di dati e il database management system o RDBMS il software che gestisce e fornisce l'accesso ai dati.

Made with Adobe Slate

Make your words and images move.

Get Slate

Report Abuse

If you feel that this video content violates the Adobe Terms of Use, you may report this content by filling out this quick form.

To report a Copyright Violation, please follow Section 17 in the Terms of Use.