Our company used to have this no good peace of **** web server -- eWave. It would crash all the time and was very unstable. Now we've migrated to JBoss. It's much more stable than eWave. But, why use JBoss if there is Tomcat which JBoss is build on. I can't tell my boss what to do and I suggested that we use Tomcat, but no go. So why use Jboss over Tomcat?
All right brain, you don't like me and I don't like you, but let's just do this one thing so I can get back to killing you with beer.<br /> <br />- Homer Simpson
The tomcat part of jboss is a service that's embedded in it. jboss is about being a j2ee implementation. It has a configurable EJB container, JNDI, JMX implementation (which serves as its backbone), and JMS implementation, to name a few that have helped me. For me the most important point above is the EJB container. I've deployed a lot of ejb's on jboss, and it's never let me down. If you need to read up on EJB's you in the right place, because Kathy Sierra and Bert Bates wrote a SWEET book about them called Head First EJB (not that I'm biased, it's just AWESOME. lol).
The nature of jboss is "hot deployment", meaning when you have a new version of your app, you can drop it in the deploy directory and the server will redeploy everything in it. Jboss also has clustering support.
Tomcat may have some of these things. I really don't know. I do know that jboss has never let me down.
Originally posted by Alex Kravets: ... So why use Jboss over Tomcat?
Tomcat is Web Container where as JBoss is application server. That means JBoss includes JBossWeb HTTP server and JSP/Servlet engine (either tomcat or jetty), EJB, CMP2.0, JCA, IIOP, Clustering, JTS, JMX and more.
So, if your applicaton uses only Servlets (and not other je22 components like ejb or web services) you might wana use Tomcat. In addition, JBoss adds other services like Clustering and JTS.