The goal of this specification is to ease integration between Java® Applications and NoSQL databases, with a common API to work with different types and vendors of NoSQL databases.
To achieve this, the spec has two layers:
-
Communication API: Exactly what JDBC is to SQL. This API has four specializations, one for each type of database (column, document, key-value and graph). The specializations are independent of each other, optional from the point of the database vendor and have their specific TCKs.
-
Mapping API: What developers should use to integrate into a database. This layer is based on Annotations and CDI and preserves integration with other Jakarta EE technologies like Bean Validation, etc.
The guiding ideas for the project are:
-
Convention over configuration
-
Support for asynchronous queries
-
Support for asynchronous write operations
-
Easy to implement API, 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.
Jakarta NoSQL defines an API for common behavior to facilitate integration between Java® applications and NoSQL databases.
The Jakarta NoSQL project consists of the following modules:
-
Column Communication API and TCK
-
Document Communication API and TCK
-
Key-Value Communication API and TCK
-
Graph Communication API and TCK
-
Mapping API and TCK
Create the specification in Jakarta EE to help Jakarta EE developers create enterprise-grade applications using Java® and NoSQL technologies. It helps them create scalable applications while maintaining low coupling with the underlying NoSQL technology.
The development of the new API will use Eclipse JNoSQL as a starting point (first compatible implementation and inspiration for the APIs and TCKs):
This API has a huge value to the Jakarta EE developers as it will make easier to develop a modern and scalable application using NoSQL technology.
The main idea is a community-driven and releases every three months.
-
Milestone 1 - Graph Communication API and TCK
-
Milestone 2 - Column Communication API and TCK
-
Milestone 3 - Document Communication API and TCK
-
Milestone 4 - Key-Value Communication API and TCK
-
Milestone 5 - Mapping API and TCK