Dali Tooling for Dynamic Persistence and NoSQL
The Eclipse Dali project has been providing robust JPA and JAXB tooling for a good number of years. Over this time-frame we have seen the rise of HTML5 driven web applications and NoSQL databases. These technologies present new opportunities and challenges for today's web application developer and likewise new opportunities and challenges for the Dali project to continue to grow and meet the needs of our users.
In this session we will demonstrate the advances in Dali tooling for the Kepler release in the area of dynamic persistence and NoSQL support. Dynamic persistence is Java persistence without the need to define the classes in advance. This allows for more flexible models, but can also save a great deal of coding time when these objects are only needed for data access. In addition to content assist and validation, Dali supports reverse engineering a relational database schema into a complete, typed object model, represented by an XML Mapping File (a process known as dynamic entity generation). NoSQL support includes a similar ability to generate dynamic entities but from a NoSQL database. A mapping model is generated by inferring the definition from a snapshot of the data in the NoSQL database.
This new functionality will be examined in a demo starting from an existing MongoDB instance. The demo will move step-by-step through the generation of the necessary mapping artifacts, configuration of a RESTful persistence service, and the exercising of this service via HTTP requests from a web browser. Along the way, we will discuss some of the challenges associated with general mapping and entity generation with NoSQL databases.