The advent of the J2EE specification coupled with application servers providing the requisite services led to the design and development of monolithic applications:
Some of the characteristics of the monolithic application and its ecosystem are:
- Everything is packaged into a single .ear file. The single .ear file requires a multi-month test cycle, which results in a reduced velocity of change in production. Typically, a big push to production once or twice a year.
- Application build complexity is very high with dependencies across various modules. At times, there is a clash between the versions of the JAR files used by the application.
- Reuse between application is primarily performed by sharing .JAR files.
- Huge bug and feature databases—from a backlog perspective, there are many feature sets...