Mladen Turk acabou de fazer sua apresentação sobre o JBoss Web Server, que é um web server/container baseado no Tomcat, projetado para aplicações de médio e grande porte. Ele suporta Java (JSPs, Servlets, etc), PHP, e CGI. Basicamente ele concorre com o Tomcat, com a vantagem de que é excelente para prover conteúdo estático, lidar com milhares de requisições simultâneas e tem um container web bem razoável, suficiente para a maioria das aplicações.
É óbvio que o criador dele só poderia falar que ele é ótimo, então a opinião dele é suspeita. Mas o fato é que na Globo.com temos usado JBoss Web em várias aplicações e de fato ele é muito bom. Ele realmente aguenta o tranco de milhares de acessos e definitivamente é muito mais estável que o Tomcat, e muito mais leve que o JBoss. IMHO, ele é o mais completo da atualidade e é a minha primeira escolha para os tipos de projetos que tenho trabalhado (web applications que não usam EJBs, JMS e as parafernalhas mais complexas do Java EE).
As principais vantagens do JBoss Web sobre o Tomcat são:
- Ótimo para conteúdo estático. Como ele usa a mesma engine do Apache, benchmarks mostram que ele consegue praticamente os mesmos resultados de performance.
- Melhor integração com o sistema operacional, usando JBoss Native.
- Networking é melhor devido a extensões na JRE.
- Usa features modernas de sistema operacional para zero-copy.
- Melhor solução de clustering.
- Usa menos CPU e memória.
- Tem uma implementação de mod_rewrite em Java.
O objetivo do JBoss Web não é substituir o Apache, nem o Tomcat, nem o JBoss. Se você tiver aplicações tradicionais onde um Apache é suficiente (conteúdo estático + PHP, por exemplo), use-o. Se você for usar JSP/Servlets para um site pequeno-médio, talvez a melhor opção seja mesmo o Tomcat. Se você precisar processar EJBs, certamente vai precisar de um full JEE application server. Além disso, o JBoss Web não têm a variedade de módulos que o Apache tem, e também não tem um foco grande em segurança. Mesmo assim, é mais uma excelente carta na manga.