RMI es un paquete de Java que permite controlar objetos y métodos de forma remota para usar los recursos de un servidor de forma transparente al usuario. RMI proporciona invocación de métodos de objetos remotos, integración de objetos distribuidos en Java de forma natural, y seguridad de tipos y ambientes. RMI facilita el desarrollo de aplicaciones distribuidas pero tiene limitaciones como sólo funcionar con Java y falta de control de transacciones.