Remote Method Invocation
Java-API, das die Realisierung verteilter Systeme ermöglicht. Methoden von Objekten, die auf verschiedenen Rechner laufen, können aufgerufen werden, als wären sie auf dem lokalen Rechner. RMI ist also eine Art objektorientiertes RPC-System. Die kommunizierenden Objekte müssen allerdings alle in Java realisiert sein.
RMI ist eine einfachere Alternative zu CORBA-Systemen, die Java über JavaIDL nutzen kann. Bei RMI fällt die zusätzliche Handhabung einer IDL weg. Sun bemüht sich allerdings, CORBA und RMI enger zusammenrücken zu lassen, um zukünftig CORBA-Dienste so einfach wie mit RMI nutzen zu können.