tags:

views:

1337

answers:

3

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 J2EE. The division of logic between JSP and EJB seems ideal for what I want to do.

Can anyone recommend resources for getting familiar with J2EE? 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!

+1  A: 

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 J2EE for handling HTTP requests and responses on the server side. In most of the J2EE 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 application server 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!

jordan002
+4  A: 

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 andf 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 J2EE best practices and tools.

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

Uri
+1, though I might add Jetty to your list of servers.
rtperson
+3  A: 

Have a look at this question about entry books for J2EE. 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 J2EE 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 (J2EE 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 J2EE standard completely (no EJBs), there are little things that you can't do. Full application servers are JBoss and Glassfish from Sun. Glassfish is nicely integrated in Netbeans (has nothing to do with the old Sun's application server - it is fast and reliable).

kgiannakakis