Gli stili architetturali software dei sistemi distribuiti

Gli stili architetturali software dei sistemi distribuiti

Definizione di stile architetturale

Per stile architetturale (o anche stili architetturali software) intendiamo quali componenti siano impiegati nel realizzare un Sistema distribuito, in che modo essi vengano connessi fra loro, i dati che elaborano e come la totalità dei componenti sia disposta nel sistema.
Un componente è un’unità modulare dotata di interfacce e, per via della intrinseca modularità, intercambiale (sostituibile) nel Sistema distribuito.
Un connettore è una modalità con cui i componenti possono essere messi in comunicazione fra loro.
Introdotti questi concetti possiamo ora esporre quali siano gli stili architetturali riscontrabili in un Sistema distribuito.

Gli stili architetturali software dei sistemi distribuiti

Architetture a livelli

In questo tipo di architettura l’organizzazione è prettamente gerarchica: un livello N-esimo può effettuare richieste e ricevere risposte dal livello (N-1)-esimo.
In tal modo si va a creare un flusso di richieste con direzione discendente ed un flusso di risposte con direzione ascendente nella scala gerarchica architetturale.

Architetture basate sugli oggetti

Le architetture di questo tipo prevedono l’utilizzo degli oggetti (componenti), i quali comunicano fra di loro mediante RPC.

Architetture centrate sui dati

Sono architetture basate sull’utilizzo di un repository comune, attivo o passivo, mediante il quale i processi sono in grado di scambiare i dati.

Architetture basate sugli eventi

L’architettura prevede tre attori fondamentali: i publisher di eventi, i subscriber di eventi ed il middleware.
Quando si verifica un evento, questo viene notificato al middleware sul bus eventi, ad opera di un processo publisher.
Allo stesso tempo, si saranno iscritti alla lista degli “interessati” altri processi, i quali sono in attesa di quell’evento.
Non appena ricevuta la notifica di un evento, il middleware si occupa di inoltrare tale messaggio a tutti i processi che erano iscritti a quell’evento.
Da notare che il publisher non conosce minimamente quali siano i subscriber che riceveranno la notifica.
Si tratta di qualcosa di cui si occupa il middleware, ed in tal modo si ottiene un disaccoppiamento di tipo spaziale.

E’ inoltre possibile combinare le architetture basate sugli eventi con le architettura centrate sui dati, in questo modo si riesce ad unire il disaccoppiamento spaziale con il disaccoppiamento temporale.

Precedente I principali tipi di Sistemi Distribuiti (distributed system) Successivo Le principali architetture dei sistemi distribuiti

Lascia un commento

*