Es ist möglich, aber es gibt keine Bibliotheken (afaik), die dies für Sie tun. Ich habe mich für meinen jetzigen Job selbst eingerollt. OSGi Runtime auf Client und Server, RMI ist der Transport. Ich musste HEAVY Proxy-Objekte verwenden.
Registrieren Sie einen Dienst in der OSGi-Laufzeit des Servers (Equinox). Ich habe einen Listener, der alle Dienste beobachtet, die nach einer Eigenschaft/einem Attribut suchen, die anzeigen, dass dieser Dienst exportiert werden sollte (remote gemacht), etwas wie "remotable = true". Es ist einfach, mit dem ServiceTracker zu filtern. Über RMI weise ich den Client an, ein Proxy-Objekt mit der Service-Schnittstelle zu erstellen. Alle Aufrufe dieses Proxy-Objekts werden generisch über RMI zurückgesendet (ein Aufruf wie execService serviceid, Methodenname, var args params) und dann auf dem REAL-Dienst aufgerufen.
Ich habe einige der Low-Level-Details weggelassen, aber Sie können es wahrscheinlich aussortieren. Wenn Sie sich von RMI entfernen können, möchten Sie vielleicht in Riena suchen (es kann sogar eine Möglichkeit geben, einen RMI-Transport für Riena zu schreiben, ich habe einfach keine Mühe zu versuchen)