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:
TSpaces -- a spaces implementation that goes beyond JavaSpaces in several ways including XML, SOAP and data access support
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