Java's modules rock? (was Re: election details *PLEASE READ*)
Andreas Raab
andreas.raab at gmx.de
Sat Mar 10 21:16:24 UTC 2007
stephane ducasse wrote:
> Did you encounter cases where you would have like to have different
> versions of the same component/modules running in the same image.
Sure. Consider Croquet: It relies on replicated computation which means
that the replicated islands must have identical code based to have the
same behavior. But what happens when you link to a space which uses a
different (older or newer) version of a module that is already loaded in
the space you are in? As far I can see there are only three options:]
1. Don't ever allow it. That's our current solution, i.e. all spaces
linked together must use the same code base. For the obvious reasons
this is neither particularly scalable nor desirable.
2. Force migration of "older" spaces. This may be an acceptable solution
if the number of spaces linked together is relatively small. However it
has the disadvantage that you create "waves" of updates since
participants are linked together in unforeseen ways (compare this to a
WWW where each web page can only be linked to another webpage of the
same version and where upgrading one would implicitly require upgrade
all the ones it links to - I think you can see the basic problem with
the approach).
3. Have these modules sit side-by-side. In reality, this is the only
scalable, secure and desirable solution.
Cheers,
- Andreas
More information about the Squeak-dev
mailing list
|