Dennis Reedy wrote:
On May 22, 2010, at 646PM, Peter Firmstone wrote:

Dennis Reedy wrote:
On May 20, 2010, at 628PM, Peter Firmstone wrote:

We could call it api, instead of spec, so as not to confuse the Jini Spec?  (We 
call River an implementation of the Jini Specifications)

Implementation jar: service.jar
API jar: service-api.jar
Download jar: service-dl.jar

Thinking out loud here, what id the service does not use a smart proxy? There 
is no difference between the API jar and the DL jar. Is the API jar only needed 
when the service uses a smart proxy?
Yep that's correct.

So as far as a convention is concerned here, what would you recommend? Only 
create API jar for smart proxy implementations? Or only create DL jars for 
smart proxy implementations.

Seems that the latter makes more sense? If so than the API jar will always be 
in the client's classpath. Will have problems with the service's registration 
with reggie though.
No, this would be more appropriate:

Smart Proxy:

   Implementation jar:     service.jar (depend on service-api.jar)
   API jar:                       service-api.jar
   Download jar:             service-dl.jar (depend on service-api.jar)


Dumb Proxy:

   Implementation jar:     service.jar (depend on service-api.jar)
   API jar:                       service-api.jar

That way, your free to implement a smart proxy service later if you want to move processing to the client or vice versa.

Most importantly we want to promote others to standardise on popular service-api.jar's available on Maven's repositories.

The ClassLoader structure I have in mind will load all API (hence dumb proxy's too) into the Jini Platform ClassLoader, they will be protected by the Service-api.jar ProtectionDomain. O:-)


Reply via email to