Componenti RPC

RPC include i componenti principali seguenti:

  • Compilatore MIDL
  • Librerie di runtime e file di intestazione
  • Provider di servizi di nome (a volte definito localizzatore)
  • Mapper endpoint (talvolta definito mapper di porta)

Nel modello RPC è possibile specificare formalmente un'interfaccia per le procedure remote usando un linguaggio progettato per questo scopo. Questo linguaggio è denominato Linguaggio di definizione dell'interfaccia o IDL. L'implementazione Microsoft di questo linguaggio è denominata Microsoft Interface Definition Language o MIDL.

Dopo aver creato un'interfaccia, è necessario passarla attraverso il compilatore MIDL. Questo compilatore genera gli stub che convertono le chiamate di routine locali nelle chiamate di routine remota. Gli stub sono funzioni segnaposto che effettuano le chiamate alle funzioni della libreria di runtime, che gestiscono la chiamata alla procedura remota. Il vantaggio di questo approccio è che la rete diventa quasi completamente trasparente per l'applicazione distribuita. Il programma client chiama le procedure locali; il lavoro di trasformarli in chiamate remote viene eseguito automaticamente. Tutto il codice che converte i dati, accede alla rete e recupera i risultati viene generato dal compilatore MIDL ed è invisibile all'applicazione.