Book Image

Persistence Best Practices for Java Applications

By : Otavio Santana, Karina Varela
Book Image

Persistence Best Practices for Java Applications

By: Otavio Santana, Karina Varela

Overview of this book

Having a solid software architecture breathes life into tech solutions. In the early stages of an application’s development, critical decisions need to be made, such as whether to go for microservices, a monolithic architecture, the event-driven approach, or containerization. In Java contexts, frameworks and runtimes also need to be defi ned. But one aspect is often overlooked – the persistence layer – which plays a vital role similar to that of data stores in modern cloud-native solutions. To optimize applications and data stores, a holistic understanding of best practices, technologies, and existing approaches is crucial. This book presents well-established patterns and standards that can be used in Java solutions, with valuable insights into the pros and cons of trending technologies and frameworks used in cloud-native microservices, alongside good Java coding practices. As you progress, you’ll confront the challenges of cloud adoption head-on, particularly those tied to the growing need for cost reduction through stack modernization. Within these pages, you’ll discover application modernization strategies and learn how enterprise data integration patterns and event-driven architectures enable smooth modernization processes with low-to-zero impact on the existing legacy stack.
Table of Contents (18 chapters)
1
Part 1: Persistence in Cloud Computing – Storing and Managing Data in Modern Software Architecture
6
Part 2: Jakarta EE, MicroProfile, Modern Persistence Technologies, and Their Trade-Offs
9
Chapter 7: The Missing Guide for jOOQ Adoption
11
Part 3: Architectural Perspective over Persistence

A look back at relational databases

Relational databases have been a trusted solution for data storage for over 50 years, with widespread adoption amongst worldwide corporations. One of the best advantages users gain from using relational databases is being able to use Structured Query Language (SQL).

The fact that SQL is a standard query language supported by multiple vendors means SQL code is portable, and the same SQL code works with little or no modification on many database systems. This is a way of assuring vendor lock-in. Other than that, SQL also helps to reduce the cognitive load of having to learn a new language or API, such as Java’s JDBC or JPA.

Now, when referring to the DBMS, in addition to a large variety of tools and resources, relational databases also adhere to the ACID principles (atomicity, consistency, isolation, and durability), ensuring the reliability and integrity of data transactions. These features make relational databases a reliable choice...