SlideShare una empresa de Scribd logo
Ketnia Nataly Navarrete Méndez 
Stephany Guadalupe Contreras Bahena 
Daniel Alberto Peralta Guzmán 
Fernando Cano Gómez
 3.1. Características y Estructura de RMI 
 3.2. El API Java RMI. 
 3.3. Jerarquía de objetos RMI. 
 3.4. El Sistema de Nombrado Registry. 
 3.5. Desarrollo de Aplicaciones Distribuidas. 
 3.6. Paso de parámetros a través de la red. 
 3.7. Callbacks (Resguardos).
 Es un mecanismo ofrecido por Java para 
invocar un método de manera remota. 
 Forma parte del entorno estándar de 
ejecución de Java y proporciona un 
mecanismo simple para la comunicación de 
servidores en aplicaciones distribuidas 
basadas exclusivamente en Java.
Rmi  remote method invocation
 Facilidad de uso en la programación por 
estar específicamente diseñado para JAVA. 
 Proporciona paso de objetos por referencia. 
 Recolección de basura distribuida. 
 Paso de tipos arbitrarios.
1) Encapsulado de los parámetros. 
2) Invocación del método (del cliente con el 
servidor). El invocador se queda esperando 
una respuesta. 
3) Al terminar la ejecución, el servidor serializa 
el valor de retorno y lo envía al cliente. 
4) El código cliente recibe la respuesta y 
continúa como si la invocación hubiera sido 
local.
 Puede verse como un modelo de cuatro 
capas. 
 Primera Capa: es la de aplicación y 
corresponde con la implementación real de 
las aplicaciones cliente y servidor. 
 Segunda Capa: es la que interactúa 
directamente con la capa de aplicación. Se 
encuentran las llamadas a objetos remotos y 
acciones junto con sus parámetros y retornos 
de objetos.
 Tercera Capa: es la de referencia remota, y es 
responsable del manejo de la parte semántica 
de las invocaciones remotas. Es responsable 
de la replicación de objetos. 
 Cuarta Capa: es la de transporte; es la 
responsable de realizar las conexiones 
necesarias y manejo del transporte de los 
datos de una máquina a otra.
Rmi  remote method invocation
 Dota a clientes y servidores de una interfaz 
que les permite localizar objetos remotos 
para invocar sus métodos como si fueran 
locales.
Rmi  remote method invocation
 Es una interfaz de programación de 
aplicaciones provistas por los creadores del 
lenguaje java, y que da a los programadores 
los medios para desarrollar aplicaciones Java. 
 LA API de Java provee un conjunto de clases 
utilitarias para efectuar toda clase de tareas 
dentro de un programa.
 Implementa 5 paquetes. 
 Java.rmi: contiene Clases, Interfaces y 
Excepciones vistas por los clientes. 
 Java.rmi.server: Contiene clases, Interfaces y 
Excepciones vistas por los servidores. 
 Java.rmi.registry: Contiene Clases, Interfaces 
y Excepciones útiles para localizar y registrar 
objetos remotos.
 Java.rmi.dgc: Contiene Clases, Interfaces y 
Excepciones para la recolección de basura. 
 Java.rmi.activation: Contiene Clases, 
Interfaces y Excepciones para la activación de 
objetos remotos.
Interface Descripción 
Remote La interface remota sirve 
para identificar interfaces 
cuyos métodos pueden 
ser invocados desde una 
máquina local o virtual.
Clase Descripción 
MarshalledObject<T> Un MarshallObject contiene un 
byte con una representación 
serializada de un objeto dado por 
el constructor. 
Naming La clase Naming proporciona 
métodos para almacenamiento y 
obtener referencias de objetos 
remotos en un objeto remoto 
registrado. 
RMISecurityManager Una subclase de SecurityManager 
usada por aplicaciones RMI que 
usa código descargado.
Rmi  remote method invocation
Java.lang.Object 
Java.rmi.server. 
RemoteObject 
Java.rmi.server. 
RemoteServer 
Java.rmi.sever.Uni 
castRemoteObject 
Mi objeto 
remoto 
Java.rmi.Remote 
Mi interface 
remota
Rmi  remote method invocation
 Es un servidor simple que permite que una 
