RMI (Remote Method Invocation) es un mecanismo de Java que permite invocar métodos de forma remota. RMI utiliza serialización de objetos para pasar parámetros y valores de retorno entre clientes y servidores. Está diseñado específicamente para Java y proporciona funcionalidades como paso de objetos por referencia y recolección de basura distribuida. RMI consta de cuatro capas: aplicación, proxy, referencia remota y transporte.