User:Space89
This article needs additional citations for verification. (April 2011) |
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]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:
- 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.
- Un medio processo di contenuti dinamici e generazione del livello di application server, per esempio Java EE, ASP.NET, PHP, piattaforma ColdFusion.
- 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]- Client–server model
- Database-centric architecture
- Front-end and back-end
- Hierarchical internetworking model
- Open Services Architecture
- Rich Internet application
- Service layer
- Web application
- Load balancing (computing)
- Multilayered architecture
Link esterni
[edit]Referenze
[edit]- ^ Deployment Patterns (Microsoft Enterprise Architecture, Patterns, and Practices)
- ^ 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.