aplicación vea los objetos lo cuales están 
siendo importados por un RMI. 
 Una vez que se tiene un objeto que está 
siendo exportado por un servidor que utiliza 
métodos de RMI, la comunicación es entonces 
como una simple llamada a métodos de un 
objeto que puede existir en una máquina 
diferente.
 Este setup requiere algunos parámetros de 
localización de los objetos remotos. 
 Es fácil llamar a objetos remotos si se tiene 
su ubicación. 
 Una vez que el objeto ha sido localizado, 
usarlo de manera remota es relativamente 
fácil. 
 Para poder inicializar objetos remotos, hay 
que utilizar los servicios de registry.
Rmi  remote method invocation
 Clientes: Conducen el flujo de la aplicación. 
Localizan e invocan métodos ofertados como 
remotos por los servidores. 
 Servidores: Conjunto de objetos de ofrecen 
interfaces remotas públicas cuyos métodos 
pueden ser invocados por clientes de 
cualquier procesador de la plataforma. 
 Registro: Servicio estático que se establece en 
cada nudo, en el que se registran los 
servidores con un nombre, y donde los 
clientes los localizan.
Rmi  remote method invocation
 Objeto remoto: 
◦ Objeto cuyos métodos pueden invocarse desde 
otras máquinas virtuales. 
◦ Descrito por una o más interfaces Remotas en las 
que se declaran los métodos que pueden ser 
invocados por objetos desde otras máquinas 
virtuales. 
 Invocación a métodos remotos: 
◦ Acción de invocar un método de una interfaz 
remota en un objeto remoto. 
◦ Tiene la misma sintaxis de un método local.
Rmi  remote method invocation
 Hay 3 mecanismos básicos 
1) Tipos primitivos: se pasan por valor (copia). 
Todos son serializables. 
2) Objetos Remotos: Se pasan por referencia 
(talones, usados para invocar métodos 
remotos). 
3) Objetos locales: Se pasan por valor (sólo si 
son serializables), se crea un nuevo objeto 
en la máquina virtual que recibe la copia.
Rmi  remote method invocation
 El cliente inscribe un objeto remoto para 
recibir una invocación remota. 
◦ Al ocurrir cierto evento, el servidor realiza una 
devolución a cada cliente interesado.
Rmi  remote method invocation
Rmi  remote method invocation
 El servidor ofrece un método remoto para que el 
cliente registre sus callbacks 
 Hay que diseñar una interfaz remota para el 
callback 
 La interfaz debe incluir un método que será 
invocado en el callbakc desde el servidor 
 E cliente deberá ser una subclase de 
RemoteObject e implementará la interfaz de 
callback 
 El cliente se registrará frente la clase remota 
para ser rellamado. 
 El servidor invoca el método remoto del cliente 
en caso de aparecer el evento indicado.
Rmi  remote method invocation
Rmi  remote method invocation
1) Se ejecuta el servidor de registro RMI, 
rmiregistry, en la máquina que contendrá al 
objeto servidor. 
2) Se crea un objeto en el servidor, se exporta, 
y se registra en el servicio rmiregistry con 
un nombre. (ser crea instancia skeleton). 
3) Se crea el objeto cliente, que llamará a un 
método de la interfaz del objeto remoto.
4) El servidor de registro envía al proceso cliente 
una referencia remota al objeto (stub).Este stub 
contiene la dirección IP del host donde reside el 
objeto remoto, el numero de puerto de escucha 
y el ID del objeto. 
5) El stub serializa los argumentos y envía a la 
capa de referencias remotas una petición de 
conexión. 
6) La capa de referencias remotas indica a la capa 
de transporte que necesita abrir una conexión 
para enviarle el flujo de datos resultante del 
paso anterior.
7) La capa de transporte crea un socket de 
cliente para enviar dicho flujo. 
8) En el host remoto los datos llegan a la capa 
de transporte y el socket servidor asociado 
los lee. 
9) La capa de referencias remotas pasa los 
datos al skeleton. 
10) El skeleton extrae del flujo de datos 
serializado los objetos incluidos y pasa la 
llamada al objeto remoto.
11) El objeto remoto ejecuta el método 
invocado con los argumentos 
proporcionados y, si corresponde devuelve 
un valor al objeto skeleton. 
12) El skeleton envía una petición de conexión a 
la capa de referencias remotas y delega en 
ella el envío de la respuesta. 
13) La capa de referencias remotas serializa la 
respuesta y envía el flujo de bytes 
resultante a la capa de transporte 
indicándole que necesita conexión.
14) La capa de transporte remota abre un 
socket de cliente y envía la respuesta al host 
local. 
15) Ésta llega a la capa de transporte del host 
local y allí un socket servidor lo transmite a 
la capa de referencias remotas. 
16) La capa de referencias remotas extraé la 
información serializada y la envía al stub. 
17) El stub envía el valor devuelto al objeto 
local.

