Quando usar TomCat, Jboss ou Wildfly

Wildfly e Tomcat estão em categorias distintas de componentes de infraestrutura Java.

A Apache Tomcat é um container web Java e atende as necessidades para aplicações Java baseadas em Servlet e JSP e com regras de negócios dentro da mesma camada de apresentação.

O JBoss AS e Wildfly são Servidores de Aplicação que fornecem a API, o modelo de arquitetura e o ambiente de execução definidos na especificação JAVA EE que inclui o container web e diversos outros subsistemas Java EE (Segurança, computação e acessos distribuídos, JAX-RS, JAX-WS, JSF, JMS, JTA, CDI, EJB entre outros).

É possível adicionar funcionalidades ao Apache Tomcat, mas item por item, adicionar funcionalidades ao Apache Tomcat  através de componentes não é o maior problema.

 Os maiores desafios da integração doméstica de componentes são: 

  • A garantia de longevidade dos componentes escolhidos
  • A garantia de que seguirão os modelos usados para integração
  • A complexidade de configuração e manutenção da integração
  • A garantia de funcionamento adequado dos componentes e do conjunto a longo prazo

O próprio Apache mantém um projeto de integração de componentes para adequar o Apache Tomcat a especificações Java EE: o TomEE que atende ao Web Profile da JAVA EE 6 que poderia ser implementado como substituto a Wildfly no perfil web, mas não para projetos que necessitem do "Full Platform JAVA EE"
Assim, para projetos que são plenamente atendidos por um container web Java (JSP e Servlets) é naturalmente indicado o uso de Apache Tomcat.
Caso seja necessário um container que cuide de outros aspectos como pool de conexões a bancos de dados, controle de transações, uso de JSF, JMS, JNDI, segurança aplicável a todos estes subsistemas adicionais e gerenciada no container, então o uso de Application Servers Full Platform como JBoss AS e Wildfly é mais recomendado. Além disso, recursos avançados como alta disponibilidade e replicação de dados são recursos já integrados ao JBoss AS e Wildfly e gerenciáveis por ferramentas de administração web.

Em resumo, Apache Tomcat não é melhor e nem pior que JBoss AS e Wildlfy. Existe um cenário de uso (container web Java para Servlets e JSP) onde o Apache Tomcat é o mais recomendado. Nos casos onde mais funcionalidades sejam necessárias, o uso de JBoss AS e Wildlfy torna-se necessário. Atualmente, o tempo de execução (start, stop, deploy, redeploy) de Wildfly e JBoss AS competem com os tempos de Apache Tomcat o que permite que containers completos como Wildfly possam ser excutados em ambientes de desenvolvimento e inclusive em sequências de testes de código.

Suporte Wildfly Cursos Contato