Disponibilizado Tomcat 7 RC4, Suporte a Servlets 3 e JSP 2.2

[quote=InfoQ.com/br]
Parece que o lançamento do novo Tomcat está próximo, a nova versão do mais conhecido servlet container Java está sendo desenvolvida faz algum tempo e é esperada por vários desenvolvedores que buscam utilizar as novas tecnologias como servlets 3.0 e JSP 2.2. Hoje foi liberada a versão RC4 do Tomcat 7 o que significa que o lançamento da versão final está próximo.

O Tomcat 7 irá suportar duas novas especificações a Servlets 3.0 e a JSP 2.2, o que traz ao desenvolvedor web diversos benefícios como:

?suporte a anotações
?configuração de plugins via web.xml fragments
?segurança
?servlets assíncronas
Existem muitas outras novidades na Servlets 3.0, mais detalhes podem ser vistas nesse artigo do Adriano Almeida.

Todas as novidades do novo Tomcat 7 podem ser vistas no Release Notes. O download do Tomcat RC4 pode ser feita na página de download, a versão não é estável porém já está apta para testes.

Para quem deseja acompanhar cada release do Tomcat a MuleSoft disponibiliza uma página que é atualizada a cada alteração feita nele.[/quote]

fonte: http://www.infoq.com/br/news/2010/06/tomcat7-rc4

muita empresa usa o tomcat ‘em produção’, mas aprendi que servidor de aplicação ‘de verdade’ é, sei lá, jboss, weblogic etc… será que essas novas features habilitam o tomcat ‘para a produção’?

Não sei se mudou mas o Servlet Container do JBoss era o Tomcat. Alguém sabe dizer se não é mais?

Então leonardom, sei o mesmo que você. O Servlet Container do JBoss é o tomcat.
E se o projeto não utilizar recursos como EJB ou qualquer outra coisa que exija um servidor de aplicação, acredito que o Tomcat seja uma boa opção para produção sim.

[]'s
Daniel

Não necessariamente Jboss ou weblogic é um servidor para aplicações “de verdade” ou a famosa “bala de prata”, ao meu ver, só se justifica o uso de um server application como esses que você citou quando se quer usar algo como EJB ou algo do tipo, porque senão, dispensando as “facilidades” que esses servidores te dão, não, eles não são os unicos servidores para aplicações “de verdade”.
Já vi muitas aplicações rodando no tomcat em cluster, com controle transacional, que são de alta disponibilidade sem problema algum. Basta criar um arquitetura para solucionar os acessos “inuteis acessos base de dados” ou então trocar para um nosql como Cassandra, colocar o máximo possível em cache usando por exemplo Memcached criar uma arquitetura escalavel e pronto, você terá uma aplicação gigante usando somente o Tomcat, ou não. Tudo depende, o que não pode é generalizar.
Acho que generalizar falando que JBoss, Weblogic, Glassfish… são servidores de aplicações de verdade ou são as famosas “balas de prata” e o Tomcat não, é um erro grave. Tudo depende muito da competência de equipe, do prazo determinado para o projeto e onde o projeto vai/pode chegar.

mais uma vez, minha humilde opinião.

abraços!

O Edson Gonçalves fez um artigo legalzinho para iniciantes , com o uso do Tomcat 7 (http://www.edsongoncalves.com.br/2010/06/04/ajax-com-jsf-2-0/), mas em uma versão anterior a essa anunciada, em um exemplo de JSF 2 e o suporte de AJAX dele. Legal ver que até o Eclipse (a versão que está em desenvolvimento também) já está disponibilizando em sua lista o Tomcat 7.
Agora, a minha decepção está no NetBeans 6.9, que não tem o Tomcat 7 em sua lista. Mandei até um email pro pessoal perguntando, mas nada de resposta.

uma pergunta pessoal, aquela nova versão do EJB, acho que 3.1, acho que li em algum lugar que poderá ser colocado num tomcat mesmo, o tomcat 7 vai suportar isso?? eu intendi errado?

Outra coisa que pode ser feita é a integração com o Servidor Apache, o que possibilita o balanceamento de carga.

"

Na versão 3.1 do EJB, é possível ter Session Beans dentro de um pacote WAR. Mas é claro, isso é válido para um servidor de aplicação (JBoss, Glassfish…). Um servidor web como o Tomcat, por não possuir um contêiner EJB, não transformará classes anotadas com @Stateless em um Session Bean.

Maaaaasss… existe um projeto chamado OpenEJB, e que possui integração com Tomcat. Aí você pode habilitar seu arquivo war a ter Session Beans também.

Na versão 3.1 do EJB, é possível ter Session Beans dentro de um pacote WAR. Mas é claro, isso é válido para um servidor de aplicação (JBoss, Glassfish…). Um servidor web como o Tomcat, por não possuir um contêiner EJB, não transformará classes anotadas com @Stateless em um Session Bean.

Maaaaasss… existe um projeto chamado OpenEJB, e que possui integração com Tomcat. Aí você pode habilitar seu arquivo war a ter Session Beans também.
[/quote]

entendi… e tem sentido mesmo… qual a vantagem em ter session beans dentro de um war, se você pode colocar em um outro jar dentro do ear? (assumindo que você está em um EJB container)

A vantagem é a simplicidade de deployment. E também torna-se possível acrescentar a tecnologia EJB de um projeto WAR existente, sem reconfigurar a estrutura de projetos.

Onde você aprendeu que servidor de produção não pode ser TOMCAT? Foi na Caelum? O fato do JBOSS ser uma caronga pesada não significa que a performance será melhor em aplicações com muitos clientes. Um sisteminha de padaria rodando com 100 acessos no JBOSS vai precisar de muita máquina! E se o tomcat também rodar nessa máquina? Então vai ser pior?

Você sabe que tomcat não serve para produção? Então também sabe que JAVA não compactua com o princípio de escalabilidade: Uma gororoba leve tente a ficar pesada. Em JAVA, uma gororoba pesada fica mais pesada ainda.

Onde você aprendeu que servidor de produção não pode ser TOMCAT? Foi na Caelum? O fato do JBOSS ser uma caronga pesada não significa que a performance será melhor em aplicações com muitos clientes. Um sisteminha de padaria rodando com 100 acessos no JBOSS vai precisar de muita máquina! E se o tomcat também rodar nessa máquina? Então vai ser pior?

Você sabe que tomcat não serve para produção? Então também sabe que JAVA não compactua com o princípio de escalabilidade: Uma gororoba leve tente a ficar pesada. Em JAVA, uma gororoba pesada fica mais pesada ainda.[/quote]