comunicación entre procesos - universidad nacional del sursd/data/apuntes/sd-2020-mod 10.pdf ·...
TRANSCRIPT
![Page 1: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/1.jpg)
Objetos Distribuidos
![Page 2: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/2.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Agenda
1. Conceptos de objetos y objetos distribuidos
2. Organización
3. Tipos
4. Procesos
5. Comunicación
1. Modelo
2. RMI
3. Ejemplo: Java RMI
6. Sincronización, Consistencia y Replicación
7. Ejemplo Middleware: CORBA
![Page 3: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/3.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos - Conceptos
Estado: encapsula los datos
Métodos: operaciones sobre los datos
Interfaz: se utiliza para la disponibilidad de los métodos
El Estado y la Interfaz se encuentran en máquinas distintas
Objetos Distribuidos
![Page 4: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/4.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos
Objetos Distribuidos
o Referencias a ObjetosRemotas
o Interfaces Remotas
o Acciones distribuidas
o Excepciones distribuidas
o Garbage collection distribuido
Objetos
o Referencias a Objetos
o Interfaces
o Acciones
o Excepciones
o Garbage collection
![Page 5: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/5.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos - Organización
![Page 6: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/6.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos - Tipos
o Tiempo de Compilación (Compile-Time)
o Tiempo de Ejecución (Runtime)
o Persistentes
o Transitorios
Ejemploso Enterprise Java Beans (Objeto Remoto)o Objetos compartidos distribuido Globe
(Objeto Distribuido)
![Page 7: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/7.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos - Procesos
o SERVIDORES DE OBJETOS – servidor diseñado para alojar objetosdistribuidos.
o Este tipo de servidores no proporciona, por sí mismo, unservicio específico.
o Los servicios específicos son implementados por los objetosque residen en el servidor
o Invocación de Objetos
o Qué código debe ejecutar
o Qué datos debe operar
o Si debe iniciar un nuevo thread para que se haga cargo de lainvocación
![Page 8: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/8.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos - Procesos
SERVIDORES DE OBJETOS
o Invocación de Objetos
o Soporte una única forma de invocación
o Soporte diferentes formas de invocación
o Adaptadores de objetos
![Page 9: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/9.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos - Comunicación
RMI (Remote Method Invocation) es una extensión de lainvocación de métodos locales que permiten que un objeto quevive en un proceso invoque los métodos de un objeto que resideen otro proceso.
o El modelo de comunicación está construido sobre el protocoloREQUEST-REPLY y con semántica de llamada AL MENOS UNA VEZ o A
LO SUMO UNA VEZ.
![Page 10: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/10.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Distr_object* obj_ref; //Declaración de una referencia a un // objeto del sistema (systemwide)
obj_ref = …; // Inicialización de la referencia al // objeto ditribuido
obj_ref-> do_something(); // Bind implícito e invocación a un // métdodos.
(A) Un ejemplo con binding implícito utilizando solamente referencias globales.
Objetos Distribuidos – Comunicación
o Binding un Cliente a un Objeto
![Page 11: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/11.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Distr_object objPref; //Declaración de una referencia a un //objeto del sistema (systemwide)
Local_object* obj_ptr; //Declaración de un puntero a un //objeto local
obj_ref = …; //Inicialización de la referencia al //objeto distribuido.
obj_ptr = bind(obj_ref); //Bind explícito y obtención de un // puntero al proxy local.
obj_ptr -> do_something(); //Invocación de un método en el proxy // local.
(B) Un ejemplo con binding explícito utilizando referencias globales y locales.
Objetos Distribuidos – Comunicación
o Binding un Cliente a un Objeto
![Page 12: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/12.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos – Comunicación
Referencia a un Objeto
o Dirección de red de la máquina, dirección de Internet
o Identificación del servidor (puerto)
o Tiempo
o Identificación del objeto
o Interface del Objeto Remoto
Dir Internet Nro. puerto tiempo Nro.objetointerface del Objeto remoto
32 bits 32 bits 32 bits 32 bits
![Page 13: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/13.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos – Comunicación
Forma de Invocación
o Estática
o Dinámica
Fobjeto.append(int)p. ej
Invoke(objeto, método, param entrada, param salida)
Invoke(fobjeto, id(append), int)
![Page 14: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/14.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos – Comunicación
o Pasaje de Parámetros
![Page 15: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/15.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
remotainvocación
invocaciónremota
FA
invocación
local
local
local
invocación
invocación
B
C
D
E
Objetos Distribuidos – Comunicación
Invocación de Métodos Locales y Remotos
![Page 16: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/16.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
interface
remota
m1
m2
m3
m4m5
m6
Datos
implementación
remotoobjeto
{ De métodos
Objetos Distribuidos – Comunicación
o Objeto Remoto e Interfaces
![Page 17: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/17.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
objeto A objeto Bskeleton
Requestproxy de B
Reply
ComunicaciónMódulo
Referencia remotaComunicación
Módulo deMódulo de
Referencia remota
Módulo
Para clase B’s & dispatcher
remotocliente servidor
Servant
Objetos Distribuidos – Comunicación
Arquitectura y Componentes
![Page 18: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/18.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos – Comunicación
cliente Proxy Servant
Servicio requerimiento
Servicio requerimiento
resultado
resultado
Pre-procesamiento
post-procesamiento
Interface IInterface I
Llamada remota (usualmente)
![Page 19: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/19.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos – Comunicación
cliente Adapter Servant
Servicio requerimiento
Servicio requerimiento
resultado
resultado
Pre-procesamiento
post-procesamiento
Interface I2Interface I1
![Page 20: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/20.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos – Comunicación
Ejemplo - Java RMIo Java Remote Method Invocation (Java RMI) permite crear
aplicaciones distribuidas utilizando la tecnología basada enJava, permitiendo que los métodos de objetos remotos puedanser invocados desde otra máquina virtual Java, ubicadaposiblemente en otro nodo.
o RMI utiliza serialización de objetos para realizar el marshal yunmarshal de los parámetros y no truncar tipos, soportando elpolimorfismo de la orientación a objetos.
o Releases de Java RMI
o Java RMI está disponible para la Plataforma Java 2, Standard Edition (J2SE) y la Plataforma Java 2, Micro Edition (J2ME).
![Page 21: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/21.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos – Comunicación: Java RMIo Pasos para realizar una aplicación distribuida
1. Diseñar la interfaz remota
2. Diseñar el programa servidor
3. Diseñar el programa cliente
4. Compilar los fuente y generar los stubs
![Page 22: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/22.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos – Comunicación: Java RMI1.- Diseñar la Interfaz RemotaReceiveMessageInterface.java
import java.rmi.*;
public interface ReceiveMessageInterface extends Remote
{
void receiveMessage(String x) throws RemoteException;
}
![Page 23: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/23.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos – Comunicación: Java RMI2.- Diseñar el programa ServidorRmiServer.javaimport java.rmi.*;import java.rmi.registry.*;import java.rmi.server.*;import java.net.*;public class RmiServer extends java.rmi.server.UnicastRemoteObjectimplements ReceiveMessageInterface{
int thisPort;String thisAddress;Registry registry; // rmi registry buscar los objetos remoto.
// Es la implementación de ReceiveMessageInterface.public void receiveMessage(String x) throws RemoteException{
System.out.println(x);}
![Page 24: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/24.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos – Comunicación: Java RMIpublic RmiServer() throws RemoteException
{try{
// get the address of this host.thisAddress=
(InetAddress.getLocalHost()).toString();}catch(Exception e){
throw new RemoteException("can't get inetaddress.");
}thisPort=15500; // puerto seleccionado
System.out.println(“direccion="+thisAddress+",puerto="+thisPort);
try{// creación del registry y bind del nombre y
objeto.registry = LocateRegistry.createRegistry(
thisPort );registry.rebind("rmiServer", this);
}catch(RemoteException e){throw e;}
} static public void main(String args[]){
try{RmiServer s=new RmiServer();
} catch (Exception e) {
e.printStackTrace();System.exit(1);
}}
}
![Page 25: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/25.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos – Comunicación: Java RMI3.- Diseñar el programa clienteRmiClient.javaimport java.rmi.*;import java.rmi.registry.*;import java.net.*;public class RmiClient{
static public void main(String args[]){
ReceiveMessageInterface rmiServer;Registry registry;String serverAddress=args[0];String serverPort=args[1];String text=args[2];System.out.println(“Enviando "+text+" a "+ serverAddress
+":"+serverPort);
![Page 26: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/26.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos – Comunicación: Java RMIRmiClient.java (continuación)
try{// obtener el registry”registry=LocateRegistry.getRegistry(serverAddress,
(new Integer(serverPort)).intValue());// buscar el objeto remotormiServer= (ReceiveMessageInterface)(registry.lookup("rmiServer"));// call the remote methodrmiServer.receiveMessage(text);
}catch(RemoteException e){
e.printStackTrace();}catch(NotBoundException e){
e.printStackTrace();}
}}
![Page 27: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/27.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos – Comunicación: Java RMI4.- Compilar los fuentes y generar los stubs
o javac RmiServer.java ReceiveMessageInferface.java
o javac RmiClient.java ReceiveMessageInterface.java
o rmic –classpath . RmiServer
RmiServer_Skel.classRmiServer_Stub.class
![Page 28: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/28.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos – Asignación de Nombreso Vinculada con el lenguaje de programación. Por ejemplo: proxy
de Java
o Independiente del lenguaje y la plataforma. Por ejemplo enCORBA, se utiliza una referencia a objeto interoperable (IOR).
![Page 29: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/29.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos – Asignación de NombresOrganización del IOR
![Page 30: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/30.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos
Aspectos a tener en cuenta son:
o Consistencia
o Ejecución concurrente. Sincronización. Ordenamiento.
o Replicación
o Atención de un requerimiento cuando hay réplicas entre una o varias invocaciones.
![Page 31: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/31.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos – Sincronización
o Diferencias en el control de flujo para bloquear procesos
![Page 32: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/32.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos – Consistencia
![Page 33: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/33.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos – Replicación
El problema de invocaciones replicadas.
El objeto recibela misma invocacióntres veces
El cliente replicala invocación
Todas las réplicas venla misma invocación
Objeto replicado
![Page 34: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/34.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos – Replicación
a) Reenvío de una invocación desde un objeto replicado.
b) Retorno de una respuesta al objeto replicado.
Coordinadordel objeto B
Coordinadordel objeto C
Resultado
Resultado
Cliente replicainvocación
![Page 35: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/35.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos
Common Object Request Broker Architecture - CORBA
o CORBA es un diseño de middleware que permite que losprogramas de aplicación se comuniquen unos con otros conindependencia de sus lenguajes de programación, susplataformas hardware y software, las redes sobre las que secomunican y sus implementaciones.
![Page 36: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/36.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos - CORBA
Componentes independientes del esquema RMI
o Un lenguaje de definición de interfaces conocido como IDL
o Una arquitectura
o Estándares de comunicación. General Inter-ORB (GIOP)
o Internet Inter-ORB Protocol (IIOP)
![Page 37: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/37.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Objetos Distribuidos - CORBA
clientserver
proxy
or dynamic invocation
implementation
repository objectadapter
ORBORB
skeleton
or dynamic skeleton
clientprogram
interface
repository
Request
Replycorecorefor A
Servant
A
![Page 38: Comunicación entre Procesos - Universidad Nacional del Sursd/data/apuntes/SD-2020-mod 10.pdf · 2020. 7. 22. · 1. Conceptos de objetos y objetos distribuidos 2. Organización 3](https://reader035.vdocuments.site/reader035/viewer/2022081623/613e2f1b59df642846165d89/html5/thumbnails/38.jpg)
Sistemas Distribuidos – Objetos Distribuidos KMC © 2020
Bibliografía:
- Coulouris,G.F.; Dollimore, J. y T. Kindberg; “DistributedSystems: Concepts and Design”. 5th Edition Addison Wesley,2011.
- Tanenbaum, A.S.; van Steen, Maarten; “Distributed Systems:Principles and Paradigms”. 2nd Edition, Prentice Hall, 2007 and1st Edition 2002.