Travel with NOSQL using SpringData on Neo4j and MongoDB
The Tikal Java Group spent the holidays building a polyglot NOSQL travel application using SpringData, Neo4j, and MongoDB.
In this Fuse day, Tikal Java group decided to continue its previous Fuse research for NoSQL, but this time from a different point of view – SpringData and Polyglot persistence. We had two goals in this Fuse day: try working with more than one NoSQL in the same application, and also taking advantage of SpringData data access abstractions for NoSQL databases. We decided to take MongoDB and Neo4J as document DB, and Neo4J as graph database and put them behind an existing, classic and well known application – Spring Travel Sample application.
This is a kind of “hello world” application for Spring users, which demonstrates a very simple hotel bookings application, using Spring framework with JPA to access RDBMS. As said, our goal was to replace the RDBMS behind this app, with the two NoSQL above. Obviously this wasn’t done for architecture reasons, since RDBMS can serve perfectly for this simple application. We merely wanted to understand, how hard is to migrate a simple Spring/JPA application to SpringData/NoSQL, and how hard is to use more than one NoSQL on the same project (while gaining some hand-on experience with these technologies).