Java Enterprise Edition (EE) has reached an outstanding level of maturity and has a huge adoption in the IT Enterprise. A Java EE application is typically packaged as a monolithic application and deployed in an application server, which can host multiples of them.
A monolithic application can be thought of as a self-contained application that includes both the user interface and the business components that are required to run the applications.
This approach has been widely used for years. The reason is simple: monolithic applications are conceptually simple to develop and package because everything is contained in a bundle and can be edited with a single IDE. Also, scaling monolithic applications is simple: all you need to do is scale a single component.
As a result, the traditional way of coding enterprise applications produced an extremely large...