How does Java EE compare to other enterprise frameworks? What criteria make a framework lightweight?
Sebastian Daschner in this new article makes the case that the Java EE platform is lightweight and improves productivity. He explains how APIs contained in the Java EE umbrella offer a productive and enjoyable developer experience while providing seamless integration with standards such as Contexts and Dependency Injection (CDI), JAX-RS, JSON Processing (JSR 353), and Bean Validation.
Real-world applications don’t need a lot of configuration because of the convention-over-configuration driven approach of Java EE. Java EE 7, when used together with Java 8, comes with enough functionality to cover the majority of use cases without any other dependencies. Java EE is the perfect framework to be used in container technologies such as Docker since the deployment implementation is already contained in the runtime. Sebastian recommends separating business logic from the runtime if possible. This means packaging the application in a WAR file that contains only the application's code.
In the article’s summary, he recommends:
• Using Java EE 7 and Java 8 only with the API being provided
• Building a kilobyte-sized WAR file containing only the business logic plus minimal plumbing (such as JAX-RS resources or JPA)
• Building a Docker image—adding only a WAR file to a base image containing the configured application server
• Shipping via a CD pipeline that deploys the application using containers
Read the full article for a more complete description.