You are on page 1of 12

RPC (PROTOCOLO)

Integrantes: Camilo Snchez Gonzalo rodrguez Jos Bohrquez Jhonatan ladino

QUE ES?
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.

Las RPC son muy utilizadas dentro del paradigma cliente-servidor. Siendo el cliente el que inicia el proceso solicitando al servidor que ejecute cierto procedimiento o funcin y enviando ste de vuelta el resultado de dicha operacin al cliente.

HISTORIA Y ORGENES

La idea de RPC (Remote Procedure Call) se remonta al menos hasta 1976, cuando fue descrito en RFC 707. Una de las empresas utiliza en primer lugar de RPC era de Xerox con el nombre de "El Correo" en 1981 . La aplicacin popular primero de RPC en Unix se RPC de Sun (que ahora se llama ONC RPC), usado como base para el NFS de Sun. ONC RPC est siendo ampliamente utilizada hoy en varias plataformas.

PASO DE MENSAJES

RPC es un paradigma claro y popular para la aplicacin del cliente modelo de servidor de la informtica distribuida. Un RPC es iniciada por el cliente que enva un mensaje de solicitud a un servidor remoto conocido con el fin de ejecutar un procedimiento especificado utilizando parmetros suministrados. Una respuesta se devuelve al cliente cuando la aplicacin contina a lo largo de su proceso. Hay muchas variaciones y matices en la ejecucin de diversas, resultando en una variedad de diferentes (incompatibles) protocolos RPC. Mientras que el servidor est procesando la llamada, se bloquea el cliente (se espera hasta que el servidor ha terminado de procesar antes de reanudar la ejecucin).

Una diferencia importante entre las llamadas a procedimiento remoto y las llamadas locales es que las llamadas remotas pueden fracasar a causa de problemas de red impredecibles. Adems, los que llaman generalmente deben hacer frente a estos fallos sin saber si el procedimiento remoto fue en realidad invocada. Procedimientos idempotente (aquellos que no tienen efectos adicionales si se llama ms de una vez) son fciles de manejar, pero las dificultades siguen siendo suficiente que el cdigo que llama a procedimientos remotos es a menudo limitarse a cuidadosamente escrito subsistemas de bajo nivel.

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 mayora de ellos utilizan un lenguaje de descripcin de interfaz (IDL) que define los mtodos exportados por el servidor.

TERMINOLOGA:

ONC\RPC: Open Network Computing /Remote Procedure Call: es un protocolo de llamada a procedimiento remoto (RPC) desarrollado por el grupo ONC de Sun Microsystems como parte del proyecto de su sistema de archivos de Red NFS, algunas veces se lo denomina Sun ONC o Sun RPC DCE\RPC Distributed Computing Environment / Remote Procedure Calls: es un sistema de llamada a procedimiento remoto que permite que el software para trabajar en varios equipos, como si se tratara de todos los que trabajan en el mismo equipo. Este sistema permite a los programadores a escribir software distribuido sin tener que preocuparse por el cdigo de red subyacente. IDL: Interface definition language: es en computacin, como su propio nombre indica un lenguaje de especificacin de interfaces que se utiliza en software de computacin distribuida. Ofrece la sintaxis necesaria para definir los procedimientos o mtodos que queremos invocar remotamente

XML-RPC es un protocolo de llamada a procedimiento remoto que usa XML para codificar los datos y HTTP como protocolo de transmisin de mensajes. Es un protocolo muy simple ya que slo define unos cuantos tipos de datos y comandos tiles, adems de una descripcin completa de corta extensin. La simplicidad del XML-RPC est en contraste con la mayora de protocolos RPC que tiene una documentacin extensa y requiere considerable soporte de software para su uso.

Nombre

Tags de ejemplo

Descripcin

SEGN LA ESPECIFICACIN DE XML-RPC, LOS PRINCIPALES TIPOS DE DATOS SON:

array

<array> <data> <value><i4>1404</i4></ value> <value><string>Algo ac</string></value> <value><i4>1</i4></val ue> </data> </array>

Array de valores, sin almacenar claves

base64

<base64>eW91IGNhbid0IH JlYWQgdGhpcyE=</base64 > <boolean>1</boolean> <dateTime.iso8601>1998 0717T14:08:55</dateTim e.iso8601> <double>12.53</double> <i4>42</i4> o <int>42</int> <string>Hola mundo</string>

Datos binarios codificados en base 64 Valor lgico (0 o 1)

boolean

date/time

Da y hora

double

Nmero de coma flotante de doble precisin Nmero entero

integer

string

String (cadena) de caracteres. Debe seguir la codificacin XML.

struct

<struct> <member> <name>foo</name> <value><i4>1</i4></val ue> </member> <member> <name>bar</name> <value><i4>2</i4></val ue> </member> </struct>

Array de valores, almacenando claves

nil

<nil/>

Valor nulo; una extensin XML-RPC

UNA INVOCACIN XML-RPC PODRA SER:


<?xml version="1.0"?> <methodCall> <methodName>org.wikipedia.intercambioDatos</m ethodName> <params> <param> <value><i4>360</i4></value> </param> <param> <value><i4>221</i4></value> </param> </params> </methodCall>

UNA RESPUESTA A LA INVOCACIN:


<?xml version="1.0"?> <methodResponse> <params> <param> <value><string>Intercambio datos nro. 360 por 221</string></value> </param> </params> </methodResponse>

You might also like