Hi all,
I have to work with a project in which it is mandatory to use JEE and EJB 3. Can anyone suggest the best development environment for development of these technologies? And any useful links with some samples and how-tos to start with?
Hi all,
I have to work with a project in which it is mandatory to use JEE and EJB 3. Can anyone suggest the best development environment for development of these technologies? And any useful links with some samples and how-tos to start with?
There are loads of questions about Java IDEs already (search for "java ide"). The three big ones are Eclipse, Netbeans and Intellij IDEA (commercial). My personal favourite is Intellij but all three choices are valid. Here's just one view of Intellij. Here is an overview of Intellij's EJB 3.0 integration.
What's going to be important is what JEE application server to use. My suggestion is Glassfish (either v2 or v3 Prelude).
Whatever you do use Spring.
I guess it depends on what you are prepared to pay for and feel most comfortable with.
I have used the following environment and are very happy with:
IDE - Intelli J $$$ (There are a few great ones out there like (Eclipse and Netbeans as well. I just feel for paying the extra $$ you get a lot more bang for your bucks.
AppServer (For EJB3 support and Tomcat plug-in for J2EE - JBoss
SVN (Versioning) - CVS Dude
Testing - JUnit
Logging - Log4J
All integrated to make builds and deployments a dream. I feel that all this works very well with IDEA.
For the IDE, I have tried almost all IDEs on the market and while there are wonderful IDEs for java such as NetBeans or IntelliJ, I really think Eclipse is the way to go.
It's the most 'smart' in guessing what you really wanted to do and has some serious 'magic' under the hood to automate your workflow really easily (such as getter/setter completion, code snippets completion, etc...).
Remember to check the extensive prefences and turn on what you feel like its worth (a LOT of useful stuff is disabled by default).
Also, you get a UNIVERSAL IDE with plugins with most languages, and even if some of them are not up to par with the Java Development Toolkit, they give you an easy way to code in another language without having to learn a NEW IDE each time you switch platform/language.
I've tried in the past to work on some projects with alternatives, but after a few weeks of working on them, I always switched back to eclipse, because it was the IDE that allowed me to do the most stuff in the least time, and get it right soon.
Also, most of the technologies/frameworks give eclipse plugins to plug that specific tech/framework into your workflow and help you use them in a RAD approach (Spring, Hibernate, etc...)
So IDE: Eclipse all the way.
As far as Application Server goes, a few months ago I would have answered JBoss. It has been the most tecnologically advanced application server and it just works... but in the last year glassfish has grown really a lot and NOW I really think its the best application server out there and its totally modular thanks to the micro-kernel and smart modularization (it starts in a few seconds and loads up what is needed just WHEN it is needed).
Moreover it's the 'reference implementation' so it is 'the standard' and you'll always get more support and answers to your problems if you pick up the 'standard'.
I don't really see a reason to use JBoss anymore, apart from maybe more commercial support if needed. But if that's not a major issue, go with glassfish all the way: its the 'new' and improved jboss, in a sort of way.
So Application Server: Glassfish.