Upload
luis-angel-salcedo-sanabria
View
321
Download
0
Embed Size (px)
DESCRIPTION
RPC (protocolo)
Citation preview
5/16/2018 RPC (protocolo) - slidepdf.com
http://slidepdf.com/reader/full/rpc-protocolo 1/12
RPC (PROTOCOLO)Integrantes:Camilo SánchezGonzalo rodríguezJosé BohórquezJhonatan ladino
5/16/2018 RPC (protocolo) - slidepdf.com
http://slidepdf.com/reader/full/rpc-protocolo 2/12
QUE ES¿?
es un protocolo que permite a un programa deordenador ejecutar código en otra máquina remotasin tener que preocuparse por las comunicacionesentre ambos.
El protocolo es un gran avance sobre los socketsusados hasta el momento. De esta manera elprogramador no tenía que estar pendiente de lascomunicaciones, estando éstas encapsuladas
dentro de las RPC.
5/16/2018 RPC (protocolo) - slidepdf.com
http://slidepdf.com/reader/full/rpc-protocolo 3/12
Las RPC son muy utilizadas dentro del paradigmacliente-servidor. Siendo el cliente el que inicia elproceso solicitando al servidor que ejecute ciertoprocedimiento o función y enviando éste de vuelta
el resultado de dicha operación al cliente.
5/16/2018 RPC (protocolo) - slidepdf.com
http://slidepdf.com/reader/full/rpc-protocolo 4/12
HISTORIA Y ORÍGENES
La idea de RPC (Remote Procedure Call) seremonta al menos hasta 1976, cuando fue descritoen RFC 707. Una de las empresas utiliza en primerlugar de RPC era de Xerox con el nombre de "El
Correo" en 1981 . La aplicación popular primero deRPC en Unix se RPC de Sun (que ahora se llamaONC RPC), usado como base para el NFS de Sun.ONC RPC está siendo ampliamente utilizada hoy
en varias plataformas.
5/16/2018 RPC (protocolo) - slidepdf.com
http://slidepdf.com/reader/full/rpc-protocolo 5/12
PASO DE MENSAJES
RPC es un paradigma claro y popular para la aplicación delcliente modelo de servidor de la informática distribuida. UnRPC es iniciada por el cliente que envía un mensaje desolicitud a un servidor remoto conocido con el fin de ejecutarun procedimiento especificado utilizando parámetrossuministrados. Una respuesta se devuelve al cliente cuandola aplicación continúa a lo largo de su proceso. Hay muchasvariaciones y matices en la ejecución de diversas, resultandoen una variedad de diferentes (incompatibles) protocolosRPC. Mientras que el servidor está procesando la llamada, se
bloquea el cliente (se espera hasta que el servidor haterminado de procesar antes de reanudar la ejecución).
5/16/2018 RPC (protocolo) - slidepdf.com
http://slidepdf.com/reader/full/rpc-protocolo 6/12
Una diferencia importante entre las llamadas aprocedimiento remoto y las llamadas locales es que
las llamadas remotas pueden fracasar a causa deproblemas de red impredecibles. Además, los quellaman generalmente deben hacer frente a estosfallos sin saber si el procedimiento remoto fue en
realidad invocada. Procedimientos idempotente(aquellos que no tienen efectos adicionales si sellama más de una vez) son fáciles de manejar, perolas dificultades siguen siendo suficiente que elcódigo que llama a procedimientos remotos es a
menudo limitarse a cuidadosamente escritosubsistemas de bajo nivel.
5/16/2018 RPC (protocolo) - slidepdf.com
http://slidepdf.com/reader/full/rpc-protocolo 7/12
Hay distintos tipos de RPC, muchos de ellos
estandarizados como pueden ser el RPC de Sundenominado ONC RPC (RFC 1057), el RPC deOSF denominado DCE/RPC y el Modelo deObjetos de Componentes Distribuidos de Microsoft
DCOM, aunque ninguno de estos es compatibleentre sí. La mayoría de ellos utilizan un lenguaje dedescripción de interfaz (IDL) que define losmétodos exportados por el servidor.
5/16/2018 RPC (protocolo) - slidepdf.com
http://slidepdf.com/reader/full/rpc-protocolo 8/12
TERMINOLOGÍA: ONC\RPC: Open Network Computing /Remote Procedure
Call: es un protocolo de llamada a procedimiento remoto(RPC) desarrollado por el grupo ONC de Sun Microsystemscomo parte del proyecto de su sistema de archivos de RedNFS, algunas veces se lo denomina Sun ONC o Sun RPC
DCE\RPC Distributed Computing Environment / RemoteProcedure Calls: es un sistema de llamada a procedimientoremoto que permite que el software para trabajar en variosequipos, como si se tratara de todos los que trabajan en elmismo equipo. Este sistema permite a los programadores aescribir software distribuido sin tener que preocuparse por elcódigo de red subyacente.
IDL: Interface definition language: es en computación, comosu propio nombre indica un lenguaje de especificación deinterfaces que se utiliza en software de computacióndistribuida. Ofrece la sintaxis necesaria para definir losprocedimientos o métodos que queremos invocarremotamente
5/16/2018 RPC (protocolo) - slidepdf.com
http://slidepdf.com/reader/full/rpc-protocolo 9/12
XML-RPC es un protocolo de llamada a
procedimiento remoto que usa XML para codificarlos datos y HTTP como protocolo de transmisión demensajes.
Es un protocolo muy simple ya que sólo define
unos cuantos tipos de datos y comandos útiles,además de una descripción completa de cortaextensión. La simplicidad del XML-RPC está encontraste con la mayoría de protocolos RPC quetiene una documentación extensa y requiere
considerable soporte de software para su uso.
5/16/2018 RPC (protocolo) - slidepdf.com
http://slidepdf.com/reader/full/rpc-protocolo 10/12
S E G Ú N
L A
E S P E C I F I C A
C I Ó N
D E
X M
L - R P C ,
L O S
P R I N
C I P A L E S
T I P O
S D E
D A T O S
S ON :
Nombre Tags de ejemplo Descripción
array
<array> <data><value><i4>1404</i4></
value><value><string>Algoacá</string></value><value><i4>1</i4></value> </data> </array>
Array de valores, sinalmacenar claves
base64<base64>eW91IGNhbid0IHJlYWQgdGhpcyE=</base64
>
Datos binarios codificados enbase 64
boolean <boolean>1</boolean> Valor lógico (0 o 1)
date/time<dateTime.iso8601>19980717T14:08:55</dateTime.iso8601>
Día y hora
double<double>-12.53</double>
Número de coma flotante dedoble precisión
integer<i4>42</i4>
o<int>42</int>
Número entero
string<string>Holamundo</string>
String (cadena) decaracteres. Debe seguir lacodificación XML.
struct
<struct> <member><name>foo</name><value><i4>1</i4></value> </member> <member><name>bar</name><value><i4>2</i4></value> </member></struct>
Array de valores,almacenando claves
nil <nil/> Valor nulo; una extensiónXML-RPC
5/16/2018 RPC (protocolo) - slidepdf.com
http://slidepdf.com/reader/full/rpc-protocolo 11/12
UNA INVOCACIÓN XML-RPC PODRÍASER:
<?xml version="1.0"?> <methodCall>
<methodName>org.wikipedia.intercambioDatos</methodName>
<params> <param> <value><i4>360</i4></value> </param> <param> <value><i4>221</i4></value> </param> </params> </methodCall>
5/16/2018 RPC (protocolo) - slidepdf.com
http://slidepdf.com/reader/full/rpc-protocolo 12/12
UNA RESPUESTA A LA INVOCACIÓN:
<?xml version="1.0"?>
<methodResponse>
<params>
<param> <value><string>Intercambio datos nro. 360 por
221</string></value> </param>
</params> </methodResponse>