Going beyond Java Enterprise Edition
In Chapter 1, Designing Software Architectures in Java – Methods and Styles, we had a very quick look at containerizing Java applications.
We will now look into alternatives and extensions to Java Enterprise, including lightweight Java servers and fat JAR applications. Here, we will see a quick overview of why and how to implement fat JAR applications.
Packaging microservices applications
A fat JAR (also known as an Uber JAR) is likely to be one of the starting points in the inception of application service alternatives (and microservices runtimes). Frameworks such as Dropwizard, Spring Boot, and, more recently, Quarkus have been using this approach.
The idea of fat JAR is that you package all you need into a single .jar
file so that we have a self-contained and immutable way to deploy your applications.
The advantages are easy to imagine:
- Deployment is simplified: Just copy the
.jar
file. - Behavior is consistent...