Architettura Multitier

postato in: Articles | 0

Panoramica di un’applicazione a tre livelli.

L’architettura a tre livelli è un modello di architettura software client-server in cui l’interfaccia utente (presentazione), la logica di processo funzionale (“regole aziendali”), l’archiviazione dei dati del computer e l’accesso ai dati sono sviluppati e mantenuti come moduli indipendenti, il più delle volte su piattaforme separate. È stato sviluppato da John J. Donovan in Open Environment Corporation (OEC), una società di strumenti che ha fondato a Cambridge, Massachusetts.,

Oltre ai soliti vantaggi del software modulare con interfacce ben definite, l’architettura a tre livelli è destinata a consentire l’aggiornamento o la sostituzione indipendente di uno qualsiasi dei tre livelli in risposta ai cambiamenti nei requisiti o nella tecnologia. Ad esempio, una modifica del sistema operativo nel livello di presentazione influirebbe solo sul codice dell’interfaccia utente.,

In genere, l’interfaccia utente viene eseguita su un PC desktop o workstation e utilizza un’interfaccia utente grafica standard, logica di processo funzionale che può consistere in uno o più moduli separati in esecuzione su una workstation o un server di applicazioni e un RDBMS su un server di database o mainframe che contiene la logica di archiviazione dei dati Il livello intermedio può essere multilivello stesso (nel qual caso l’architettura complessiva è chiamata “architettura n-tier”).

Livello di presentazione Questo è il livello più alto dell’applicazione., Il livello di presentazione visualizza le informazioni relative a servizi come la navigazione della merce,l’acquisto e il contenuto del carrello. Comunica con altri livelli con cui mette i risultati al livello browser / client e a tutti gli altri livelli della rete. In termini semplici, è un livello a cui gli utenti possono accedere direttamente (come una pagina web o la GUI di un sistema operativo). Livello applicazione (business logic, logic tier o middle tier) Il livello logico viene estratto dal livello presentazione e, come livello proprio, controlla la funzionalità di un’applicazione eseguendo un’elaborazione dettagliata., Livello dati Il livello dati include i meccanismi di persistenza dei dati(server di database, condivisioni di file, ecc.) e il livello di accesso ai dati che incapsula i meccanismi di persistenza ed espone i dati. Il livello di accesso ai dati dovrebbe fornire un’API al livello dell’applicazione che espone i metodi di gestione dei dati archiviati senza esporre o creare dipendenze dai meccanismi di archiviazione dei dati. Evitare le dipendenze dai meccanismi di archiviazione consente aggiornamenti o modifiche senza che i client del livello dell’applicazione siano interessati o addirittura a conoscenza della modifica., Come per la separazione di qualsiasi livello, ci sono costi per l’implementazione e spesso costi per le prestazioni in cambio di una migliore scalabilità e manutenibilità.

Web development usageEdit

Nel campo dello sviluppo web, three-tier è spesso usato per riferirsi a siti web, comunemente siti di commercio elettronico, che sono costruiti utilizzando tre livelli:

  1. Un server web front-end che serve contenuti statici e potenzialmente alcuni contenuti dinamici memorizzati nella cache. Nell’applicazione basata sul web, front-end è il contenuto reso dal browser. Il contenuto può essere statico o generato dinamicamente.,
  2. Un server di applicazioni a livello medio di elaborazione e generazione di contenuti dinamici (ad esempio, Symfony, Spring, ASP.NET, Django, Rotaie, Nodo.js).
  3. Un database back-end o archivio dati, comprendente sia set di dati e il software del sistema di gestione del database che gestisce e fornisce l’accesso ai dati.

Altre considerazionimodifica

Il trasferimento dei dati tra livelli fa parte dell’architettura. I protocolli coinvolti possono includere uno o più di SNMP, CORBA, Java RMI,. NET Remoting, Windows Communication Foundation, socket, UDP, servizi Web o altri protocolli standard o proprietari., Spesso il middleware viene utilizzato per collegare i livelli separati. Livelli separati spesso (ma non necessariamente) vengono eseguiti su server fisici separati e ogni livello può essere eseguito su un cluster.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *