The Artima Developer Community
Sponsored Link

Sway with JavaSpaces
A Conversation with Ken Arnold, Part IV
by Bill Venners
September 30, 2002

<<  Page 3 of 4  >>

Advertisement

Bill Venners: I'd like to ask you about some quotes from JavaSpaces Principles, Patterns, and Practice, which you coauthored with Susanne Hupfer and Eric Freeman.

Ken Arnold: Eric and Susanne did most of the writing and I reviewed it. They gave me the privilege of putting my name on the book, for which I am grateful to them.

Bill Venners: Here's a quote: "An entry in a space is a passive data object that can't be changed or altered unless it is first retrieved from the space. This distinction has a powerful effect when developing distributed applications." What is important about the fact that in the space the object is passive?

Ken Arnold: In the sense it is meant there, an entry is passive because it doesn't change state on its own. That means, in effect, that by having a written entry, you can turn your back on it. Six years from now, if it is still in the space, it will have the same value. This reduces the number of actors in the system, because the space is not an actor. It remains idle. The more actors a distributed system has, the more complicated the interactions are. Also, for something to change, somebody must take responsibility. Instead of having something that itself and other people change, someone has to step in and say, I will change it. Therefore, all the changes have a responsible actor.

In some sense, JavaSpaces is like an RPC (remote procedure call) to nowhere. You write an entry into a space, which effectively will invoke a method. You just don't know on what, how it will happen, or when you will get a result. It is an asynchronous method invocation. What would the world be like if you made a method invocation, and while the method invocation traveled to the destination, somebody came in and altered it. How would you live in that universe? You would live in a very different way. And so this kind of static existence means you can view it as an RPC to nowhere, because it isn't touched.

<<  Page 3 of 4  >>


Sponsored Links



Google
  Web Artima.com   
Copyright © 1996-2014 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us