Топ-100
Indietro

ⓘ Chiamata di procedura remota. In informatica, lespressione chiamata di procedura remota si riferisce allattivazione da parte di un programma di una procedura o ..




                                     

ⓘ Chiamata di procedura remota

In informatica, lespressione chiamata di procedura remota si riferisce allattivazione da parte di un programma di una procedura o subroutine attivata su un computer diverso da quello sul quale il programma viene eseguito. Quindi lRPC consente a un programma di eseguire subroutine "a distanza" su computer remoti, accessibili attraverso una rete. Essenziale al concetto di RPC è lidea di trasparenza: la chiamata di procedura remota deve essere infatti eseguita in modo il più possibile analogo a quello della chiamata di procedura locale; i dettagli della comunicazione su rete devono essere "nascosti" allutilizzatore del meccanismo.

                                     

1. Accezioni del termine

A seconda del contesto, lespressione RPC viene usata in accezioni leggermente diverse:

  • può indicare il protocollo di rete utilizzato per implementare questo meccanismo di interazione.
  • può indicare il paradigma di comunicazione fra processi generale descritto sopra, per esempio in contrapposizione ad altri modelli di comunicazione come lo scambio messaggi;
  • può indicare una API in senso generale o una API specifica che consente in questo modo linterazione fra processi; per esempio, una particolare libreria che lo implementa su una certa piattaforma;
                                     

2. Paradigma RPC

Il paradigma RPC risulta particolarmente adatto per il calcolo distribuito basato sul modello client-server; la "chiamata di procedura" corrisponde alla "richiesta" inviata dal "cliente", e il "valore restituito" della procedura corrisponde alla "risposta" inviata dal "servente".

                                     

3. Localizzazione del server

Poiché la procedura viene eseguita su un terminale diverso da quello dal quale viene invocata, sorge la necessità di localizzare il server che eseguirà la procedura richiesta. Vi sono tre distinte modalità:

  • Metodo Dinamico. Lo stub del client mentre impacchetta i dati, invia un broadcast nel quale richiede lindirizzo di un server che può eseguire lRPC desiderata. Le macchine che ricevono tale messaggio di broadcast e che implementano la procedura, risponderanno al client.
  • Metodo Statico. Lindirizzo del server indirizzo IP viene cablato scritto allinterno del client.
  • Name Server. Il client consulta unentità, detta name server, che fornisce una lista di server e dei servizi che ciascuno offre.
                                     

4. Aspetti semantici

Per quanto lobiettivo ultimo del paradigma RPC sia quello di fornire un meccanismo di chiamata di procedura remota la cui semantica sia essenzialmente equivalente a quella della chiamata di procedura locale da cui la suddetta trasparenza del meccanismo, tale equivalenza non è mai compiutamente realizzata, a causa delle difficoltà che possono insorgere nella comunicazione su rete sempre soggetta a fallimento. Non essendovi un unico modo ovviamente "giusto" per gestire queste complicazioni, i meccanismi di RPC possono differire in modo sottile per quanto concerne la semantica esatta della chiamata remota.

Alcuni meccanismi, per esempio, hanno una semantica "at most once" semantica "al massimo una volta": in altre parole, una chiamata di procedura remota può fallire cioè non venire eseguita ma è garantito che non possa risultare in molteplici attivazioni della subroutine richiamata. Lapproccio opposto è rappresentato dalla semantica "at least once", che garantisce che la subroutine venga richiamata almeno una volta potrebbe quindi accadere che essa sia attivata più volte. La semantica ideale è la "exactly once" semantica "esattamente una volta", che coincide con la semantica tradizionale della chiamata a procedura. Nel caso di procedure idempotenti cioè per le quali una singola attivazione e molteplici attivazioni sono funzionalmente equivalenti, la semantica "at least once" coincide con quella "exactly once".

Altre differenze semantiche fra lRPC e la chiamata di procedura tradizionale riguardano levidente impossibilità, per la procedura richiamata, di produrre effetti collaterali nellambiente del chiamante. Anche alcune forme di passaggio parametri, come il passaggio parametri per indirizzo, non sono direttamente applicabili allRPC, ma possono essere sostituite da concetti semanticamente molto vicini come la distinzione fra parametri di input e parametri di output.



                                     

5. Interoperabilità e indipendenza dal linguaggio

Un medesimo protocollo RPC può essere reso accessibile attraverso numerose API per diversi linguaggi di programmazione. Questo consente a un programma di richiamare "subroutine" di programmi remoti potenzialmente scritti in altri linguaggi di programmazione. Nella maggior parte dei casi, sistemi RPC di questo genere usano un linguaggio di descrizione di interfacce che consente una rappresentazione formale uniforme dei meccanismi di "subroutine" forniti dai diversi linguaggi. Esempi di piattaforme che consentono linteroperabilità di programmi scritti in diversi linguaggi sono la Sun RPC anche nota come ONC RPC, il Distributed Computing Environment o DCE, le tecnologie DCOM e ActiveX di Microsoft, e il middleware CORBA.

                                     

6. Evoluzioni moderne dellRPC

Molti meccanismi moderni di RPC sottendono, in modo più o meno esplicito, lidea che i programmi interagenti siano object-oriented. In tal caso si parla anche, più propriamente, di "invocazione remota di metodi". La remotizzazione dellesecuzione dei metodi è supportata oggi dai principali linguaggi di sviluppo ad alto livello come Microsoft.NET e Java, resa disponibile rispettivamente da tecnologie come.NET TCP Remoting 2.0.NET WCF 3.X e RMI Remote Method Invocation.

Recentemente, molti produttori hanno creato tecnologie simili allRPC classica usando XML come IDL I nterface D escription L anguage e HTTP come protocollo di rete. Questi sistemi vengono chiamati web service. Un esempio celebre è SOAP Simple Object Access Protocol.

                                     
  • Chiamata efficace Chiamata di emergenza Chiamata di procedura remota Chiamata di sistema Avviso di chiamata Indicativo di chiamata Trasferimento di chiamata
  • chiamate a procedure remote Il modello si basa sull interazione remota tra client e server con il primo che effettua la chiamata di procedura remota
  • la tecnologia Remote Method Invocation può essere ricondotta, da un punto di vista concettuale, all idea di chiamata di procedura remota RPC riformulata
  • Remote Procedure Call chiamata di procedura remota in informatica Repubblica popolare cinese stato dell Asia orientale RPC Reactive Powder Concrete
  • la chiamata di procedura remota nota come DCE RPC, un servizio di directory naming, un servizio di sincronizzazione del clock globale, un servizio di autenticazione
  • facilmente mappabile a linguaggi di programmazione poco evoluti. CORBA DCOP Programmazione ad oggetti Programmazione distribuita Chiamata di procedura remota
  • value string Troppi parametri. string value member struct value fault methodResponse Chiamata di procedura remota SOAP xmlrpc.com.
  • linguaggio ed una specifica indipendente dalla piattaforma di utilizzo Chiamata di procedura remota CORBA definisce servizi d uso comune quali supporto alle
  • interfaccia grafica a finestre, nonché il più antico supporto per la chiamata di procedura remota Le due caratteristiche più rilevanti dell NLS come precursore
  • html Titolo mancante per url url aiuto Chiamata di procedura remota Interfaccia di funzione straniera Specifica indipendente dalla lingua
  • Microsoft NET. DCOM permette di effettuare chiamate di procedure remote attraverso una rete, occupandosi di tutte le mediazioni necessarie, in maniera