0% encontró este documento útil (0 votos)
21 vistas11 páginas

Java Rmi

Este documento describe cómo implementar un servicio remoto en Java utilizando RMI. Explica que RMI permite invocar métodos de objetos ubicados en otra máquina, describiendo los pasos para definir una interfaz remota, implementar un objeto remoto en el servidor, y crear un cliente que se comunique con el servidor.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
21 vistas11 páginas

Java Rmi

Este documento describe cómo implementar un servicio remoto en Java utilizando RMI. Explica que RMI permite invocar métodos de objetos ubicados en otra máquina, describiendo los pasos para definir una interfaz remota, implementar un objeto remoto en el servidor, y crear un cliente que se comunique con el servidor.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 11

JAVA RMI

Hernando Recamann Chaux


Msc. Ingenieria Area Informatica
Dipl. Docencia Universitaria
CONTENIDO

INTRODUCCION

CONCEPTOS GENERALES

CONCLUSIONES

ACTIVIDAD
INTRODUCCION

La idea principal es poder, desde una máquina cliente, utilizar métodos


de objetos que se encuentran en otra máquina servidor.

El lenguaje orientado a objetos Java nos permite trabajar con objetos


Distribuidos a través de RMI.
REQUISITOS

1. Localizar los objetos remotos: Mediante la facilidad rmiregistry


de Java o pasando los objetos remotos como parámetros o
valores de retorno en llamadas a métodos remotos
2. Comunicarse con objetos remotos: RMI maneja todos los
detalles de la comunicación. Para el programador la
comunicación remota es igual a una invocación a un método
local estándar
3. Descarga de las clases de los objetos pasados como
parámetros o valor de retorno: RMI proporciona los
mecanismos necesarios para descargar el código de los
objetos tanto remotos como locales pasados cómo parámetros
o valor de retorno, así como transmitir sus datos.
CONSTRUCCION PASO A PASO

1. DEFINIR LA INTERFACE REMOTA.(Contiene todos los métodos


a invocar)

import java.rmi.*; //Interfaz remota y Excepciones


import java.util.Date;
public interface FechaInterface extends Remote {
public Date getDate() throws RemoteException; // para cada método
hilos
}
2. EN EL SERVIDOR IMPLEMENTAR OBJETO REMOTO. (clase con
la implementación de los métodos de INTERFACE REMOTA )

import java.rmi.*;
import java.rmi.server.*;
import java.util.Date;
public class ServidorFecha extends UnicastRemoteObject
implements FechaInterface
{
// constructor de la clase
public ServidorFecha() throws RemoteException
{
super( );
}
// metodo que entrega la hora actual
public Date getDate( ) throws RemoteException
{
System.out.println("llamada de un cliente”);
return new Date( );
}
public static void main( String args[] )
{
try
{
ServidorFecha servidor = new ServidorFecha (); //objeto tipo
ServidorFecha
Naming.rebind( "rmi://localhost/servidor_fecha", servidor ); //
registra el objeto servidor en la dirección “rmi. ..”
System.out.println( "Servidor de Fecha ..." );
}
catch ( Exception e ) { System.out.println(e); }
}
}
3. EN EL CLIENTE IMPLEMENTAR LA CLASE.
import java.rmi.*;
import java.rmi.server.*;
import java.util.Date;
public class ClienteFecha {
public static void main( String args[] )
{
try
{
// crea un objeto FechaInterface
FechaInterface fechaobj = (FechaInterface)Naming.lookup(
"rmi://localhost/servidor_fecha"); //busca el objeto “rmi…”
Date fecha = fechaobj.getDate();
System.out.println( "Fecha del servidor: " + fecha );
}
catch ( Exception e )
{
System.out.println(e);;
}
}
}
Cliente - Servidor

4.COMPILAR LOS ARCHIVOS FUENTES DEL CLIENTE Y


SERVIDOR(*.JAVA) UTILIZANDO EL COMPILADOR JAVAC.
crea *.class--ObjetoRemoto

5. GENERAR LOS ARCHIVOS STUB Y SKELETON POR MEDIO DEL


COMPILADOR RMIC.
Crea *_Stub.class y *_Skeleton.class –ObjetoRemotoStub y
ObjetoRemotoSkeleton
Directorio BIN-jdk
set CLASPATH=C:\Archivos de programa\Xinox Software\JCreatorV3\
MyProjects\JavaRMI

rmic ServidorFecha
rmic ClienteFecha

9
EJECUCION DEL SISTEMA RMI
CLIENTES INVOCANDO SERVIDORES INDIVIDUALES

6. Iniciar el Registro de Java.(permite a los clientes obtener una referencia


del objeto remoto) Debe estar en el directorio que contiene las clases que
Ud. ha escrito
(copiar del Directorio BIN-jdk)
set CLASPATH= //vacia
rmiregristry //por defecto el puerto 1099

7. Iniciar el servidor RMI.


java ServidorFecha

8.Iniciar el cliente RMI.


Java ClienteFecha

El inicio puede llevar parametros como:


codebase: lugar desde el que se descargan las clases
policy: fichero que especifica la política de seguridad a seguir

10
UN SERVICIO PROVISTO POR MÚLTIPLES SERVICIOS
ACTIVIDAD

1. QUE SON STUBS, SKELETONS?


COMO SE NOMBRAN OBJETOS REMOTOS?
EJEMPLOS
2. SEUDOCODIGO DE CODIGO EJEMPLO ENVIADO

11

También podría gustarte