Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Nos primórdios da programação de computadores, cada programa era escrito como um grande bloco monolítico, preenchido com goto instruções. Cada programa tinha que gerenciar sua própria entrada e saída para diferentes dispositivos de hardware. À medida que a disciplina de programação amadureceu, esse código monolítico foi organizado em procedimentos, com os procedimentos mais comumente usados embalados em bibliotecas para compartilhamento e reutilização.
A linguagem de programação C suporta programação orientada a procedimentos. Em C, o procedimento principal trata todos os outros procedimentos como caixas negras. Por exemplo, o procedimento principal não consegue descobrir como os procedimentos A, B e X fazem o seu trabalho. O procedimento principal requer apenas outro procedimento; não dispõe de informações sobre a forma como esse procedimento é aplicado.
As linguagens de programação orientadas a procedimentos fornecem mecanismos simples para especificar e escrever procedimentos. Por exemplo, o protótipo da função C padrão ANSI é uma construção usada para especificar o nome de um procedimento, o tipo do resultado que ele retorna (se houver) e o número, sequência e tipo de seus parâmetros. Usar o protótipo de função é uma maneira formal de especificar uma interface entre procedimentos.
O Microsoft RPC se baseia nesse modelo de programação, permitindo que procedimentos, agrupados em interfaces, residam em processos diferentes do chamador. O RPC da Microsoft também adiciona uma abordagem mais formal à definição de procedimentos que permite que o chamador e a rotina chamada adotem um contrato para troca remota de dados e funcionalidade de invocação. No modelo de programação RPC da Microsoft, as chamadas de função tradicionais são complementadas com dois elementos adicionais.
- O primeiro elemento é um arquivo .idl/.acf que descreve com precisão a troca de dados e o mecanismo de passagem de parâmetros entre o chamador e o procedimento chamado.
- O segundo elemento é um conjunto de APIs de tempo de execução que fornecem aos desenvolvedores controle granular da chamada de procedimento remoto, incluindo aspetos de segurança, gerenciamento de estado no servidor, especificação de quais clientes podem falar com o servidor e assim por diante.