Está en la página 1de 5

Conceptos básicos de RMI

En RMI intervienen dos programas java que están ejecutándose en el mismo


ordenador o en distintos ordenadores.

Uno de ellos, llamado servidor, "publica" algunas de los objetos/clases que tiene
instanciadas. Publicarlos es equivalente a decir que los pone visibles desde la red,
de forma que otros programas java puedan llamar a sus métodos.

El otro programa, llamado cliente, localiza en el servidor el objeto publicado y llama


a sus métodos. Estos métodos se ejecutan en el programa servidor y devuelven un
resultado (por el return habitual) que recoge el cliente en su ordenador.

El cliente se queda "colgado" en la llamada hasta que el servidor termina de ejecutar


el código y devuelve un resultado.

Pasos en el Desarrollo de Una aplicación RMI


1. Definir una interfaz remota.
2. Desarrollar el objeto Remoto mediante la implementación de la interfaz
remota.
3. Desarrollar Al Servidor
4. Desarrollar al Cliente
5. Lanzar el servidor de Objetos Remotos
6. Ejecutar el Cliente.
Los objetos que comparte el servidor suelen conocerse como objetos remotos. Para
hacer un objeto remoto, debemos hacer dos cosas. Primero una interface con los
métodos que queremos que se publiquen, es decir, los métodos que queremos que
pueda llamar el cliente. Esta interface debe a su vez heredar de la interface Remote.
Todos los métodos de esta interface deben lanzar una RemoteException

Luego, debemos hacer el objeto remoto que implemente esta interface. Para evitarnos
código, lo mejor es hacer que este objeto remoto herede a su vez de
UnicastRemoteObject. Si lo hacemos así, nos obliga a crear un constructor que lanze una
RemoteException.
Servidor
El cliente debe obtener una referencia remota (es decir, una referencia que corresponda a un objeto
remoto) asociada al servicio para luego simplemente invocar de forma convencional sus métodos,
aunque teniendo en cuenta que pueden generar la excepción RemoteException. En este ejemplo, la
referencia la obtiene a través del rmiregistry.
Actividad:

Complementa el siguiente diagrama

También podría gustarte