RPC
È l'acronimo di "Remote Procedure Call".
Una RPC è un messaggio che istruisce un computer a eseguire del codice per conto di un altro computer tramite una rete. Consente a un programma in esecuzione localmente su un computer di affidare una procedura (un blocco di codice che esegue un'attività specifica) a un altro programma su un server, che restituisce il risultato. Il programma che ha emesso la RPC tratta quindi il risultato della procedura remota nello stesso modo in cui tratterebbe il risultato di una procedura eseguita localmente.
Le RPC utilizzano un modello client-server, in cui più computer client possono connettersi a un server per inviare istruzioni e ricevere dati. Quando un programma emette una RPC, include un insieme di parametri per indicare al server quale procedura eseguire e come eseguirla. Per esempio, un computer client che invia un messaggio RPC a un server DNS includerebbe come parametro il nome di dominio da risolvere; un altro messaggio che invia un lavoro di stampa a una stampante di rete includerebbe come parametri impostazioni di stampa come il formato e l'orientamento della carta.
Non esiste un unico protocollo RPC. L'idea delle RPC è invece il concetto secondo cui molti protocolli consentono l'esecuzione remota del codice. Alcuni protocolli RPC comuni includono XML-RPC che formatta una RPC utilizzando il markup (XML) e JSON-RPC che formatta una RPC utilizzando (JSON). Tuttavia, tutti i protocolli RPC inviano i messaggi in modo simile. Per prima cosa, un programma client effettua una chiamata di procedura a una parte di codice lato client, chiamata stub, che funge da proxy per quella procedura. Lo stub comunica con il server per indicargli quale procedura eseguire e quali parametri utilizzare. Il server esegue la procedura e invia il risultato allo stub, che poi restituisce il risultato al programma che ha emesso la RPC.
Metti alla prova le tue conoscenze