Git Product home page Git Product logo

hankg / jnosql.github.io Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jnosql/jnosql.github.io

0.0 1.0 0.0 67.7 MB

The JNoSQL is a framework whose has the goal to help Java developers to create Java EE applications with NoSQL, whereby they can make scalable application beyond enjoy the polyglot persistence.

Home Page: http://jnosql.org/

License: MIT License

HTML 85.06% JavaScript 0.70% SCSS 12.01% Shell 0.10% Ruby 0.05% Makefile 0.10% Liquid 1.96%

jnosql.github.io's Introduction

Eclipse JNoSQL

JNoSQL Logo

The Eclipse JNoSQL is a framework to help 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.

What is Eclipse JNoSQL?

Eclipse JNoSQL is a Java framework that streamlines the integration of Java applications with NoSQL databases. It defines a set of APIs 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:

  1. Communication Layer: A set of APIs that defines communication with NoSQL databases. Compared with traditional the RDBMS world, they are like the JDBC API. It contains four modules, one for each NoSQL database type: Key-Value, Column Family, Document, and Graph.

  2. Mapping Layer: These APIs help developers to integrate their Java application with the NoSQL database. This layer is annotation-driven and uses technologies like CDI and Bean Validation, making it simple for developers to use. In the traditional RDBMS world, this layer can be compared to the Java Persistence API or object-relational mapping frameworks such as Hibernate.

Key features

  • Simple APIs supporting all well-known NoSQL storage types - Column Family, Key-Value Pair, Graph and Document databases.
  • Use of Convention Over Configuration
  • Support for Asynchronous Queries
  • Support for Asynchronous Write operations
  • Easy-to-implement API Specification and Test Compatibility Kit (TCK) for NoSQL Vendors

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 JNoSQL. The API is built on Java 8 features like Lambdas and Streams and therefore fits perfectly with the functional features of Java 8+.

Eclipse JNoSQL - Communication

The Eclipse JNoSQL - Communication project defines the standard APIs to communicate with NoSQL databases - this project works as a NoSQL Database JDriver.

Communication has four APIs, one for each NoSQL database storage type, and a TCK for each one. The Test Compatibility Kit (TCK) helps ensure that driver implementations adhere to API specifications. So if a key-value database driver implements and pass all its tests, it means that this database driver support the Communication key-value API.

Eclipse JNoSQL - Mapping

The Eclipse JNoSQL - Mapping project is an integration and mapping layer that helps developers integrate applications and works with Communication. The Mapping layer uses technologies such as Bean Validations and incorporates CDI capabilities, making integrations very simple and effective.

In other words: Communication + CDI = Mapping

Similar to Communication, Mapping also has separate modules for all well known NoSQL Database Storage types. With CDI at its heart, Mapping is a very powerful, yet simple, framework.

Key features of Mapping:

  • Annotation Driven.
  • Highly Customizable (reflection, caching, persistence flow, etc.)
  • Observable events on the persistence flow
  • Support for Interceptors, Injection and Validation

jnosql.github.io's People

Contributors

otaviojava avatar andresgalante avatar dependabot[bot] avatar leomrlima avatar manikmagar avatar adolfoweloy avatar rhuan080 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.