Wade Chandler wrote:
I may have answered my own question as it appears an RMI code base is used by JINI, so that dependencies etc can be deployed to this area and accessed by the client. Anyways, I was asking because I am not sure whether I want to proxy or smart proxy these data services etc. I suppose the real question I need to be answering is: Say the service classes change, how does JINI handle that situation with a smart proxy? Will the smart proxy be automatically updated some how, or would this happen the next time the call takes place? I assume it depends on whether each time the call takes place whether the service is looked up multiple times or not, but I will dig around and read more before asking more ;-)
Versioning of mobile code is a rather complicated issue, for a complete understanding see "Class Loading Issues in Java RMI and Jini Network Technology" http://research.sun.com/techrep/2006/smli_tr-2006-149.pdf If you want to go the River route for using Jini you have to take care of a lot of things yourself, but if you use Seven (Cheiron project) e.g. many of these issues are dealt with by the framework and require (besides a basic understanding) not all the knowledge that makes working with Jini hard. It can't fix all the problems but many scenario's are covered and there is still a bit more room IMHO in the Jini technology to deal with problems in case of long living services that encounter compatibility problems due to evolving codebases. -- Mark
