Está en la página 1de 24

Paradigmas de

computación
distribuida -2

ING. MSC. EUCLIDES PANDURO PADILLA 1


Modelo de llamadas a procedimientos remotos
El modelo de paso de mensajes funciona bien para protocolos básicos de
red y para aplicaciones de red básicas.
Cuando las aplicaciones crecen en complejidad, resulta necesario un nivel
de abstracción mayor para la programación distribuida.
En particular, resultaría deseable tener un paradigma que permitiera que el
software distribuido se programase de una manera similar a las aplicaciones
convencionales que se ejecutan sobre un único procesador.
El modelo RPC (Remote Procedure Call)
Utilizando este modelo, la comunicación entre dos procesos se realiza
utilizando un concepto similar al de una llamada a un procedimiento local,
que resulta familiar a los programadores de aplicaciones.

ING. MSC. EUCLIDES PANDURO PADILLA 2


Modelo de llamadas a procedimientos remotos
En un programa que sólo implica a un único
proceso, una llamada a un procedimiento del
tipo func(arg l, arg2) implica un salto en el
flujo de ejecución al código de dicho
procedimiento

ING. MSC. EUCLIDES PANDURO PADILLA 3


Modelo de llamadas a procedimientos remotos
Una llamada a un procedimiento remoto implica dos procesos
independientes, que pueden residir en máquinas diferentes.
Un proceso, A que quiere realizar una petición a otro proceso, B invoca a un
procedimiento de B, pasando junto a la llamada una lista de valores de
argumentos.
Como en el caso de la llamada a procedimientos locales, una llamada a un
procedimiento remoto dispara una acción predefinida en un procedimiento
proporcionado por B.
Al finalizar el procedimientos, el proceso B de vuelve un valor al proceso A

ING. MSC. EUCLIDES PANDURO PADILLA 4


Modelo de llamadas a procedimientos remotos

ING. MSC. EUCLIDES PANDURO PADILLA 5


Modelo de llamadas a procedimientos remotos
Para utilizar RPC e implementar nuestro sistema de subastas procederemos
de la siguiente forma:
El programa de subastas proporciona un procedimiento remoto para que
cada participante se registre y otro procedimiento para que éstos hagan pujas.
Cada programa participante proporciona los siguientes procedimientos
remotos:
1. el que permite al subastador llamar al participante para anunciar el
comienzo de una sesión.
2. el que permite al subastador informar al participante de la puja mas alta, y
3. el que permite al subastador anuncie el final de la sesión.

ING. MSC. EUCLIDES PANDURO PADILLA 6


Paradigma de objetos distribuidos

ING. MSC. EUCLIDES PANDURO PADILLA 7


Invocación a métodos remotos - RMI.
La invocación de métodos remotos (Remóte Method Invocation RMI) es el
equivalente en orientación a objetos de las llamadas a procedimientos
remotos.
En este modelo, un proceso invoca métodos de un objeto, el cual reside en
un ordenador remoto.
Los argumentos se pueden pasar con la invocación, y se puede de volver
un valor cuando el método ha concluido.

ING. MSC. EUCLIDES PANDURO PADILLA 8


Invocación a métodos remotos - RMI.
El programa de subastas proporciona un método remoto para que cada
participante se registre y otro método para que éstos hagan pujas.
Cada programa participante proporciona los siguientes métodos remotos:
1. el que permite al subastador llamar al participante para anunciar el
comienzo de una sesión
2. el que permite al subastador informar al participante de la puja más alta, y
3. el que permite que el subastador anuncie el final de la sesión.

ING. MSC. EUCLIDES PANDURO PADILLA 9


Invocación a métodos remotos - RMI.

ING. MSC. EUCLIDES PANDURO PADILLA 10


Basado en Object Request Broker - ORB
Redirige la petición al objeto apropiado que proporciona dicho servicio.
El ORB puede funcionar también como mediador para objetos
heterogéneos, permitiendo la interacción entre objetos implementados
usando diferentes API y/o ejecutando sobre diferentes plataformas.
La implementación del sistema de subastas usando un ORB es similar a la
que usa RMI. Con la excepción de que cada objeto (subastador y
participantes) deben registrarse en el ORB y son, en realidad, invocados por
este mismo.
Cada participante solicita peticiones al objeto subastador para registrarse
para la sesión y hacer pujas.

ING. MSC. EUCLIDES PANDURO PADILLA 11


Basado en Object Request Broker - ORB
A través del ORB, el subastador invoca los métodos de cada participante
para anunciar el comienzo de la sesión, actualizar el estado de las pujas, y
anunciar el final de la sesión.
Este paradigma es la base de la arquitectura CORBA (Common Object
Requesr Broker Architecture).
Herramientas bajo esta plataforma son: Visibroker de Inspire, Java IDL,
Orbix de IONA y TAO.
Las tecnologías basadas en componentes como Microsft COM, Microsoft
DCOM, Java Bean, y Enterprice Java Beans, también están basadas en este
peradigma

