Informatica

Páginas: 19 (4622 palabras) Publicado: 25 de mayo de 2012
2.3 Llamada a procedimientos remotos (RPC)
(a) Concepto y objetivos
Idea: Ocultar/abstraer los detalles relativos a la comunicaci´n que son
o
comunes a diversas aplicaciones
Gesti´n de los di´logos petici´n-respuesta
o
a
o
Aplanamiento y formateo de datos (enteros, reales, cadenas, estructuras,...) [marshaling, serializacion]
• Aplanar: organizar datos complejos en un mensaje
•Desaplanar: extrar datos complejos de un mensaje aplanado
• Gestionar: representaci´n info. (orden de bytes, tipos complejos, alineado en
o
memoria), diferencias de hardware y S.O.

Gesti´n de la interfaz de comunicaci´n (crear y configurar sockets,
o
o
conectar, escribir, leer, ...)
Aproximaci´n: llamada a procedimientos remotos (RPC:Remote Proo
cedure Call )
Generar autom´ticamente el c´digousado en esas tareas comunes
a
o
Ofrecer el entorno y los componentes de apoyo necesarios para dar
soporte a esa infraestructura
Procedimiento llamante y procedimiento llamado se ejecutan en
m´quinas distintas
a
Ofrecer la ilusi´n de que la llamada remota parezca id´ntica a una
o
e
llamada local (transparencia)
Objetivo: Proporcionar un middelware que simplifique el desarrollo deaplicaciones distribuidas
Evitar que programador tenga que interactuar directamente con el
interfaz de Sockets
• Abstraer (ocultar) los detalles relativos a la red
– FJRP, FMBR 2008/09 ccia SCS –

1

Servidor ofrece procedimientos que el cliente llama como si fueran
procedimientos locales
• Se busca ofrecer un entorno de programaci´n lo m´s similar
o
a
posible a un entorno no distribuido• El sistema RPC oculta los detalles de implementaci´n de esas
o
llamadas remotas
◦ implementa la llamada remota mediante un di´logo petici´na
o
respuesta

mensaje de petici´n:
o

identifica procedimiento llamado
contiene par´metros de la llamada
a

mensaje de respuesta: contiene valor/es devuelto/s

◦ se encarga de enviar/recibir mensajes para comunicar ambas
partes
◦ seencarga de gestionar los contenidos de esos mensajes (empaquetado y formateado de datos)
(b) Funcionamiento general
Proceso llamador (cliente):
• Proceso realiza la llamada a una funci´n.
o
• Llamada empaqueta id. de funci´n y argumentos en mensaje
o
• Env´ mensaje a otro proceso.
ıa
• Queda a la espera del resultado.
• Al recibirlo, lo desempaqueta y retorna el valor
Proceso llamado(servidor):
• Recibe mensaje con id. de funci´n y argumentos.
o
• Se invoca funci´n en el servidor.
o
• Resultado de la funci´n se empaqueta en mensaje
o
• Se transmite mensaje de respuesta al cliente.

– FJRP, FMBR 2008/09 ccia SCS –

2

(c) Ejemplos de entornos RPC
Sun-RPC (ONC-RPC: Open Network Computing-RPC): RPC muy extendido en
entornos Unix, infraestructrua sobre la que se ejecutaNFS (servicio de sistema de
ficheros en red), NIS (servicio de directorio)
DCE/RPC (Distributed Computing Environmen RPC): RPC definido por la Open
Software Foundation
Java-RMI : invocaci´n de m´todos remotos en Java
o
e
CORBA (Common Object Requesting Broker Architecture): soporta la invocaci´n
o
de m´todos remotos bajo un paradigma orientado a objetos en diversos lenguajes
e
SOAP (SimpleObject Access Protocol): protocolo RPC basado en el intercambio
de datos (par´metos+resultados) en formato XML
a
DCOM (Distributed Component Object Model): Modelo de Objetos de Componentes Distribuidos de Microsoft, con elementos de DCE/RPC
.NET Remoting : Infraestructura de invocaci´n remota de .NET
o

(d) Diferencias con llamadas locales (LPC)
Punto clave: manejo de errores
• Con RPCpueden existir fallos en servidor remoto o en la red
• Deben detectarse y notificarse al llamador (cliente)
Acceso a variables globales y efectos laterales en el cliente no son
posible
• Procedim. remoto (servidor) no tiene acceso al espacio de direcciones del cliente → imposibilidad de usar punteros
• RPC impone un mayor nivel de encapsulamiento
Los par´metros para la llamada remota no...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Informatica
  • Informatica
  • Informatica
  • Informatica
  • Informatica
  • Informática
  • Informatica
  • Informatica

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS