Dirmi is a replacement for Java RMI which supports bidirectional remote objects.