By using a tool taking advantage of bytecode analysis, a developer could first annotate the ServiceAPI interface eg: @ServiceAPI, then the bytecode analysis could find all dependencies that exclude the jini platform and any other interface (and it's dependencies) that declares @ServiceAPI

Every class reachable from @ServiceAPI interfaces would have to be considered in the public API namespace, and as such should be excluded from preferred lists.

A smart proxy could be annotated with @SmartProxy, then all dependencies could be discovered using bytecode analysis, ignoring any classes reachable from service api, the jini or java platforms. This remaining classes would be the preferred class list.

This list of preferred classes would never be shared with other proxy's or clients, the server service implementation would still depend on these classes.

The following Nic's advise, use URL's for all code bases, to avoid annotation loss.

Thoughts?

Peter.


Reply via email to