Rpc remote procedure call

Solo disponible en BuenasTareas
  • Páginas : 2 (411 palabras )
  • Descarga(s) : 7
  • Publicado : 3 de junio de 2010
Leer documento completo
Vista previa del texto
El RPC (del inglés Remote Procedure Call, Llamada a Procedimiento Remoto) es un protocolo que permite a un programa de ordenador ejecutar código en otra máquina remota sin tener que preocuparse porlas comunicaciones entre ambos. El protocolo es un gran avance sobre los sockets usados hasta el momento. De esta manera el programador no tenía que estar pendiente de las comunicaciones, estando éstasencapsuladas dentro de las RPC.
Las RPC son muy utilizadas dentro del paradigma cliente-servidor. Siendo el cliente el que inicia el proceso solicitando al servidor que ejecute cierto procedimientoo función y enviando éste de vuelta el resultado de dicha operación al cliente.
Hay distintos tipos de RPC, muchos de ellos estandarizados como pueden ser el RPC de Sun denominado ONC RPC (RFC 1057),el RPC de OSF denominado DCE/RPC y el Modelo de Objetos de Componentes Distribuidos de Microsoft DCOM, aunque ninguno de estos es compatible entre sí. La mayoría de ellos utilizan un lenguaje dedescripción de interfaz (IDL) que define los métodos exportados por el servidor.
Hoy en día se está utilizando el XML como lenguaje para definir el IDL y el HTTP como protocolo de red, dando lugar a loque se conoce como servicios web. Ejemplos de éstos pueden ser SOAP o XML-RPC.
Ejemplo:

1. Cuando un proceso en una máquina A llama a un procedimiento en la máquina B:
2. El proceso querealiza la llamada desde A se suspende
3. La ejecución del procedimiento se realiza en B
4. La información se puede pasar de un proceso a otro como parámetros, y regresar como resultado delprocedimiento
5. El programador no se preocupa de la transferencia de mensajes

Problemas que resuelve:
1) Ambos procesos están en espacios de direcciones distintos
2) Transferencia deparámetros y resultados
3) Heterogeneidad
a) Qué pasa si las dos máquinas tienen arquitecturas distintas
4) Fiabilidad
b) Qué pasa si hay fallos en alguna de las máquinas
c)...
tracking img