23

I am about to start a web project and have been working almost exclusively with a LAMP stack for the past 5 years. I would like to build something larger and more scalable and hence have been looking into Java EE. The division of logic between JSP and EJB seems ideal for what I want to do.

Can anyone recommend resources for getting familiar with Java EE? And perhaps if anyone knows of technologies that are more scalable than PHP that I should consider as well, I'm all ears.

Thanks a lot!

Mike Braun
  • 3,729
  • 17
  • 15
Bryan Marble
  • 3,467
  • 5
  • 26
  • 29

3 Answers3

15

I strongly recommend starting with a good book. This is a complex topic and even an experienced developer needs some help to get started.

I also recommend to get familiar with non Sun technologies right for the beginning. Database persistence is much easier with frameworks such as Hibernate and iBatis than with Entity Beans (even in the new Java EE standard). Have a look at a dependency injection framework like Spring and Guice. In fact Spring offers much more than dependency injection (aspect oriented development, web services framework, MVC, wrappers for JDBC and JMS).

Another important thing is the selection of IDE. In the free world you can either go with Eclipse (Java EE edition) or NetBeans. Both are good, I find NetBeans a little slow, but it's getting better. I also recommend Tomcat as the application server. Although it doesn't implement the Java EE standard completely (no EJBs), there are little things that you can't do. Full application servers are JBoss from RedHat and GlassFish from Oracle. GlassFish is nicely integrated in NetBeans (has nothing to do with Sun's previous application server - it is fast and reliable).

EDIT

The question about JEE books is now closed. Answers suggested http://www.theserverside.com/, J2EE: The Big Picture and Manning publications, for books like "Spring in Action" and "Java Persistence with Hibernate". I am sure there are now more good books available.

kgiannakakis
  • 103,016
  • 27
  • 158
  • 194
9

I am personally a big fan of Sun's official tutorials even when I am familiar with the basic subject matter. I've found them fairly good for skimming and seeing what's relevant and what's not, and they are freely available online.

The only problem with them is that they don't cover commonplace tools and libraries, so once you've covered your bases, look for Java EE best practices and tools.

Also, skip the Sun application servers and go straight for Tomcat and JBoss.

AMIC MING
  • 6,306
  • 6
  • 46
  • 62
Uri
  • 88,451
  • 51
  • 221
  • 321
1

I think given your background in Linux and MySQL, the best place to start would be Java's Servlet API. Java Servlets are the basic unit in Java EE for handling HTTP requests and responses on the server side. In most of the Java EE work that I have done, servlets cover about 50% of development. The other 50% is database development, which you seem to have done in the past.

For your servlet container, I would recommend Apache Tomcat. Tomcat has a robust development community contributing regularly, and is used at the heart of several enterprise application server solutions, such as JBoss.

Good luck in your project!

Utku
  • 2,025
  • 22
  • 42
Peter Bratton
  • 6,302
  • 6
  • 39
  • 61