The Players
Quite a few companies offer J2EE application servers, including all of the following:
EJB container
Servlet container
JSP compiler/container
JMS engine
JTA engine
JDBC connection pools
JNDI servers
Various surveys distribute the market share between vendors with surprisingly different numbers, but the relative ranking is fairly consistent: BEA's WebLogic product is hands-down the industry's number one choice; no matter the survey, BEA holds at least double the market share of the closest competitor. You can download a 30-day evaluation of WebLogic to get your feet wet, but if you want to own a copy, you're looking at some serious cash. Notwithstanding the Open Source alternatives, all application servers are going to be out of reach for individuals and most small to mid-sized companies.
The second and third spots are usually held by IBM's Websphere and Borland's Application Server (and yes, they're Borland againafter taking a brief trip to Inprise).
The good news for individuals and small to mid-sized companies is that there are some very powerful Open Source alternatives. The number one Open Source EJB container is JBoss; the JBoss subprojects offer EJB, JMS, and JTA, and it can be easily combined with servlet/JSP containers such as Jakarta's Tomcat or Jetty to build a full application server. Other Open Source alternatives include Enhydra and OpenEJB.
Throughout these articles, I'll be developing EJBs using JBoss, but will also provide configuration information for WebLogic. If you're using another application server, don't fret; the differences are minimal and the code you'll learn will be universalit's just a deployment thing!