11 May 2006

Jini, JavaSpaces, JXTA

…the holy trinity of cool technologies. Yet also the perennial underachievers.

I worked with Jono on a Jini/JavaSpaces application for a publisher a while back, and I think it was pretty successful. Certainly it worked well enough, and when the corporate compliance and review police dropped in to do a standard check-up they liked what they saw. Since then, though, it seems to be “risky” to look at these technologies, and instead messaging queuing (and now web services) are a safer bet.

For interoperability, SOAP and REST are the sane choices, but that doesn’t preclude using Jini and JavaSpaces behind the scenes. In some ways the real competition is the Java EE stack, and it’d be interesting if Jini and JavaSpaces were ever included in that specification.

One of my favourite features of these technologies is the ability to find services without regard to where they are, how you get them, or how they work (as opposed to having to know where something is and ask for it). Frameworks like Spring, and dependency injection in general, are bringing this style of programming into Java (that’s not technically precise, but it’s sort of right in spirit).

I mention all of this now because there’s been a bunch of news items featuring these technologies. First, the Jini starter kit has moved to an Apache license and may become an apache.org project. This could really help kick this technology forward—particularly in marketing, positioning and developer acceptance. JavaSpaces is probably still best known in the context of grid computing, and as you’d expect Sun are using Jini and JavaSpaces in their Grid Computing offering. Elsewhere, Gigaspaces and Paremus are championing commercial JavaSpace deployments. As for JXTA, it’s now five years old, has a mobile version, but I don’t think I “get” P2P enough to actually make serious use of this one yet. I must try harder on that front.

If you’re interested in trying any of this out, here are some places I’ve found useful:

In books, these are pretty much the classics:

Update 2006-10-09: the Java Posse podcast has posted one, two, three excellent MP3 interviews with Van Simmons on the subject of Jini and JavaSpaces. They also linked to the important Note on Distributing Computing and the Eight Fallacies of Distributed Computing.