Architettura three-tier

Da Wikipedia, l'enciclopedia libera.

In ingegneria del software, l'espressione architettura three-tier ("a tre strati") indica una particolare architettura software 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 va tipicamente a mappare a livello fisico-infrastrutturale quella del sistema informatico ospitante l'applicazione da eseguire.

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 utilizzando 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.

Descrizione[modifica | modifica wikitesto]

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 a una 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]