Architettura three-tier
In ingegneria del software e nell'ambito dei sistemi informatici, l'espressione architettura three-tier ("a tre strati") indica una particolare architettura software e hardware di tipo multi-tier per l'esecuzione di un'applicazione web che prevede la suddivisione dell'applicazione in tre diversi moduli o strati dedicati rispettivamente alla interfaccia utente, alla logica funzionale (business logic) e alla gestione dei dati persistenti. Tale architettura tipicamente mappa a livello fisico-infrastrutturale quella del sistema informatico ospitante l'applicazione da eseguire.
Descrizione
[modifica | modifica wikitesto]![](http://upload.wikimedia.org/wikipedia/commons/thumb/5/51/Overview_of_a_three-tier_application_vectorVersion.svg/310px-Overview_of_a_three-tier_application_vectorVersion.svg.png)
Tali moduli sono intesi interagire fra loro secondo le linee generali del paradigma client-server (l'interfaccia è cliente della business logic, e questa è cliente del modulo di gestione dei dati persistenti) e utilizzano interfacce ben definite. In questo modo, ciascuno dei tre moduli può essere modificato o sostituito indipendentemente dagli altri conferendo scalabilità e manutenibilità all'applicazione. Nella maggior parte dei casi, si intende anche che i diversi moduli siano distribuiti su diversi nodi di una rete anche eterogenea.
Una soluzione three-tier tipica prevede, per esempio, un PC dedicato all'interfaccia utente grafica, una workstation o un application server per la business logic e un database server o un mainframe per la gestione dei dati. Questo schema generale è piuttosto diffuso e costituisce un'architettura di riferimento per molte tecnologie moderne. Può anche essere esteso ipotizzando che lo strato intermedio sia a sua volta "stratificato"; in questo caso si giungerebbe ad un'architettura multi-tier o architettura n-tier. Pare che sia l'espressione "three-tier" che "multi-tier" siano state inizialmente usate nella documentazione Rational.
Lo schema "three-tier" può essere definito un design pattern, e presenta diverse analogie con il pattern Model-View-Controller. Come MVC, l'architettura three-tier svolge un ruolo importante nella progettazione di applicazioni web, specialmente basati su Web service. In questo contesto, i tre strati sono intesi in una accezione più specifica:
- l'interfaccia verso l'utente è rappresentata da un Web server e da eventuali contenuti statici (es. pagine HTML);
- la business logic corrisponde a una serie di moduli integrati in un application server per la generazione di contenuti dinamici (per esempio, moduli Java EE su JBoss)
- i dati (acceduti dalla business logic) sono depositati in maniera persistente su un DBMS (data layer). Può risiedere sulla stessa macchina host dell'application server oppure su macchina host dedicata e separata.
Ad esempio: CICS [1], IBM WebSphere MQ [2], TIBCO [3], e Tuxedo [4] sono middleware e fanno tutti parte di quel settore di software che svolge il preciso ruolo di intermediazione tra applicazioni diverse.
Voci correlate
[modifica | modifica wikitesto]Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Denis Howe, three-tier, in Free On-line Dictionary of Computing. Disponibile con licenza GFDL