User:Space89

Nel software engineering, multi-tier architecture (spesso definito come n-tier architecture) è un client–server in cui la presentazione,l'elaborazione dei processi e la gestione dei dati sono processi logicamente distinti. Per esempio, un'applicazione che utilizza il middleware per gestire le richieste di dati tra un utente e un database,utilizza un'architettura multi-tier. L'uso più diffuso di un'architettura multi-tier è l'architettura a tre livelli.

L'architettura delle applicazioni N-tier fornisce un modello per gli sviluppatori per creare un'applicazione flessibile e riutilizzabile. Con la rottura di un'applicazione in livelli, gli sviluppatori per modificare o aggiungere hanno solo uno specifico livello, piuttosto di dover riscrivere sopra l'intera applicazione. Ci dovrebbe essere un livello di presentazione, un accesso d'affari o livello dati, e un livello dati.

I concetti di strato e livello sono spesso usati come sinonimi.Tuttavia, un punto di vista abbastanza comune è che c'è davvero una differenza, e che uno strato è un meccanismo di strutturazione logica per gli elementi che compongono la soluzione software, mentre un livello è un meccanismo di strutturazione fisica per le infrastrutture di sistema.

Architettura Tree-tier
Three-tier è un' architettura client-server in cui l' 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 indipendinti, la maggior parte delle volte su piattaforme separate. è stata sviluppata da John J. Donovan nell'Open Environment Corporation(OEC),una società di strumenti da lui fondata a Cambridge, Massachusetts.

I three-tier è un modello di architettura software e uno schema di progettazione software.

Oltre ai vantaggi abituali di software modulare con interfacce ben definite, l'architettura three-tier è destinato a consentire a qualsiasi dei tre livelli di essere aggiornate o sostituite indipendentemente dal cambiamento di requisiti o tecnologia change. 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-tire 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.si 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.

confronto con l'architettura MVC
A prima vista, il three-tire può sembrare simile al concetto di model-view-controller (MVC); ma topologicamente sono diverse. Una regola fondamentale nell'architettura three-tire è che il livello di client non comunichi mai con il livello dati. In un modello Three-tire tutte le comunicazioni devono passare attraverso il livello intermedio. Concettualmente l'architettura Three-tire è lineare. Tuttavia, l'architettura MVC è triangolare: la visualizzazione invia gli aggiornamenti per il controller, il controllore aggiorna il modello, e la visualizzazione si aggiorna direttamente dal modello.

Da un punto di vista storico il concetto di architettura a tre livelli emerse nel 1990 dalle osservazioni di sistemi di distribuzione (ad esempio, le applicazioni web) dove il client, il middleware e il livello dati vengono eseguiti in piattaforme fisicamente separate. Considerando che MVC viene dal decennio precedente (dal lavoro alla Xerox PARC nel tardo 1970 e all'inizio del 1980) ed è basato sull'osservazione di applicazioni che vengono eseguite su una singola workstation grafica; MVC è stata applicata ad applicazioni distribuite più tardi nella sua storia (guarda Model 2).

Sviluppo Web di utilizzo
nel campo web development, il three-tier è spesso utilizzato per fare riferimento a websites, comunemente electronic commerce websites, che sono costruiti utilizzando tre livelli:
 * 1) A front-end web server che fornisce contenuti statici, e potenzialmente, alcuni contenuti nella cached dinamica. In applicazione web based, 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, 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.

Altre considerazioni
Il trasferimento dei dati tra più livelli è parte dell'architettura. Protocolli coinvolti possono includere uno o più di SNMP, CORBA, Java RMI, .NET Remoting, Windows Communication Foundation, sockets, UDP, web services altri protocolli standard o proprietari. Spesso middleware viene utilizzato per collegare i livelli separati. Livelli separati spesso (ma non necessariamente) eseguiti su server fisici separati, e ogni livello si può eseguire in un cluster.

Tracciabilità
La tracciabilità end-to-end dei flussi di dati attraverso sistemi di n-tier è un compito arduo che diventa più importante quando i sistemi aumentano di complessità. L'Application Response Measurement definisce i concetti e le APIs per la misurazione delle prestazioni e la correlazione delle transazioni tra i vari livelli.

Commenti
In generale, il livello termine è usato per descrivere la distribuzione fisica dei componenti di un sistema su server separati, computer o reti (nodi di lavorazione).Una architettura Three-tier allora avrà tre nodi di elaborazione. Livelli riferiti a un raggruppamento logico di componenti che possono o non possono trovarsi fisicamente su un nodo lavorazione.

Link esterni

 * Linux journal, Three Tier Architecture
 * Microsoft Application Architecture Guide

Referenze
العمارة متعددة الطبقات Vícevrstvá architektura Schichtenarchitektur Programación por capas fa:معماری چندلایه Programación por capas 다층 구조 Multitierarchitectuur 多層アーキテクチャ Architektura wielowarstwowa Трёхуровневая архитектура பல்லடுக்கு கட்டமைப்பு