On Dec 20, 2008, at 9:14 PM, Wade Chandler wrote:

Well, spaces is not actually coupled to lookup. To use a space currently in Linda fashion in Jini then yes, you need the lookup stuff, but the spaces themselves are not bound to lookup; not coupled at all.

I agree. I think there is a real reason for an API separate from JavaSpaces. And, I think calling that JINI would make sense historically.

You have this space in a given distributed system, and it must be found. Now, you could very well have a space found by any custom means necessary without anything else from the Jini APIs except for Entry, transaction, and lease. Those other things just happen to be some common concepts which spaces uses. Just because it uses them should not mean they reside in the spaces API or some packing specifically for spaces.

I agree with this too.



I 100% *disagree* that an entry is useless without a space if we are talking about a JavaSpace versus a generic notion of a memory space of some kind. An Entry is just as valid in different contexts as it is in a JavaSpace. The methods in which it is used are not defined necessarily. There is an expected way of using them as templates and matching for comparing them etc along with expected ways they will be serialized and conversely deserialized.

I don't believe that JINI has no use for a number of entry types. I know it does.

I just believe that JavaSpaces needs an entry and that JavaSpaces should not be tied to JINI. JavaSpaces should be conceptually independent of the JINI architecture. JavaSpaces cannot be independent if a core interface is a part of JINI. JavaSpaces itself should be independent of JINI, I think.

So, on my view, JavaSpaces Entry should not be JINI Entry and vice versa. Either solution is bad, I think. Another alternative is needed. There are many. I think they should be brought up, discussed, and so on.

Entry, of course, is just one of the interfaces being discussed.



That argument aside, there is nothing currently forcing you to use the other things in Jini with spaces, except for those required concepts detailed here, though lookup is the only way to use spaces in the context of a distributed system if all you have is Jini. You can take all the things actually required to use a space, never use lookup, include those things on your classpath, and be on your way. However, you'll have to create an entire architecture to deal with the distributive nature one would normally want to use with a space.

Maybe that is where you need to focus what you are proposing. I don't think you'll ever convince me or most others those other concepts need to be in spaces as they are very generic and can be used for numerous other things where one may never want spaces.

The idea of an entry is, I agree, generic. The idea of a spaces entry, I think, is not. I have nothing against and actually would prefer an Entry tag interface in Java itself.

However, you might have something you can detail with respect to a different type of a distribution mechanism to offer some light concepts or something. I think there is a lot there to deal with however which is what the rest of Jini does. You might have or come up with some design which you can get some rudimentary things working to share and prove it. Seems anything really useful if you go that far though would really just be a remote space with some pluggable tranport mechanisms which you could then use other technologies to wrap around it, but truly that sounds like the same thing Jini is/does unless you have some specifics.

This all sounds reasonable and worth consideration. I do think I would need to do a lot more thinking before stepping out on any particular path: measure twice, cut once or that good old heuristic that seems to be universally true - "all the worst mistakes are made on the first day".

Mike




Reply via email to