Surf the wave

Way Back and Forward Again


So in thinking about the Internet as VM it strikes me that we need to have something to act as machine registers and the stack. I came across Space Based Programming via Semantic Web Blog.

If you have not checked out JavaSpaces, it's worth the trip. Based on the work of Linda by David Gelernter and team, JavaSpaces offers a model of a distributed shared memory with several primitive operations read (copy but don't remove), write, take and notify. These primitive operations aggregate to provide signficant power in producing loosely coupled distributed systems.

Several folks have suggested that this metaphor is a powerful and more robust alternative to EJBs. See This as a representative article.

Fast Forward. My exposure to JavaSpaces goes back some time and I haven't kept up with it. My thought today was: If spaces operations were fronted by SOAP messages, then spaces becomes a Web Service of sorts. Of course, it is not possible to have an original idea anymore as I stumbled across the following:

Infolets presents several including Crudlets -- essentially a set of XML tags that map to the JavaSpaces interfaces

TSpaces -- a spaces implementation that goes beyond JavaSpaces in several ways including XML, SOAP and data access support

Mark Baker talks on XML- DEV about the architectural similarity between REST and Spaces

XMLSpaces -- the intersection of Linda, XML and XMLQuery

XML-Spaces -- an alternative XML based spaces implementation where tuples are XML fragments

rinda -- an implementation of spaces for Ruby