RMI permite invocar métodos de manera remota entre programas Java. Un programa puede exportar objetos a través de RMI, haciéndolos disponibles en la red y capaces de recibir invocaciones de métodos de clientes a través de TCP. RMI facilita el desarrollo de aplicaciones distribuidas en Java mediante la serialización de parámetros y el paso de objetos por referencia.