Mark Baker wrote:
> 
> 
> On 1/3/08, Gregg Wonderly <[EMAIL PROTECTED] <mailto:gergg%40cox.net>> wrote:
>  > Please, please, please go create a Javaspace application using 2 or more
>  > javaspaces with 2 or more lookup servers on 2 or more machines with 
> 10s of
>  > producers and consumers. Using leasing for all Entry objects going in 
> and out
>  > of the spaces, and bounce any of the machines that you want, whenever 
> you want
>  > to see how amazingly resilient it is, with so little effort in your 
> software.
>  >
>  > Then do the same thing with an HTTP RESTful application and report 
> back here how
>  > things went. Let us know how you managed failover, resource 
> locking/unlocking,
>  > expiration of transient operations etc.
> 
> I've done both. Not with Javaspaces specifically, but another TBS,
> the Spaces package of Voyager, Graham Glass' first foray into
> distributed application frameworks at ObjectSpace 10+ years ago. I
> only developed one application with Voyager Spaces, and lots with the
> Web, but the TBS app was pretty similar to several of the Web apps.
> 
> TBS apps and Web apps are really more similar than different, though
> there are certainly applications that are better suited to TBS than
> the Web, in particular those that are control-centric and/or oriented
> towards the associative memory view of the problem space. Failover
> and locking were handled similarly in both, at least in my limited
> experience. I don't know what "expiration of transient operations"
> refers to, so can't comment.

I was involved in the mailing list where Voyager grew up and provided feedback 
to Graham and company on the design of Voyager.  I had a free right to use 
license for the 1.0 version etc.  Voyager was nice because it provided dynamic 
proxies way before Java had them.  It had lots of other interesting features, 
and I did use it in several projects until Jini's licensing changed to no 
monetary cost in 1999.

Voyager's Space class was only a pub/sub router, not a distributed memory 
system.  It has no ability to "hold" data.  Thus, the usage patterns and the 
semantic structure of applications using it would be different from Javaspaces 
based applications.  It had fire and forget routing which required additional 
application work to provide leasing and transactions.  These things are part of 
Jini's specfication, so you can find them in all Jini environments.

Gregg Wonderly

Reply via email to