In the second part of this analysis of NoSQL in Java, we’ll look deep into the platforms, such as Hibernate, Quarkus, Spring, Micronaut, and Jakarta EE.

Within the world of NoSQL solutions with Java, there are several solutions and different types, which was the first part of this article. However, in addition to the keys, there are also platforms. The platforms are a set of tools that help to work with NoSQL databases. In this post, you will have the objective of talking about the platforms: the definition and the existing solutions in the current environment with Java.

An important point to start the discussion about NoSQL platforms is that, like NoSQL description themselves, there is no single definition. It can differ according to the literature and experience of each author. In a general way, NoSQL solution platforms are a set of tools to deal with databases. That is, in addition to the API, there will be other tools.

Thinking about the existing platforms, they are composed of four points, in addition to the API itself.

  • Dependency injection: It is a framework based on a container for either injection of dependence or inversion of control to facilitate the loose coupling among different system modules in the application.
  • Template: Thinking about a mapping API. Its main objective is to interpret operations with one or more databases to reduce the learning curve and errors or bugs.
  • Repository Interfaces: Thinking about DDD, it would be responsible for capturing the entity’s domain and abstracting, totally or partially, the implementation for the Java developer. For example, the framework’s user creates an interface, develops some methods, and the platform itself will be responsible for implementing these features.
  • Configuration: We learned from The Twelve-Factor the importance of not leaving critical information like the username and password hardcoded. This tool’s main objective within the Solution is to facilitate this good practice of the third factor: the configuration.

Thinking about these scenarios, we can enumerate five platform solutions within the Java and NoSQL world that we have currently:

As this post’s objective will be to obtain an overview of the platforms, in this first point, only the components will explore with a simple demonstration of the API using MongoDB and a Philosopher entity with some attributes.

#java #database #cloud #nosql #spring #microprofile #quarkus #micronaut #jakarta nosql

NoSQL, the Cloud, and Java: Part 2: The NoSQL Platforms
1.15 GEEK