EE 5 has made a huge change to EE development with the use of ‘sensible defaults’ and annotations replacing much of the Deployment Descriptor Hell, but maybe the parties involved in the JCP process who defined the EE 5 spec did not go far enough. Richard Monson-Haefel, an analyst with the Burton Group and long time J2EE book author, comments in this article that there is a growing trend to take a ‘pick n mix’ approach to Java EE, where people are taking just the parts they need and enabling their use with other frameworks like Spring.
This is a good thing in my opinion, as firstly, no-where in the EE spec does it suggest you use every part of the EE spec – you choose the parts you need for solving your current problem. Spring goes an extra step to enabling this approach, as it enables the use of services previously only available and usable (easily) within an EE container, the application server, which depending on whether you prefer purchasing from a major vendor or using an open source solution, may cost you in the region of multiples of $10k.
The next threat to EE is the advent of alternative approaches to the EE monolithic approach, such as those spearheaded by Ruby on Rails and the many other frameworks introducing similar approaches. EE can only learn from the benefits being introduced by these frameworks. The article mentions an important point though – can EE adapt quick enough through the JCP process to offer these improvements that people are looking for, to keep people with the EE platform instead of moving elsewhere?