Componentes RPC
O RPC inclui os seguintes componentes principais:
- Compilador MIDL
- Bibliotecas em tempo de execução e arquivos de cabeçalho
- Provedor de serviços de nome (às vezes chamado de Localizador)
- Mapeador de ponto de extremidade (às vezes chamado de mapeador de porta)
No modelo RPC, você pode especificar formalmente uma interface para os procedimentos remotos usando uma linguagem projetada para essa finalidade. Esse idioma é chamado de Linguagem de Definição de Interface ou IDL. A implementação da Microsoft dessa linguagem é chamada de Linguagem de Definição de Interface da Microsoft ou MIDL.
Depois de criar uma interface, você deve passá-la pelo compilador MIDL. Esse compilador gera os stubs que convertem chamadas de procedimento local em chamadas de procedimento remoto. Stubs são funções de espaço reservado que fazem as chamadas para as funções de biblioteca em tempo de execução, que gerenciam a chamada de procedimento remoto. A vantagem dessa abordagem é que a rede se torna quase completamente transparente para seu aplicativo distribuído. Seu programa cliente chama o que parecem ser procedimentos locais; o trabalho de transformá-los em chamadas remotas é feito para você automaticamente. Todo o código que converte dados, acessa a rede e recupera resultados é gerado para você pelo compilador MIDL e é invisível para seu aplicativo.