servidor diferencias contenedor application aplicaciones tomcat jboss

tomcat - diferencias - wildfly 10



JBoss vs Tomcat nuevamente (5)

Definitivamente miraría a TomEE ya que la idea detrás es mantener a Tomcat sin la integración de JavaEE 6 por defecto. Ese es un tipo de compromiso muy bueno

Esta parecerá ser la vieja pregunta (que es :)) qué servidor es mejor entre Tomcat y JBoss, pero aún no he encontrado una respuesta lo suficientemente buena para resolver mi problema.

Sé que Tomcat es solo un servlet engine y JBoss ofrece muchas más funcionalidades de fábrica, pero lo que no entiendo es por qué Tomcat es mejor usarlo en algunas situaciones que en jboss. Leí en alguna parte que JBoss tiene una arquitectura conectable y, si es necesario, puede desconectar funciones de JBoss para convertirlo esencialmente en un contenedor de servlets tomcat. Si ese es el caso, entonces ¿no es mejor hacerlo en lugar de utilizar Tomcat, para dejar espacio para volver a conectar las cosas?

Otra explicación que encuentro a favor de Tomcat es que es liviana, ¿eso significa menos requisito de memoria o eso también permite una respuesta más rápida? De nuevo, necesito saber que no cargará los componentes de jboss según los requisitos, es decir, si solo estoy utilizando servlets, entonces el jboss no omitirá el resto de las funciones y se convertirá en ligero de forma automática.

Básicamente, mi aplicación no tiene ninguna característica Java EE, pero los argumentos ''ligeros'' a favor de Tomcat no suenan lo suficientemente convincentes debido a las razones mencionadas anteriormente.

Por favor ayuda.

Editar: Finalmente habíamos decidido usar Tomcat en aquel entonces y lo hemos estado utilizando durante más de 6 meses con gran facilidad de uso. De hecho, encontramos un uso práctico en el que podíamos ejecutar fácilmente múltiples instancias de tomcat en la misma máquina servidor para diferentes desarrolladores, lo mismo podría haber sido muy difícil con jboss.

He descubierto que tomcat es sin problemas para nuestro trabajo y, por lo tanto, puede ser la elección correcta cuando no está utilizando muchas de las características de Java EE. PD: Tenga en cuenta que todavía usamos Spring e Hibernate con Tomcat


Eche un vistazo a TOMEE

Tiene todas las características que necesita para construir una aplicación completa de Java EE.


Estrictamente hablando; Sin las características de Java EE, su aplicación apenas necesita un servidor de aplicaciones ;-)

Al igual que otros, han señalado que JBoss tiene una pila (más o menos) completa de Java EE, mientras que Tomcat solo es un contenedor web. JBoss se puede configurar para que solo sirva como un contenedor web también, simplemente sería una capa delgada alrededor del contenedor web tomcat incluido. De esta forma, podría tener un JBoss casi tan ligero, que en realidad sería una "capa" delgada alrededor de Tomcat. Eso sería casi tan ligero.

Si no necesita ninguno de los extras que JBoss tiene para ofrecer, elija el que le resulte más cómodo. ¿Cuál es más fácil de configurar y mantener para usted?


Primero los hechos, ninguno es mejor . Como ya lo mencionó, Tomcat proporciona un contenedor de servlets que admite la especificación de Servlet (Tomcat 7 admite Servlet 3.0). JBoss AS, un servidor de aplicaciones "completo" es compatible con Java EE 6 (incluido Servlet 3.0) en su versión actual.

Tomcat es bastante liviano y en caso de que necesite ciertas características de Java EE más allá de la API de Servlet, puede mejorar fácilmente Tomcat al proporcionar las bibliotecas requeridas como parte de su aplicación. Por ejemplo, si necesita funciones de JPA, puede incluir Hibernate o OpenEJB, y JPA funciona casi de manera predeterminada.

Cómo decidir si usar Tomcat o un servidor de aplicaciones Java EE completo:

Al comenzar su proyecto, debe tener una idea de lo que requiere. Si se encuentra en un entorno empresarial grande, JBoss (o cualquier otro servidor Java EE) podría ser la elección correcta, ya que proporciona soporte integrado, por ejemplo:

  1. Mensajería JMS para integración asincrónica
  2. Motor de servicios web (JAX-WS y / o JAX-RS)
  3. Capacidades de gestión como JMX y una interfaz de administración con guiones
  4. Seguridad avanzada, por ejemplo, integración lista para usar con directorios de terceros
  5. Archivo EAR en lugar de "solo" compatibilidad con archivos WAR
  6. todas las otras características "geniales" de Java EE que no recuerdo :-)

En mi opinión, Tomcat encaja muy bien si se trata de aplicaciones centradas en la web y orientadas al usuario. Si la integración de back-end entra en juego, se debe considerar (al menos) un servidor de aplicaciones Java EE. Por último, pero no menos importante, migrar una WAR desarrollada para Tomcat a JBoss debería ser un ejercicio de 1 día.

En segundo lugar, también debe tener en cuenta el uso dentro de su entorno. En caso de que su organización ya se ejecute, digamos 1,000 instancias de JBoss, usted siempre puede ir con eso, independientemente de sus requisitos concretos (considere aspectos como el costo de las operaciones o el aumento de personal). Por supuesto, esto aplica a la inversa.

mi 2 centavo


También he leído que para algunos servidores uno, por ejemplo, solo necesita anotar contextos de persistencia, pero en algunos servidores, la inyección debe hacerse manualmente.