This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
I've read several articles on this subject and I don't want to arouse controversies, but if I had to design a complex web application with a fair amount of transactions per day (let's say 5.000) should I choose JEE or Spring or both? My friends in the UK say that nobody uses JEE any more and that I should move on to Spring. In my personal experience I found that the use of both Spring and application servers is messy because you spend too much time to set up a development environment properly. Do you really think that JEE is dead?
That's an odd question. JEE provides the support for web applications written in Java. To avoid using JEE entirely and still be using Java, you'd have to design, build, and debug up a custom webapp server from scratch. In the business world, that would rarely be justifiable, since you and you alone would have to shoulder the costs of developing and supporting the webapp server in addition to developing and supporting the webapp itself. And, for that matter, developing and supporting a decent security manager, since almost nobody manages to create security systems that are actually secure on their own.
You could attempt to leverage the above by making your DIY server out of Spring components, but it would still be a lot of work.
On the other hand, I've found that Spring can be an immense help in developing and testing JEE webapps. I use it to manage the persistency layer of my apps as well as supply common services like email, where the rewiring capabilities of Spring mean that I can test using a dummy mailer, then switch on the live one for production with no changes to program source code.
Whether you use Spring's web subsystems or JEE facilities such as JSF would depend entirely on your local needs and resources. There's no single correct answer.
An IDE is no substitute for an Intelligent Developer.