- "Powerful", expensive application servers were bought a few years ago. The reasoning was: reliability + support / maintenance contracts from a single vendor is the only viable solution for mission critical projects. For some reasons the most inefficient servers (from the development perspective) were the most popular.
- The "popular" J2EE servers were not frequently released and upgraded - so they are significantly lagging behind the "state of the art" technology. Furthermore the internal corporate policies don't allow to upgrade the platform too often - because of stability.
- Developers just wanted to use the latest and greatest and begun to overshadow the existing infrastructure with additional frameworks like Spring
- In these cases Spring took more and more responsibility - at the end only about 5% of the bought functionality was used. 95% came from Spring and alternatives (like e.g. Hibernate)
- Spring is deployed with the application - upgrades are easy, because the server functionality is actually not used. Operations don't noticed that - so there was no problem so far :-)
- Because the server license was expensive and also maintenance costs had to be paid - there is no more budget left for commercial support for Spring. So only 5 % of the overall functionality is supported. The whole application is actually unsupported - so money for nothing.
- Because the mix of Spring + overloaded Servers works - sometimes it became strategic.
Running unsupported software on overloaded and slow application servers became a "best practice". 95% of the unused services consume productivity, CPU-cycles, memory and increase the complexity. I'm sometimes asked how I was able to introduce something new into "enterprise" environments. Its simple. I made the craziness transparent and explained what it actually means :-). Because Java EE 5/6 is very similar to Spring - the future of Enterprise Java is clear - either full-stack Java EE or full-stack Spring. The mix is not very efficient and also not reasonable - especially not in the economic downturn.