Introducción
RMI es un mecanismo mediante el cual los objetos cliente y servidor en una aplicación distribuida Java se comunican.
La aplicación distribuida en Java necesita:
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.