Let me once again provide a simple example:

interface ForClient {
}

interface ImplementationDetail {
}

class ServiceProxy implements ForClient {
  private ImplementationDetail implementationDetail;
}

class ServiceBackend { //not implementing any remote interface for simplicity

  public void start() {
    ServiceRegistrar reggie = ...;
    ImplementationDetail implDetail = lookupImplIn(reggie);
    ServiceProxy myProxy = new ServiceProxy(implDetail);
    publish(myProxy, reggie);
  }

}

We have two codebases:
1) ImplementationDetailServiceCodebase
2) ServiceProxyCodebase

Now the question:
How to make it possible to deserialize ServiceProxy in client environment assuming: 1) ServiceBackend dynamically downloads classes of ImplementationDetail proxy
2) Client dynamically downloads classes of ServiceProxy
3) Client is NOT aware ImplementationDetail interface (well... since it is an implementation detail)

Thanks,
Michal

Reply via email to