RE:jboss vs apache-tomcat
Tomcat sólo es un "contenedor web" (según la definición de contenedores de la especificación J2EE) y JBoss es un "contenedor de EJB y un proveedor de JMS y de JNDI".
El asunto es que lo que se define como un "Servidor de Aplicaciones J2EE" se establecen una serie de "contenedores", que son capaces de ejecutar diferentes cosas. El sistema completo es un Servidor de Aplicaciones, pero cada una de las partes puede ser utilizada por separado.
Un contenedor web (como Tomcat) puede ejecutar servlets y JSPs. Un contenedor de EJBs gestiona EJBs. Un proveedor JMS proporciona servicios de mensajes (colas, subscripciones...). JNDI es un servicio de directorio y localización.
Es bastante habitual que se use JBoss con un contenedor web delante para tener un Servidor de Aplicaciones completo. De hecho, JBoss se suele distribuir o bien con Tomcat o bien con Jetty ya incluidos.