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]
Schema architettura web three-tier

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:

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]