Reporte RPC

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 9

SISTEMAS DISTRIBUIDOS

INSTITUTO TECNOLOGICO DE
TUXTLA GUTIERREZ

TAREA:
TAREA : PRACTICA RPC (REMOTE PROCEDURE CALL)

Morales Mancilla José Alberto


CATEDRATICO

INTEGRANTES DEL EQUIPO:

 Peña Morales Luis


 Tinoco Ramos Guillermo

INGENIERIA EN SISTEMAS COMPUTACIONALES

TUXTLA GUTIERREZ, CHIAPAS A 11 DE ABRIL DEL 2011


SISTEMAS DISTRIBUIDOS

INTRODUCCION

El Modelo

El modelo de Llamada Remota de Procedimiento es similar al modelo de llamadas locales de


procedimientos, en el cual la rutina que invoca el procedimiento coloca los argumentos en un
área de memoria bien conocida y transfiere el control para el procedimiento en ejecución, que
lee los argumentos y los procesa. En algún momento, la rutina retoma el control, extrayendo el
resultado de la ejecución de un área bien conocida de la memoria. Después de eso, la rutina
prosigue con la ejecución normal.

Secuencia de pasos de una llamada a procedimientos remotos.

Vamos a la practica¡¡
SISTEMAS DISTRIBUIDOS

Procedimiento:

Lo primero que tenemos que hacer es escribir nuestro archivo con la extensión
“.x en mi caso se lama “funciones.x” Una vez escrito nuestro fichero funciones.x
hacemos una llamada al comando de Unix "rpcgen -a funciones..x". Esto
generará 7 ficheros distintos.

Contenido de el archivo
funciones.x, prácticamente
es la declaración vacía de
los métodos que serán
remotos.

Archivos generados por la llamda a rpcgen:

1. Makefile.funciones
2. Funciones_xdr.c
3. Funciones.h
4. Funciones_server.c
5. Funciones_client.c
6. Funciones_svc.c
7. Funciones_ctrl.c

De los cuales solo nos interesa modificar el servidor y el cliente es decir


funciones_server.c y funciones_client.c respectivamente.
SISTEMAS DISTRIBUIDOS

El código anterior es el código del archivo funciones_server.c el cual es el

servidor de nuestra aplicación, y como podemos ver es como si fuera una clase

donde tenemos las clases, ya con código y las instrucciones de lo que van a

realizar cuando sean llamadas por el cliente.


SISTEMAS DISTRIBUIDOS

El siguiente código es nuestro archivo funciones_client.c, el cual es nuestro

cliente y es el que utiliza los métodos de la remotos de otra máquina.

Como podemos observar es un programa común y corriente con la diferencia

de que tenemos que crear un cliente y las llamas a los métodos remotos tiene

un formato específico.

Lo que nos toca por hacer ahora es compilar nuestros programas con el cando

Linux make, para este caso seria “make –f Makefile.funciones”, con esto

generamos la compilación de nuestros archivos, además de los ejecutables

para servidor y cliente.


SISTEMAS DISTRIBUIDOS

La imagen anterior es la llamada a make, ahora lo que nos toca por hacer es poner a correr el

servidor.

Con esto sabemos que los proceminetos remotos están listos para ser usados por otra

máquina, digamos en espera de petición de métodos.

Para ejecutar el cliente debemos poner el nombre del ejecutable en este caso

“funciones_client” mas la dirección IP de la maquina que contiene los métodos remotos como

se muestra a continuación:
SISTEMAS DISTRIBUIDOS

Confirmemos que si funciona nuestra aplicación:


SISTEMAS DISTRIBUIDOS

CONCLUSION

RPC es una tecnología, tradicionalmente empleada en ambiente UNIX, que


permite el desarrollo de sistemas de procesamiento distribuido basados en él
paradigma procedimental. Con el advenimiento de implementaciones para
plataforma Windows, así como para Java, se concibe a RPC como una
tecnología de integración entre plataformas disimiles de hardware y software.

A mi parecer el lenguaje usado por RPC es bastante parecido a JAVARMI, es


bastante fácil ya que es lenguaje c nativo en su mayoría. A diferencia de los
sockets, en RPC no tenemos que preocuparnos de crear sockets crear clientes,
llenas estructuras o definir puertos pues todo eso ya lo trae implícito el lenguaje
de RPC, lo único que tenemos que hacer fuera de lo “común” es hacer la
creación y destrucción del cliente, pero es relativamente fácil pues se hace con
una instrucción cada una; clnt_create (host, nombre_programa,
Version_programa) y clnt_destroy (variable_clnt) respectivamente.

Como conclusión bastante útil la técnica de RPC a nuestro parecer, además de


hacer las conexiones entre cliente y servidor.
SISTEMAS DISTRIBUIDOS

BIBLIOGRAFIA

 El RPC, Trabajo de Investigación

http://es.scribd.com/doc/52219317/El-RPC-Trabajo-de-investigacion

 RPC (Remote Procedure Call)

http://www.chuidiang.com/clinux/rpc/rpc.php/

También podría gustarte