Space4J: similar to Prevayler but takes advantage of Java 1.6 concurrent data access APIs

Prevaler is a great alternative to using a relational database if you need persistence and your application’s data easily fits in memory. I wrote a large web app (similar to SharePoint) about 6 years ago using Prevaler and at one point it ran almost three years without restarting (until the server that it was running on needed maintenance). Prevayler is solid stuff.

Space4J works on the same concept but takes advantage of the Java 1.6 concurrency APIs. Space4J is a new project and I have only had time to look through the source code and examples, but it definitely looks like a possible substitute for Prevayler on future projects. I think that Space4J might perhaps take more advantage of generics (e.g., the interface Space and implementing classes could be “generic-ized” for type safety and elimination of unchecked exceptions).

7 thoughts on “Space4J: similar to Prevayler but takes advantage of Java 1.6 concurrent data access APIs

  1. Marco Fabbri

    Talking about concurrency and persistence, Gigaspace’s approach based on space based architecture ( http://en.wikipedia.org/wiki/Space-based_architecture ) and Persistence as a Service ( http://natishalom.typepad.com/nati_shaloms_blog/2007/09/paas-persistenc.html ) looks interesting and promising for ease of development (simplicity inherited from tuple spaces programming model), performance (in memory data grid) and integration with existing technologies (e.g, Spring/OpenSpaces http://www.openspaces.org ).

    Reply
  2. Marco Fabbri

    Their main revenue comes from financial, telecommunications, and government (defense) sectors where they have pretty ‘big’ (way beyond $5million/year revenue) customers; as big customers provide a solid revenue, the startup offer makes sense (as it comes at almost no cost, no commercial grade support being provided) in fostering adoption and enriching the ecosystem around gigaspaces.

    Reply
  3. Dimitris Andreou

    Explain to me. How a SW guy can recommend data access lacking the notion of a query language??

    These are mere toys: anyone can write a logging framework based on serialization in a weekend. And as far I see, space4j doesn’t even include an abstract clock (and can’t reliable reapply time-based commands). Even the old prevayler had more sense to that.

    Reply
  4. Sergio Oliveira Jr.

    Dimitri: There is no need for an abstract clock. That was a flaw in Prevayler architecture in my opinion. Again THERE IS NO NEED FOR CLOCK. Check Space4J and you will understand that a clock is useless.

    Reply
  5. Sergio Oliveira Jr.

    All about query language:

    Space4J comes with a complete and powerful indexing framework. You can do any query you want using 4 different types of indexes. This was another problem of Prevayler. Object querying is not trivial and if it is left to the user to solve this issue, using another framework or not, he will get totally lost.

    Reply

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>