Más contenido relacionado

PDF
Sockets y canales
PDF
Integridad Y Seguridad En Las Bases De Datos
PPTX
Diagramas de caso de uso
PPSX
Ieee 830
PDF
Ejemplo dfd
PPT
Conceptos Fundamentales de Base de Datos
PPTX
Taller de Base de Datos - Unidad 6 SQL procedural
DOCX
Cuestionario
Sockets y canales
Integridad Y Seguridad En Las Bases De Datos
Diagramas de caso de uso
Ieee 830
Ejemplo dfd
Conceptos Fundamentales de Base de Datos
Taller de Base de Datos - Unidad 6 SQL procedural
Cuestionario

La actualidad más candente (20)

PDF
Creación de tablas y relaciones en mysql workbench
PPTX
Bases de datos orientado a objetos
PPTX
Funciones de administracion de memoria
PPTX
Fundamentos de las bases de datos
PDF
Tipos de Requerimientos en Ingeniería de Software
DOCX
Pruebas de sistemas y aceptacion
PPT
Generador de codigo intermedio
PPTX
Sistemas distribuidos
DOCX
Unidad 6 Protección y seguridad.
PDF
Transacciones
PPTX
Implementacion de bases de datos en mysql
DOCX
Estándares para el Modelado de Procesos de Negocios
PPTX
Modelo de 5 estados para sistemas operativos
DOCX
Base de datos distribuidos
PPT
Técnicas para la Obtención de Requerimientos
PPTX
Arquitectura flujo de datos(filtros y tuberías)
PPTX
Tecnicas de Administracion de Memoria
PPTX
Métodos predictivos y Descriptivos - MINERÍA DE DATOS
PPT
Presentacion PL/SQL
PPTX
Ventajas y desventajas de las bdoo
Creación de tablas y relaciones en mysql workbench
Bases de datos orientado a objetos
Funciones de administracion de memoria
Fundamentos de las bases de datos
Tipos de Requerimientos en Ingeniería de Software
Pruebas de sistemas y aceptacion
Generador de codigo intermedio
Sistemas distribuidos
Unidad 6 Protección y seguridad.
Transacciones
Implementacion de bases de datos en mysql
Estándares para el Modelado de Procesos de Negocios
Modelo de 5 estados para sistemas operativos
Base de datos distribuidos
Técnicas para la Obtención de Requerimientos
Arquitectura flujo de datos(filtros y tuberías)
Tecnicas de Administracion de Memoria
Métodos predictivos y Descriptivos - MINERÍA DE DATOS
Presentacion PL/SQL
Ventajas y desventajas de las bdoo
Publicidad

Similar a Rmi remote method invocation (20)

