Java Champion / JavaOne Rockstar Adam Bien (adam-bien.com) is a self-employed consultant, lecturer, software architect, developer, and author in the enterprise Java sector. He is also the author of several books and articles on Java and Java EE technology, as well as distributed Java programming. adam has posted 59 posts at DZone. View Full User Profile

Crazy J2EE World - With Spring On Top

03.24.2010
| 5279 views |
  • submit to reddit
  1. "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.
  2. 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.
  3. Developers just wanted to use the latest and greatest and begun to overshadow the existing infrastructure with additional frameworks like Spring
  4. 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)
  5. 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 :-)
  6. 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.
  7. 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.

From http://www.adam-bien.com

Published at DZone with permission of its author, adam bien.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)