ING. MSC. EUCLIDES PANDURO PADILLA 12


Basado en Object Request Broker - ORB

ING. MSC. EUCLIDES PANDURO PADILLA 13


Espacios de Objetos
Quizás el más abstracto de los paradigmas orientados a objetos, el
paradigma de Espacio de Objetos que asume la existencia de entidades
lógicas conocidas como espacias de objetos.
Los participantes en una aplicación convergen en un espacio de objetos
común.
Un suministrador coloca objetos como entidades dentro de un espacio de
objetos, y los solicitantes que se subscriben al espacio pueden acceder a
dichas entidades.
 Proporciona un espacio virtual o sala de reunión entre suministradores y
solicitantes de recursos de red, como objetos

ING. MSC. EUCLIDES PANDURO PADILLA 14


Espacios de Objetos
Para el sistema de subastas, todos los participantes así como el
suministrador de servicios se suscribirían al mismo espacio de objetos.
Cada participante depositaría un objeto en el espacio de objetos para
registrarse en la sesión y para ser notificado del comienzo de la misma.
Al comienzo de la sesión, el subastador deposita otro objeto en el espacio
de objetos. El objeto contiene información sobre el elemento a subastar así
como el histórico de las pujas.
Un participante que desee realizar una puja tomará el objeto del espacio y,
si así lo quiere, añadirá una nueva puja en el objeto antes de devolverlo al
espacio de objetos.
Al final de la sesión el subastador retirará el objeto del espacio y contactará
con el participante con la mayor puja.
ING. MSC. EUCLIDES PANDURO PADILLA 15
Espacios de Objetos

ING. MSC. EUCLIDES PANDURO PADILLA 16


Agentes Móviles
Es un programa u objeto transportable.
En este paradigma, un agente se lanza desde un determinado ordenador.
El agente entonces viaja de forma autónoma de un ordenador a otro de
acuerdo con un itinerario que posee.
En cada parada, el agente accede a los recursos o servicios necesarios y
realiza las tareas correspondientes para completar su misión
El paradigma ofrece la abstracción de programa a u objeto transportable. En
lugar de intercambio de mensajes, los datos son transportados por el
programa/objeto mientras el propio objeto se transfiere entre los
participantes.

ING. MSC. EUCLIDES PANDURO PADILLA 17


Agentes Móviles

ING. MSC. EUCLIDES PANDURO PADILLA 18


Agentes Móviles
Sistema de subastas. En comienzo, cada participante lanza un agente móvil
hacia el subastador.
El agente transporta la identidad, incluyendo la dirección de red, del
participante al que representa.
Una vez que la sesión ha comenzado el subastador lanza un agente móvil
que transporta el itinerario de los participantes, así como la mayor puja.
El agente móvil circula entre los participantes y el subastador hasta que
finalice la sesión, en cuyo instante el subastador lanza el agente para dar un
recorrido más entre todos los participantes para comunicar el resultado.

ING. MSC. EUCLIDES PANDURO PADILLA 19


Paradigmas de servicios de red
Es una extensión del paradigma de invocación de métodos remotos.
La diferencia es que los objetos de servicio se registran en un directorio
global.
Los servicios se pueden registrar y localizar usando un único identificador
global.
Para nuestros sistema de subastas.
Es la misma que bajo el paradigma RMI excepto que el subastador se
registra en el servicio de directorio, permitiendo que los participantes lo
localicen.

ING. MSC. EUCLIDES PANDURO PADILLA 20


Paradigmas de servicios de red
Los participantes proporcionan un método callback que permite que el
subastador anuncie el comienzo y el final de la sesión y que actualice el
estado de la misma.
La tecnología Jini de Java esta basado en este paradigma.
El protocolo SOAP aplica este paradigma a los servicios WEB.

ING. MSC. EUCLIDES PANDURO PADILLA 21


Paradigmas de servicios de red

ING. MSC. EUCLIDES PANDURO PADILLA 22


Paradigmas de servicios de red
Trabajo corporativo basad en ordenador, los procesos participan en grupo
en una sesión colaborativa.
Cada proceso hace contribuciones a todos o parte del grupo.
Permite a cada participante leer y escribir datos sobre una visualización
compartida.
Este paradigma es la base de un gran número de programas groupware
como Lotus QuickPlane. Interfaces de programación de aplicaciones como:
Java Shared Data Toolkit.
Aplicaciones como SMART Board, netmeeting, groove

ING. MSC. EUCLIDES PANDURO PADILLA 23


Paradigmas de
computación
distribuida -2

ING. MSC. EUCLIDES PANDURO PADILLA 24

También podría gustarte