PDF
Rmi
PPTX
Semana 13 sistemas distribuidos
PDF
RMI en java
PDF
Tema RMI en java e invocación utilizando
PPTX
PPTX
Java Rmi[1]
PPTX
Java Rmi
PPT
11 ad java-rmi
PPTX
Estructura d capas rmi
PPTX
Invocación de métodos remotos (rmi)
PPTX
Comunicación distribuida
PPTX
Comunicación distribuida
PDF
Ejemplosencillocon rmi
PPTX
PPT
COMUNICACIÓN DISTRIBUIDA
PDF
RMI_Concepto_Elementos_Funciones_Ventajas_Desventajas
PPTX
Diapositivas De Java Rmi
PPT
Comparacion Entre Rmi Y Api De Sockets
Rmi
Semana 13 sistemas distribuidos
RMI en java
Tema RMI en java e invocación utilizando
Java Rmi[1]
Java Rmi
11 ad java-rmi
Estructura d capas rmi
Invocación de métodos remotos (rmi)
Comunicación distribuida
Comunicación distribuida
Ejemplosencillocon rmi
COMUNICACIÓN DISTRIBUIDA
RMI_Concepto_Elementos_Funciones_Ventajas_Desventajas
Diapositivas De Java Rmi
Comparacion Entre Rmi Y Api De Sockets
Publicidad

Último (20)

PDF
Módulo-de Alcance-proyectos - Definición.pdf
PDF
SUBDIVISIÓN URBANA PUEDE ENFRENTAR SERVIDUMBRE DE PASO.pdf
PPTX
Gestion de seguridad y salud ocupacional.pptx
PPTX
ISOTOPOS.pptx.universida.introduccion al tema
PDF
SEC formula cargos al Consejo Directivo del Coordinador y a ocho eléctricas p...
PDF
CI digitales -1. Introduccion 2024-25.pdf
PDF
Estrategias de apoyo de tecnología 2do periodo pdf
PDF
Electricidad-Estatica-Peligros-Prevencion.pdf
PDF
NORMATIVA Y DESCRIPCION ALCANTARILLADO PLUVIAL.pdf
PPTX
NILS actividad 4 PRESENTACION.pptx pppppp
PPTX
Presentacion_Palcoma_Alta energia solar eolica
PDF
CALIDAD SSOMA AMBIENTE PRL UNIVERSIDADDD
PDF
HISTORIA DE LA GRÚAA LO LARGO DE LOS TIEMPOSpdf
PDF
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
PDF
manual-electricidad-automotriz-sistemas-electricos-bateria-alumbrado-iluminac...
PDF
5 Presentación de PowerPointGENERACIÓN DESECHOS UIS 18-02-2023 (1).pdf
PDF
Oficio SEC 293416 Comision Investigadora
PPTX
Cortinas-en-Presas-de-Gravedad-Vertedoras-y-No-Vertedoras.pptx
DOC
informacion acerca de la crianza tecnificada de cerdos
PPTX
Seminario de telecomunicaciones para ingeniería
Módulo-de Alcance-proyectos - Definición.pdf
SUBDIVISIÓN URBANA PUEDE ENFRENTAR SERVIDUMBRE DE PASO.pdf
Gestion de seguridad y salud ocupacional.pptx
ISOTOPOS.pptx.universida.introduccion al tema
SEC formula cargos al Consejo Directivo del Coordinador y a ocho eléctricas p...
CI digitales -1. Introduccion 2024-25.pdf
Estrategias de apoyo de tecnología 2do periodo pdf
Electricidad-Estatica-Peligros-Prevencion.pdf
NORMATIVA Y DESCRIPCION ALCANTARILLADO PLUVIAL.pdf
NILS actividad 4 PRESENTACION.pptx pppppp
Presentacion_Palcoma_Alta energia solar eolica
CALIDAD SSOMA AMBIENTE PRL UNIVERSIDADDD
HISTORIA DE LA GRÚAA LO LARGO DE LOS TIEMPOSpdf
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
manual-electricidad-automotriz-sistemas-electricos-bateria-alumbrado-iluminac...
5 Presentación de PowerPointGENERACIÓN DESECHOS UIS 18-02-2023 (1).pdf
Oficio SEC 293416 Comision Investigadora
Cortinas-en-Presas-de-Gravedad-Vertedoras-y-No-Vertedoras.pptx
informacion acerca de la crianza tecnificada de cerdos
Seminario de telecomunicaciones para ingeniería

