SlideShare une entreprise Scribd logo
1  sur  39
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.
 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.
 Dota a clientes y servidores de una interfaz 
que les permite localizar objetos remotos 
para invocar sus métodos como si fueran 
locales.
 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.
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
 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.
 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.
 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.
 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.
 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.
 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.
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.

Contenu connexe

Tendances

Ejemplo pruebas de software
Ejemplo pruebas de softwareEjemplo pruebas de software
Ejemplo pruebas de softwareJohn Fonseca
 
BD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD MovilesBD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD MovilesJosé Antonio Sandoval Acosta
 
Métodos para la detección y corrección de errores
Métodos para la detección y corrección de erroresMétodos para la detección y corrección de errores
Métodos para la detección y corrección de erroresDaniel Huerta Cruz
 
Ads sistema-panaderia-ADS
Ads sistema-panaderia-ADSAds sistema-panaderia-ADS
Ads sistema-panaderia-ADSRosarioRuiz35
 
X.25 y frame relay
X.25 y frame relayX.25 y frame relay
X.25 y frame relayJLC1988
 
Mapa conceptual capa de transporte
Mapa conceptual capa de transporteMapa conceptual capa de transporte
Mapa conceptual capa de transportecleiver_antonio
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Universidad de Guadalajara
 
Protocolos de las capas sesion,presentacion y aplicacion
Protocolos de las capas sesion,presentacion y aplicacionProtocolos de las capas sesion,presentacion y aplicacion
Protocolos de las capas sesion,presentacion y aplicacionEduardo J Onofre
 
Uml videotienda (1)
Uml videotienda (1)Uml videotienda (1)
Uml videotienda (1)cgviviana
 
Arquitectura Orientada a Servicios joseadugarte
Arquitectura Orientada a Servicios joseadugarteArquitectura Orientada a Servicios joseadugarte
Arquitectura Orientada a Servicios joseadugartethearcangelboss
 
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...José Antonio Sandoval Acosta
 
Consultorio medico diagrama actividad
Consultorio medico diagrama actividadConsultorio medico diagrama actividad
Consultorio medico diagrama actividadJaziel Torres
 
Direccionamiento ip
Direccionamiento ipDireccionamiento ip
Direccionamiento ipKoldo Parra
 

Tendances (20)

Ejemplo pruebas de software
Ejemplo pruebas de softwareEjemplo pruebas de software
Ejemplo pruebas de software
 
La situación de las Tecnologías WLAN basadas en el estándar IEEE 802.11 y ...
La situación de las Tecnologías WLAN basadas en el estándar IEEE 802.11 y ...La situación de las Tecnologías WLAN basadas en el estándar IEEE 802.11 y ...
La situación de las Tecnologías WLAN basadas en el estándar IEEE 802.11 y ...
 
BD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD MovilesBD para Dispositivos Moviles - Unidad 3 SMBD Moviles
BD para Dispositivos Moviles - Unidad 3 SMBD Moviles
 
Administracion de Bases de datos
Administracion de Bases de datosAdministracion de Bases de datos
Administracion de Bases de datos
 
Métodos para la detección y corrección de errores
Métodos para la detección y corrección de erroresMétodos para la detección y corrección de errores
Métodos para la detección y corrección de errores
 
Protocolos de red
Protocolos de redProtocolos de red
Protocolos de red
 
Java Threads (Hilos en Java)
Java Threads (Hilos en Java)Java Threads (Hilos en Java)
Java Threads (Hilos en Java)
 
Ads sistema-panaderia-ADS
Ads sistema-panaderia-ADSAds sistema-panaderia-ADS
Ads sistema-panaderia-ADS
 
Modelo de datos
Modelo de datosModelo de datos
Modelo de datos
 
X.25 y frame relay
X.25 y frame relayX.25 y frame relay
X.25 y frame relay
 
Mapa conceptual capa de transporte
Mapa conceptual capa de transporteMapa conceptual capa de transporte
Mapa conceptual capa de transporte
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.Sistemas arquitectónicos centralizados, descentralizados e híbridos.
Sistemas arquitectónicos centralizados, descentralizados e híbridos.
 
Redes conmutadas
Redes conmutadasRedes conmutadas
Redes conmutadas
 
Protocolos de las capas sesion,presentacion y aplicacion
Protocolos de las capas sesion,presentacion y aplicacionProtocolos de las capas sesion,presentacion y aplicacion
Protocolos de las capas sesion,presentacion y aplicacion
 
Uml videotienda (1)
Uml videotienda (1)Uml videotienda (1)
Uml videotienda (1)
 
Arquitectura Orientada a Servicios joseadugarte
Arquitectura Orientada a Servicios joseadugarteArquitectura Orientada a Servicios joseadugarte
Arquitectura Orientada a Servicios joseadugarte
 
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
Bases de Datos para Dispositivos Móviles - Unidad II: Arquitectura de Base de...
 
Consultorio medico diagrama actividad
Consultorio medico diagrama actividadConsultorio medico diagrama actividad
Consultorio medico diagrama actividad
 
Direccionamiento ip
Direccionamiento ipDireccionamiento ip
Direccionamiento ip
 

Similaire à Rmi remote method invocation

Similaire à Rmi remote method invocation (20)

