Wednesday, May 02, 2007

Ahem Where are the Jini/JavaSpaces Bits?

Nice overview of JavaSpaces.

I likes it. I wants it. Really I do.

JavaSpaces is some of the best tech. I've had the opportunity to work with. Build a Generic Worker and tell me you disagree I dare you.

But, there is something wrong - I'm sure it is coming real soon now - that is what we keep hearing, but where are the bits? Where is the roadmap?

I said it a while ago. But the clock is going tick tick tick. It is May - it became a poddling in December/January. 5 months ... no bits, no roadmap?

One commercial proprietary vendor, a partially retired Pragmatic Dictator FOSS impl. and a very quiet maybe FOSS Apache project does not a thriving community make.

What gives? Does Sun want this to happen or do they want it to die? I just don't understand. I mean to offense - I'm new. But the current state of the community makes it very hard to want to invest in this technology - no matter how much potential it has.

I'm going to JavaOne a bit and am going to try to find out. I'll let you know how it goes.


PetrolHead said...

Yeeeeaaaahhhh Blitz is in need of another release.

It's on the way soon'ish subject to a few nasties that have cropped up in third party libraries. There's also an issue under very high load for which there is a simple workaround but I'd like to do an architectural fix on that. Might leave that for post-alpha.

I'll comment in more detail on the community and River later, gotta do a couple of other bits first.


PetrolHead said...

Right so the River project:

Many a successful opensource project has a benevolent dictator. Linux most famously but also even the Apache Projects though the dictator is less overt. The presence of a dictator causes people to defer certain decisions to this person or at least get their perspective and it allows for the forming of a coherent direction.

Historically this role has been performed for Jini by Sun with various external people getting involved by virtue of merit and shared vision. The move to River removes Sun from this role and leaves it open.

Herein lies the problem: some in the community think we need a replacement for that role, some don't. Some want to work on their own stuff and share it via Apache River and broader vision, some are entirely about the broader vision. Some want users to give lots of feedback, some don't. Some don't think any of this matters.

The result is that there is no-one steering the boat right now and there's some storming and norming that really needs to be done. As to the outcome of the storming and norming and whether it leads to shared vision, roadmap etc who knows.

Likely as not the trigger for further discussion will be the arrival of the code out of Sun (a bit of paper got lost, that's being sorted) which is taking a lot longer than is ideal - but it is progressing, promise.

My two cents,


fuzzy said...

Thanks Dan - I certainly don't have a problem with the pragmatic dictator model. But it assumes lots of people being dictated too. Like committers and discussions and what not.

Blitz is great, but for a multi-bazillion-dollar business it is tough to say that a key part of the infrastructure supporting that software has no real support. As great as you are - and as *generous* as you are I just don't see it happening unless the Blitz community grows in terms of people actively committing.

So that brings us to Apache River - the hope (for me) would be to see a thriving community there - or more importantly evidence of a bright future for Jini/JavaSpaces. I'm not seeing it and am concerned.

So then there is GigaSpaces - it is JavaSpaces and a lot more. Does one just go that route and hope the community catches up (nobody wants to be owned by one vendor - been there done that several times). Again I say this as nice as Nati and all the GigaSpaces people are - they are fantastic.

What I'm talking about is introducing new tech. These are the types of questions you ask. At the outset of our JavaSpaces deep dive 5 months ago things looked very promising. Now that we understand the technology better and have built a POC with it we really like it. But we are at a new cross roads - can we introduce it when things are so up in the air? Should we wait? Should we walk away?

We are perfectly willing to help - but we are in no position to lead. For Jini/JavaSpaces to go anywhere someone is going to have to lead.

Sarge said...

I first saw JavaSpaces many years ago (I want to say circa '94 but that may be wildly inaccurate.) and I built an application using tuple spaces (DSS, not JavaSpaces) in '97-'98 so I'm a fan of tuple spaces and want JavaSpaces to succeed. But I have to wonder if it's not going to take off at all if it hasn't taken off yet.

My guess is that tuple spaces, like event-driven architectures, can only be understood, utilized, and truly mastered by a minority of the developers. Eight years ago an experienced coworker said that only 10% of the developers can really understand an event-driven architecture. I scoffed at the time but subsequent experience makes him seem right. To me, tuple spaces seem to be of the same order as event-driven architectures.

All that being said, I'm still hoping for tuple space implementations, in Java and in other languages, to succeed.

Nati Shalom said...


There basically two approaches to the adoption concern that you raised:

1. Increase the community around the new River project
2. Bring JavaSpaces to the mainstream community

As a vendor we thought that we could contribute more with the second option and therfore had chosen to focus our effort on that option through the work that were doing with Spring/interface21 and a new openspaces initiative as well as through continues marketing effort in leading mainstream technology events and in more vertical events such as the financial sector.

We are seeing continues increase of the adoption of spaces due to that effort even by those who were traditionally J2EE focused and saw Jini and JavaSpaces as Alien technology.

IMO having JavaSpaces aligned with POJO based development framework such as Spring is key for increasing its adoption by mainstream developers.

Our plan is to use openspaces as a platform to drive this initiative with the intent that it will be used as a reference implementation for the River project once we will reach enough level of consensus around it.

Nati S.
Write Once Scale Anywhere