Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Qu son?
El RPC (del ingls Remote Procedure Call, Llamada a Procedimiento
Remoto) es un protocolo que permite a un programa de ordenador ejecutar cdigo
en otra mquina remota sin tener que preocuparse por las comunicaciones entre
ambos. El protocolo es un gran avance sobre los sockets usados hasta el
momento. De esta manera el programador no tena que estar pendiente de las
comunicaciones, estando stas encapsuladas dentro de las RPC.
Cmo funcionan?
Ventajas y desventajas
Ventajas:
Comparticin De Recursos
Concurrencia
Alta escalabilidad
Tolerancia a fallos
Desventajas:
Mayor complejidad
Aspectos de seguridad
El cliente es incapaz de localizar al servidor.
El mensaje de peticin del cliente al servidor se perdi.
El mensaje de respuesta del servidor al cliente se perdi.
El servidor fall (crashes) despus de recibir una peticin.
El cliente fall (crashes) despus de enviar unapeticin.
Comparativa con los sockets
RPC y sockets son 2 cosas diferentes, los sockets pueden utilizarse en RPC.
En otras palabras los sockets pueden ser entendidas por una analoga con su
direccin de apartamento.
Suponga que su direccin de departamento es 8080 xyz, calle abc, 8080
es el nmero de su apartamento y xyz siendo su nombre en la calle abc,
Del mismo modo los sockets constan de 2 partes es decir, direccin IP y nmero
de puerto.
Teniendo en cuenta la analoga el nmero de su apartamento se convierte en el
nmero de puerto y el apartamento nombre y la calle, la direccin IP.
Con esta aplicacin se puede establecer ninguna conexin y enviar datos a otro
cliente o cualquier servidor dado su direccin IP y nmero de puerto, esta es
exactamente igual que la forma de entregar una tarjeta postal.
RPC se puede pensar en la situacin (por ejemplo), cuando cada vez que llama a
un agente de atencin al cliente. Dile a tus problemas, detalles, etc. l usa su
propio sistema para averiguar la respuesta para sus problemas (que ejecutan
determinado programa o ir a travs de manuales), A continuacin, da su respuesta
para su bsqueda. Esto puede ser visto como una RPC (llamada a procedimiento
remoto). Los sockets se podran utilizar para hacer la conexin con el servidor.
"Sockets" son una abstraccin de red muy bajo nivel. Usted est obligado a hacer
frente a cuestiones potencialmente difciles como el control de identificador de
socket vida, direccin de la unin a los zcalos, resolviendo legibles (?) Nombres
en la direccin, de conexin, etc. Tambin, los dos protocolos ms comunes
utilizados por las aplicaciones en Internet ( TCP y UDP) cada uno tiene algunas
"trampas" desagradables que pueden hacer que su uso desafiante.
"RPC" es un protocolo de nivel superior. Es tambin algo protocolo neutro Siempre que el cliente y el servidor se han instalado algunos / protocolo de red
comn compartido (y asumiendo sus implementaciones RPC juegan muy bien),
entonces los dos pueden comunicarse. En Windows, RPC funciona a travs de
sockets, canalizaciones con nombre, LRPC (un mecanismo IPC local de la
mquina), y algunos otros.
Es probable que tambin vale la pena mencionar que el modelo de programacin
para los dos son muy diferentes. Programas Sockets tienden a ver las cosas en
trminos de bytes que fluyen hacia atrs y adelante a travs de la red. Programas
RPC tienden a utilizar un modelo / respuesta de solicitud: emitir la solicitud
(llamada RPC), esperar una respuesta.
Luego est SOAP, que (basado en mi escaso entendimiento) es una especie de
RPC-ish objeto a travs de HTTP (a travs de sockets).
Evidencia de funcionamiento RPC (gestin de archivos) verificando los 6
procedimientos remotos
Conclusiones
RPC es una tecnologa, tradicionalmente empleada en ambiente UNIX, que
permite el desarrollo de aplicaciones cliente/servidor basadas en el paradigma
procedimental. Con el advenimiento de implementaciones para plataforma
Windows, as como para Java, se concibe a RPC como una tecnologa de
integracin entre plataformas heterogneas de hardware y software
Referencias
http://www.dia.eui.upm.es/asignatu/sis_dis/Paco/Comunicacion.pdf
http://es.slideshare.net/crack_708/rpc
http://www.tamps.cinvestav.mx/~vjsosa/clases/sd/RPC_ppt.pdf
http://discuss.fogcreek.com/joelonsoftware3/default.asp?
cmd=show&ixPost=106659