Semana 13 sistemas distribuidos
Semana 13   sistemas distribuidosSemana 13   sistemas distribuidos
Semana 13 sistemas distribuidos
 
Rmi
RmiRmi
Rmi
 
RMI en java
RMI en javaRMI en java
RMI en java
 
RMI
RMIRMI
RMI
 
11 ad java-rmi
11 ad java-rmi11 ad java-rmi
11 ad java-rmi
 
Tema RMI en java e invocación utilizando
Tema RMI en java e invocación utilizandoTema RMI en java e invocación utilizando
Tema RMI en java e invocación utilizando
 
Java Rmi[1]
Java  Rmi[1]Java  Rmi[1]
Java Rmi[1]
 
Comunicación distribuida
Comunicación distribuidaComunicación distribuida
Comunicación distribuida
 
Comunicación distribuida
Comunicación distribuidaComunicación distribuida
Comunicación distribuida
 
COMUNICACIÓN DISTRIBUIDA
COMUNICACIÓN DISTRIBUIDACOMUNICACIÓN DISTRIBUIDA
COMUNICACIÓN DISTRIBUIDA
 
Estructura d capas rmi
Estructura d capas rmiEstructura d capas rmi
Estructura d capas rmi
 
RMI
RMIRMI
RMI
 
Java Rmi
Java RmiJava Rmi
Java Rmi
 
algorimo distribuidos
algorimo distribuidosalgorimo distribuidos
algorimo distribuidos
 
RMI_Concepto_Elementos_Funciones_Ventajas_Desventajas
RMI_Concepto_Elementos_Funciones_Ventajas_DesventajasRMI_Concepto_Elementos_Funciones_Ventajas_Desventajas
RMI_Concepto_Elementos_Funciones_Ventajas_Desventajas
 
Remote Procedure Call (RPC)
Remote Procedure Call (RPC)Remote Procedure Call (RPC)
Remote Procedure Call (RPC)
 
Ejemplosencillocon rmi
Ejemplosencillocon rmiEjemplosencillocon rmi
Ejemplosencillocon rmi
 
Sistemas distribuidos
Sistemas distribuidosSistemas distribuidos
Sistemas distribuidos
 
RPC
RPCRPC
RPC
 
Actividad ...... 16
Actividad ...... 16Actividad ...... 16
Actividad ...... 16
 

Dernier

Minería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosMinería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosisauVillalva
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacionesRamon Bartolozzi
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processbarom
 
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdfCONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdfwduranteg
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfdanielJAlejosC
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheElisaLen4
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDEdith Puclla
 
Presentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptxPresentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptxwilliam801689
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Dr. Edwin Hernandez
 
Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptxNancyJulcasumaran
 
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOeldermishti
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajasjuanprv
 
Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5juanjoelaytegonzales2
 
Trazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptxTrazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptxmiguelmateos18
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internamengual57
 
Control estadistico de procesos Primera parte.pdf
Control estadistico de procesos Primera parte.pdfControl estadistico de procesos Primera parte.pdf
Control estadistico de procesos Primera parte.pdfLucianaGomez67
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfbcondort
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaAlexanderimanolLencr
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesCarlosMeraz16
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGUROalejandrocrisostomo2
 

Dernier (20)

Minería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosMinería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptos
 
libro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operacioneslibro de ingeniería de petróleos y operaciones
libro de ingeniería de petróleos y operaciones
 
Six Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo processSix Sigma Process and the dmaic metodo process
Six Sigma Process and the dmaic metodo process
 
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdfCONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
CONEXIONES SERIE, PERALELO EN MÓDULOS FOTOVOLTAICOS.pdf
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
Presentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptxPresentación Instrumentos de Medicion Electricos.pptx
Presentación Instrumentos de Medicion Electricos.pptx
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptx
 
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVOESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
ESPECIFICACIONES TECNICAS COMPLEJO DEPORTIVO
 
Controladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y VentajasControladores Lógicos Programables Usos y Ventajas
Controladores Lógicos Programables Usos y Ventajas
 
Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5Lineamientos del Plan Oferta y Demanda sesión 5
Lineamientos del Plan Oferta y Demanda sesión 5
 
Trazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptxTrazos paileros para realizar trazos, cortes y calculos.pptx
Trazos paileros para realizar trazos, cortes y calculos.pptx
 
Sistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión internaSistema de lubricación para motores de combustión interna
Sistema de lubricación para motores de combustión interna
 
Control estadistico de procesos Primera parte.pdf
Control estadistico de procesos Primera parte.pdfControl estadistico de procesos Primera parte.pdf
Control estadistico de procesos Primera parte.pdf
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
nomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestacionesnomenclatura de equipo electrico en subestaciones
nomenclatura de equipo electrico en subestaciones
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 

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.
  • 4.
  • 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.
  • 9.
  • 10.  Dota a clientes y servidores de una interfaz que les permite localizar objetos remotos para invocar sus métodos como si fueran locales.
  • 11.
  • 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.
  • 17.
  • 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
  • 19.
  • 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.
  • 22.
  • 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.
  • 24.
  • 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.
  • 26.
  • 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.
  • 28.
  • 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.
  • 30.
  • 31.
  • 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.
  • 33.
  • 34.
  • 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.