EJB con remote interface. Le RMI in java sono diventate obsolete da quanto è nato Enterprise Java Bean. Naturalmente client e server devono essere scritti in java ed avere entrambi un container EJB installato e funzionante.


Aggiungo: se vuoi reinventare la ruota, puoi sempre partire dalle socket ed inventarti un tuo protocollo. In ogni caso esiste anche Java Messaging Service, che è sempre parte di EJB, e serve per scambiarsi dei messaggi.