User:Space89

From Wikipedia, the free encyclopedia

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.[1]

Architettura Tree-tier[edit]

Visual overview of a Three-tiered application

Three-tier[2] è 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[edit]

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[edit]

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[edit]

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à[edit]

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[edit]

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.

See also[edit]

Link esterni[edit]

Referenze[edit]

  1. ^ Deployment Patterns (Microsoft Enterprise Architecture, Patterns, and Practices)
  2. ^ Eckerson, Wayne W. "Three Tier Client/Server Architecture: Achieving Scalability, Performance, and Efficiency in Client Server Applications." Open Information Systems 10, 1 (January 1995): 3(20)

<webopedia> This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.