Eclipse JNoSQL

Primary tabs

The Eclipse JNoSQL is a framework whose has the goal to help Java developers to create Java EE applications with NoSQL

Eclipse JNoSQL is a Java framework that streamlines the integration of a Java application with the NoSQL database. It defines a set of APIs to interact with the NoSQL database and provides a standard implementation for most NoSQL databases.

This clearly helps to achieve very low coupling with the underlying NoSQL technologies used in applications.

The project has two layers:

Communication API: These are set to APIs that define communication with NoSQL database. In the traditional RDBMS world, these can be compared with JDBC APIs. This API set contains four modules with each one representing a NoSQL database storage type like Key-Value pair, Column Family etc.

Mapping API: These are the APIs that help developers integrate their Java application with the NoSQL database. This layer is annotation-driven and uses technologies like CDI and Bean Validations to make it simpler for developers. In the traditional RDBMS world, this layer can be compared to JPA or ORM frameworks.

This way, the NoSQL vendors just need to implement the communicate API without warning about another API. So, the project has two core project that is Diana, communication layer, and Artemis, the abstraction layer, project.

The basic building blocks hereby are:

A simple API to support Column NoSQL Database

A simple API to support Key-value NoSQL Database

A simple API to support Graph NoSQL Database

A simple API to support Document Database

Convention over configuration

Support for asynchronous queries

Support for asynchronous writes operations

An easy API to implement, so that NoSQL vendors can comply with it and test by themselves.

The API's focus is on simplicity and ease of use. Developers should only have to know a minimal set of artifacts to work with the solution. The API is built on latest Java 8 features and therefore fit perfectly with the functional features of Java 8.