Paradigmi di comunicazione nei sistemi distribuiti (SD)

Paradigmi di comunicazione nei sistemi distribuiti (SD)

Un sistema distribuito consiste in un insieme di computer che comunicano su di una rete per coordinare le azioni e i processi di un’applicazione. Le tecnologie per la realizzazione di sistemi distribuiti hanno suscitato molto interesse negli ultimi anni, anche grazie alla proliferazione dei sistemi e servizi basati sul Web.
Tecnologie consolidate come la comunicazione tra processi e l’invocazione remota, i naming service, la sicurezza e la crittografia, i file system distribuiti, la replicazione dei dati e i meccanismi di transazione distribuita, forniscono una solida infrastruttura di run-time che supporta le applicazioni di rete odierne.
Il modello dominante è ancora la tradizionale architettura client-server, ma lo sviluppo di applicazioni in ambito distribuito si sta basando sempre di più sia sull’impiego di supporti middleware, che forniscono astrazioni di alto livello, come oggetti distribuiti condivisi, sia su altri generi di servizi, come per la comunicazione sicura o per l’autenticazione.

Inoltre lo stesso Internet, con i suoi protocolli base, ed anche, ad un livello più alto, il World Wide Web stanno diventando una piattaforma standard per le applicazioni distribuite. Difatti Internet e le sue risorse possono essere viste come un ambiente globale in cui ha luogo l’elaborazione informatica. Di conseguenza l’attenzione si focalizza su nuovi standard e protocolli di alto livello, come XML, mentre passano in secondo piano aspetti di basso livello, come ad esempio le peculiarità di un sistema operativo.

Paradigmi di comunicazione nei sistemi distribuiti (SD)

Paradigmi di comunicazione

Esistono diversi modi attraverso i quali componenti di applicativi software risiedenti su macchine differenti possono comunicare fra loro adoperando una rete. Una tecnica di basso livello è quella di utilizzare direttamente le interfacce offerte dal livello trasporto, come il meccanismo delle socket, assieme ad un protocollo di comunicazione pensato ad hoc per l’utilizzo specifico. Comunque programmare a questo livello di astrazione è consigliabile solo in particolari circostanze poiché demanda completamente al programmatore la gestione di complessi problemi come la sicurezza, l’eterogeneità e la concorrenza.
Nella maggior parte dei casi, invece, è preferibile scegliere tra una serie di protocolli e ambienti di più alto livello quello che meglio si adatta alle proprie esigenze. Alcuni di questi protocolli sono self-contained e possono essere usati in qualsiasi programma applicativo con un overhead addizionale basso o addirittura nullo. Altri protocolli ed ambienti, invece, sono vincolati a specifici linguaggi di programmazione o a particolari piattaforme di esecuzione.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

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