Diferencia entre revisiones de «Java Remote Method Invocation»
Contenido eliminado Contenido añadido
Sin resumen de edición |
Sin resumen de edición |
||
Línea 20:
RMI como extensión de Java, es una tecnología de programación, fue diseñada para resolver problemas escribiendo y organizando código ejecutable. Así RMI constituye un punto específico en el espacio de las tecnologías de programación junto con C, C++, Smalltalk, etc.
La principal diferencia de utilizar RPC o RMI, es que RMI es un mecanismo para invocación remota de
== Arquitectura ==
Línea 53:
<source lang="java">
public interface MiInterfazRemota extends java.rmi.Remote
{ ▲ public int miMetodo2() throws java.rmi.RemoteException;
}
</source>
Línea 63 ⟶ 62:
* Implementar la interfaz remota
<source lang="java">
public class MiClaseRemota
{ {
}▼
public void miMetodo1() throws java.rmi.RemoteException
{
}
public int
{
▲ // Código del constructor
}▼
}
{
▲ // Aquí ponemos el código que queramos
▲ System.out.println("Estoy en miMetodo1()");
}▼
}
▲ public int miMetodo2() throws java.rmi.RemoteException {
▲ return 5; // Aquí ponemos el código que queramos
{
}▼
try
{
▲ // Si definimos otro método, éste no podría llamarse
▲ // remotamente al no ser de la interfaz remota
}▼
▲ public static void main(String[] args) {
▲ MiInterfazRemota mir = new MiClaseRemota();
}
▲ java.rmi.Naming.rebind("//" + java.net.InetAddress.getLocalHost().getHostAddress()
▲ + ":" + args[0] + "/PruebaRMI", mir);
▲ } catch (Exception e) {
}▼
▲ }
}
</source>
Línea 129 ⟶ 136:
La siguiente clase obtiene un objeto de tipo MiInterfazRemota, implementado en nuestro servidor:
<source lang="java">
public class MiClienteRMI
{ }▼
{
▲ try {
try
MiInterfazRemota mir = (MiInterfazRemota) java.rmi.Naming.lookup("//"▼
+ args[0] + ":" + args[1] + "/PruebaRMI");▼
// Imprimimos miMetodo1() tantas veces como devuelva miMetodo2()▼
for (int i = 1; i <= mir.miMetodo2(); i++) {▼
e.printStackTrace();▼
catch (Exception
▲}
}
}
</source>
|