Apache Rave claims to have a pluggable persistence model, though nothing but a JPA/SQL model is currently offered. Come hear the challenges, successes and rewards of a project that put this pluggability claim to the test by creating a MongoDB persistence layer for Rave.
Apache Rave is a new widget-based, web-and-social mashup engine that aims to be flexible in implementation. As such, a stated goal of Rave has been to provide a pluggable persistence model that can be tailored for any type of backing store. To date, the Rave community has focused on providing a sole implementation of this model with SQL via JPA. In order to put our claim of pluggable persistence to the test, we set out to develop a NoSQL implementation of Rave’s persistence model.
When choosing the type of NoSQL store to test our claim, we considered what would be the best fit for the average environment. As a mashup engine, Rave is responsible for managing and maintaining widgets within the system. When this core requirement is coupled with a theoretical operational need for a horizontally scaled system, a document store such as MongoDB is a natural fit.
With our technology chosen and our goal fixed, we set forth to implement our new store. Come see how we fared in our efforts and review the challenges, successes and lessons learned in moving what has essentially been a SQL based persistence model to MongoDB.