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
