Iniciamos um processo de decisão sobre qual servidor de aplicação passaremos a utilizar em nosso ambiente. A motivação é que o velho Jboss de guerra não está mais dando conta do recado. Não que o Jboss não seja um ótimo servidor, muito pelo contrário. A questão é que o seu ponto mais criticado, a administração, começou a cobrar seu preço. Iremos aumentar consideravelmente o número de servidores em produção (assunto outro post) e uma interface de administração central, mais produtiva e confiável, passou a ser uma necessidade.
Depois de uma análise prévia, vimos que duas soluções poderiam atender nossas necessidades: Glassfish ou Jboss + JON.
O Glassfish é uma promessa que virou realidade, mas confesso que ainda não me convenci, culpa mais pela pouca experiência que tenho com esse servidor do que por sua qualidade, que ele é a melhor solução para o nosso caso. De qualquer maneira, nesses estudos prévios e na apresentação do Kohsuke, acabou subindo muito no meu conceito.
O Jboss já é um velho conhecido e ainda está no páreo, levando em consideração a utilização do JON. O JBoss Operations Network me pareceu ser uma ferramenta realmente fantástica que permite a administração e monitoramento de muitos e muitos e muitos pontos, desde o sistema operacional, passando pelo servidor de aplicação e chegando nas aplicações. Seu lado negativo é que é uma ferramenta paga.
Tomcat está fora da jogada. A maioria das nossas aplicações utilizam Spring, mas algumas mais novas já estão em EJB e futuramente iremos para o Jboss Seam ou Web Beans, como preferirem (também assunto para outro post). Ainda existem algumas outras alternativas, mas a princípio os principais candidatos são esses dois mesmo.
Bem, a análise ainda está em andamento e os principais pontos ques estamos analisando são:
- Administração: facilidade de administrar e monitorar remotamente múltiplas instâncias de servidores.
- Performance: para essa avaliação buscaremos análises de instituições independentes.
- Ambiente de desenvolvimento: facilidades de utilização do servidor de aplicação no ambiente de desenvolvimento: integração com o Eclipse, tempo de start up e deploy, facilidade de debug, hot deploy, etc.
- Documentação técnica: disponibilidade e qualidade da documentação técnica disponível: manuais, tutoriais, wiki e fóruns
- Suporte técnico: disponibilidade de suporte 24×7. Considerando custo, meio (apenas via web e e-mail ou por telefone também), idioma (em português ou inglês) e tempo de resposta.
- Aderência à especificação: aderência à especificação Java EE 5, incluindo a velocidade em que são lançadas novas versões da ferramenta quando saem novas versões da especificação.
- Custo da migração: custo associado à migração do ambiente atual para o servidor de aplicação escolhido. Atualmente temos aplicações em produção tanto no Jboss quanto no Glassfish
- Custo do software: custo de aquisição de ferramentas necessárias para administração ou desenvolvimento no servidor de aplicação.
- Cases de sucesso: existência de casos de sucesso de sistemas em produção usando o servidor de aplicação.
Estes dois servidores possuem um grande comunidade de usuários, então, caros colegas e recém chegados leitores, sintam-se a vontade e estimulados a deixar algum comentário caso tenham alguma opinião ou experiência relativos a qualquer um desses pontos do Glassfish ou Jboss + JON.
Tags: Glassfish, Java, Jboss, JON, Servidores de aplicação