Chapter 2. The Path to Cloud Native Java

“Πάντα ῥεῖ” (Panta rei) is a famous aphorism from philosopher Heraclitus that describes the mutable condition of our existence where everything flows, where our call is to react and adapt. This perfectly describes the right approach to the evolution we are experiencing in the IT world in general, and specifically with programming languages and frameworks, where heterogeneous, distributed, multicloud workloads are more common and essential for business purposes.

Java and Jakarta EE (formely known as Java EE), are evolving as well in that direction, balancing the benefits that come from the consolidated experience of enterprise solutions, together with the need for a fast-changing cloud-aware scenario where our applications can run in many clouds seamlessly. In this chapter, we will outline the components needed for a transition to cloud native Java, walking you through an ecommerce store Java implementation called Coolstore.

Cloud Native Workshop

Microservices are an accepted and well-recognized practice nowadays. For JavaEE developers, this means a lift-and-shift change of the paradigm, where a single application server does not contain all our business logic. Instead, it gets split into different microservices running in their application servers, like Tomcat or Undertow, with a minimal footprint and optimizations to keep this coexistence functional and performant also in the cloud native world.

The monolithic approach today can be refactored ...

Get Modernizing Enterprise Java now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.