Rmi remote method invocation

  • 1. Ketnia Nataly Navarrete Méndez Stephany Guadalupe Contreras Bahena Daniel Alberto Peralta Guzmán Fernando Cano Gómez
  • 2.  3.1. Características y Estructura de RMI  3.2. El API Java RMI.  3.3. Jerarquía de objetos RMI.  3.4. El Sistema de Nombrado Registry.  3.5. Desarrollo de Aplicaciones Distribuidas.  3.6. Paso de parámetros a través de la red.  3.7. Callbacks (Resguardos).
  • 3.  Es un mecanismo ofrecido por Java para invocar un método de manera remota.  Forma parte del entorno estándar de ejecución de Java y proporciona un mecanismo simple para la comunicación de servidores en aplicaciones distribuidas basadas exclusivamente en Java.
  • 5.  Facilidad de uso en la programación por estar específicamente diseñado para JAVA.  Proporciona paso de objetos por referencia.  Recolección de basura distribuida.  Paso de tipos arbitrarios.
  • 6. 1) Encapsulado de los parámetros. 2) Invocación del método (del cliente con el servidor). El invocador se queda esperando una respuesta. 3) Al terminar la ejecución, el servidor serializa el valor de retorno y lo envía al cliente. 4) El código cliente recibe la respuesta y continúa como si la invocación hubiera sido local.
  • 7.  Puede verse como un modelo de cuatro capas.  Primera Capa: es la de aplicación y corresponde con la implementación real de las aplicaciones cliente y servidor.  Segunda Capa: es la que interactúa directamente con la capa de aplicación. Se encuentran las llamadas a objetos remotos y acciones junto con sus parámetros y retornos de objetos.
  • 8.  Tercera Capa: es la de referencia remota, y es responsable del manejo de la parte semántica de las invocaciones remotas. Es responsable de la replicación de objetos.  Cuarta Capa: es la de transporte; es la responsable de realizar las conexiones necesarias y manejo del transporte de los datos de una máquina a otra.
  • 10.  Dota a clientes y servidores de una interfaz que les permite localizar objetos remotos para invocar sus métodos como si fueran locales.
  • 12.  Es una interfaz de programación de aplicaciones provistas por los creadores del lenguaje java, y que da a los programadores los medios para desarrollar aplicaciones Java.  LA API de Java provee un conjunto de clases utilitarias para efectuar toda clase de tareas dentro de un programa.
  • 13.  Implementa 5 paquetes.  Java.rmi: contiene Clases, Interfaces y Excepciones vistas por los clientes.  Java.rmi.server: Contiene clases, Interfaces y Excepciones vistas por los servidores.  Java.rmi.registry: Contiene Clases, Interfaces y Excepciones útiles para localizar y registrar objetos remotos.
  • 14.  Java.rmi.dgc: Contiene Clases, Interfaces y Excepciones para la recolección de basura.  Java.rmi.activation: Contiene Clases, Interfaces y Excepciones para la activación de objetos remotos.
  • 15. Interface Descripción Remote La interface remota sirve para identificar interfaces cuyos métodos pueden ser invocados desde una máquina local o virtual.
  • 16. Clase Descripción MarshalledObject<T> Un MarshallObject contiene un byte con una representación serializada de un objeto dado por el constructor. Naming La clase Naming proporciona métodos para almacenamiento y obtener referencias de objetos remotos en un objeto remoto registrado. RMISecurityManager Una subclase de SecurityManager usada por aplicaciones RMI que usa código descargado.
  • 18. Java.lang.Object Java.rmi.server. RemoteObject Java.rmi.server. RemoteServer Java.rmi.sever.Uni castRemoteObject Mi objeto remoto Java.rmi.Remote Mi interface remota
  • 20.  Es un servidor simple que permite que una aplicación vea los objetos lo cuales están siendo importados por un RMI.  Una vez que se tiene un objeto que está siendo exportado por un servidor que utiliza métodos de RMI, la comunicación es entonces como una simple llamada a métodos de un objeto que puede existir en una máquina diferente.
  • 21.  Este setup requiere algunos parámetros de localización de los objetos remotos.  Es fácil llamar a objetos remotos si se tiene su ubicación.  Una vez que el objeto ha sido localizado, usarlo de manera remota es relativamente fácil.  Para poder inicializar objetos remotos, hay que utilizar los servicios de registry.
  • 23.  Clientes: Conducen el flujo de la aplicación. Localizan e invocan métodos ofertados como remotos por los servidores.  Servidores: Conjunto de objetos de ofrecen interfaces remotas públicas cuyos métodos pueden ser invocados por clientes de cualquier procesador de la plataforma.  Registro: Servicio estático que se establece en cada nudo, en el que se registran los servidores con un nombre, y donde los clientes los localizan.
  • 25.  Objeto remoto: ◦ Objeto cuyos métodos pueden invocarse desde otras máquinas virtuales. ◦ Descrito por una o más interfaces Remotas en las que se declaran los métodos que pueden ser invocados por objetos desde otras máquinas virtuales.  Invocación a métodos remotos: ◦ Acción de invocar un método de una interfaz remota en un objeto remoto. ◦ Tiene la misma sintaxis de un método local.
  • 27.  Hay 3 mecanismos básicos 1) Tipos primitivos: se pasan por valor (copia). Todos son serializables. 2) Objetos Remotos: Se pasan por referencia (talones, usados para invocar métodos remotos). 3) Objetos locales: Se pasan por valor (sólo si son serializables), se crea un nuevo objeto en la máquina virtual que recibe la copia.
  • 29.  El cliente inscribe un objeto remoto para recibir una invocación remota. ◦ Al ocurrir cierto evento, el servidor realiza una devolución a cada cliente interesado.
  • 32.  El servidor ofrece un método remoto para que el cliente registre sus callbacks  Hay que diseñar una interfaz remota para el callback  La interfaz debe incluir un método que será invocado en el callbakc desde el servidor  E cliente deberá ser una subclase de RemoteObject e implementará la interfaz de callback  El cliente se registrará frente la clase remota para ser rellamado.  El servidor invoca el método remoto del cliente en caso de aparecer el evento indicado.
  • 35. 1) Se ejecuta el servidor de registro RMI, rmiregistry, en la máquina que contendrá al objeto servidor. 2) Se crea un objeto en el servidor, se exporta, y se registra en el servicio rmiregistry con un nombre. (ser crea instancia skeleton). 3) Se crea el objeto cliente, que llamará a un método de la interfaz del objeto remoto.
  • 36. 4) El servidor de registro envía al proceso cliente una referencia remota al objeto (stub).Este stub contiene la dirección IP del host donde reside el objeto remoto, el numero de puerto de escucha y el ID del objeto. 5) El stub serializa los argumentos y envía a la capa de referencias remotas una petición de conexión. 6) La capa de referencias remotas indica a la capa de transporte que necesita abrir una conexión para enviarle el flujo de datos resultante del paso anterior.
  • 37. 7) La capa de transporte crea un socket de cliente para enviar dicho flujo. 8) En el host remoto los datos llegan a la capa de transporte y el socket servidor asociado los lee. 9) La capa de referencias remotas pasa los datos al skeleton. 10) El skeleton extrae del flujo de datos serializado los objetos incluidos y pasa la llamada al objeto remoto.
  • 38. 11) El objeto remoto ejecuta el método invocado con los argumentos proporcionados y, si corresponde devuelve un valor al objeto skeleton. 12) El skeleton envía una petición de conexión a la capa de referencias remotas y delega en ella el envío de la respuesta. 13) La capa de referencias remotas serializa la respuesta y envía el flujo de bytes resultante a la capa de transporte indicándole que necesita conexión.
  • 39. 14) La capa de transporte remota abre un socket de cliente y envía la respuesta al host local. 15) Ésta llega a la capa de transporte del host local y allí un socket servidor lo transmite a la capa de referencias remotas. 16) La capa de referencias remotas extraé la información serializada y la envía al stub. 17) El stub envía el valor devuelto al objeto local.