views:

660

answers:

2

One chapter in Pragmatic Programmer recommends looking at a blackboard/space-based architecture + a rules engine as a more flexible alternative to a traditional workflow system.

The project I'm working on currently uses a workflow engine, but I'd like to evaluate alternatives. I really feel like a SBA would be a better solution to our business problems, but I'm worried about a total lack of community support/user base/venders/options.

JavaSpaces is dead, and the JINI spin-off Apache River seems to be on life support. SemiSpace looks perfect, but it's a one-man show. The only viable solution seems to be GigaSpaces.

I'd like to hear your thoughts on space based architecture and any experiences you've had with real world implementations.

+1  A: 

Why do you regard Javaspaces as dead, beyond the fact that the Jini 2.1 release was some time ago (October 2005) ? Having used that, I'd suggest that it indicates a mature and complete technology set rather than something abandoned and defunct.

For another implementation of Javaspaces, take a look at Blitz Javaspaces. That's maintained and enhanced more regularly (latest release July 2008) and offers a more performant and manageable Javaspace implementation than the default outrigger supplied by Sun.

Brian Agnew
Hi Brian,I said JavaSpaces was dead because the Jini spec (of which JavaSpaces is a part) and Sun's implementation was moved to an Apache incubator project (River) which seems to have limited support. JMS, JCR, JPA, etc. are also examples of mature specifications but they have active communities.
rcampbell
+1  A: 

Gigaspaces is a successful commercial implementation of JavaSpaces -- so, I wouldn't say JavaSpaces is dead.

You might take a look at Java Shared Data Toolkit (also this article) to see if it meets your requirements.

Joshua Fox
I should clarify my dead statement. There are specs/APIs/standards that are actively maintained, have rich communities, and have multiple solid implementations to choose from (think JMS, JPA, even something like XML or JSON). I call JavaSpaces dead because it has none of these beneficial attributes
rcampbell
To add: I'm looking at GigaSpaces and SemiSpaces, but my question was really more broad: who's used this archetecture and what do they think of it? I want horror/success stories, comparisons, thoughts, etc. The problem is it looks like nobody is out there with this kind of experience.
rcampbell