Pela experiência de vocês, existe alguma vantagem real (principalmente performance e estabilidade) em utilizar algum servidor de aplicações J2EE como (Sun Application Server, JBoss, Jonas, etc) ao invés do Tomcat, para rodar aplicações web baseadas no Struts/Hibernate e que não utilizam EJB?
Nunca trabalhei com Tomcat, mas pelo que li na documentação ele já tem suporte inclusive a Cluster. Então se você tem uma app web simples, sem requisitos como JMS, EJB, JTA, JCA, não vejo motivos para investir em um app. server.
Sun Java System Application Server Platform Edition is free for development, deployment and redistribution. Customers interested in redistribution should contact Sun OEM sales for a redistribution license.
O interessante é que a parte de monitoração, deploy e outras coisas é bem completa, portanto pode ser uma alternativa ao Tomcat se seu cliente precisar desse tipo de coisas. (Como é que você monitora o Tomcat ou o JBoss? Olhando os JMX? Convenhamos…)
Da última vez que olhei o JBoss ele tinha uma console web (acho que ainda estava em desenvolvimento) que não ficava muito atrás por exemplo da interface administrativa do WebLogic.
No caso do TomCat realmente não sei se ele oferece algum recurso.
De um jeito ou de outro, monitoramento de verdade mesmo precisa ser feito através de gerentes SNMP como HP Openview, Patrol, CastleRock, etc.
Se o App. Server suportar SNMP, já estou satisfeito!
Para o que o Luciano quer o tomcat ou o jetty já dão conta do recado. Ambos são usados pelo JBoss (não precisa do JBoss). E usam JMX para o gerenciamento.
Obrigado pelas dicas pessoal, pelo visto minha webapp não vai rodar mais rápido ou melhor em um AppServer J2EE.
Agora quanto ao Tomcat, sei que existem outras alternativas similares a ele, alguém já utilizou algum outro servidor para servlet/jsp e achou melhor que ele? O que vocês sugerem como uma alternativa melhor ao Tomcat para eu baixar e testar?
O Jetty ( http://jetty.mortbay.org/jetty/ ) é usado no Geronimo (curioso porque o Geronimo é um projeto do Apache, que deveria então usar o Tomcat), no JBoss e no JOnAS.
não conheço os produtos que você citou, mas olhei o site do PRTG e apesar do foco dele parecer ser para monitoramento de utilização de banda, li na documentação que você pode adicionar sua própria MIB para ser monitorada por ele, então daria para monitorar desde um App. Server até sua própria aplicação (se você implementar um agente SNMP, é claro).
Não sei quais features ele possui. Se exibe apenas os dados tabulados ou se monta gráficos, permite o recebimento de traps, gera alarmes, etc. Mas isso tudo depende também do que você quer fazer em relação a monitoramento. É para ser uma coisa simpleszinha, um pouquinho melhor do que um log? Ou para colocar em um NOC?
Quanto ao MRTG, é um produto MUITO antigo. Quando eu trabalhei em um provedor (1999), o pessoal utilizava esse produto para gerar as estatísticas de utilização de recursos da rede. Mas acho que não se encaixa numa solução para monitorar software.
Não sei se vocês já tiveram experiência com monitoramento de aplicações (não estou falando de ficar olhando para logs). Mas é uma coisa super interessante para oferecer para clientes e essencial em determinados ambientes. Sem contar que muitos produtos oferecem os recursos (qualquer App. Server por exemplo) e muita gente não faz idéia do tipo de informação que é possível obter através desses recursos.
Para fechar meu post Off-Topic com chave de ouro, segue uma URL muito boa para quem estiver interessado no assunto:
acabei de ler o artigo"MRTG sem SNMP: monitoramento simplificado".
Acho que não faz sentido uma solução como essa se você quer monitorar um produto que já possui suporte nativo a SNMP ou JMX (que é o caso da maior parte dos App. Servers e banco de dados por aí).
Se você está construindo uma aplicação, pode ser uma opção, mas me cheira a bacalhau.
Não conheco o MRTG a fundo, então não posso afirmar se seria ou não possível fazer coisas que considero importantes. Por exemplo:
Gerar um alarme (email, sms, tocar um .wav ou exibir um alert na tela) se a variável X atingir o valor Y (ex.: consumo de memória atingir 384 MB).
Acho que ele serve apenas para gerar páginas HTML. Isso é legal para relatórios e estatística, mas não para monitoramento online.
Marco, obrigado pelas explicações.Na verdade não tenho vivência direta com monitoramento. Já trabalhei em empresa que usava o MRTG (por minha recomendação mas não o conheço muito) e já trabalhei em projeto para uma empresa que usa o OpenView com uma sala cheia de monitores e um painel de luzinhas na parede que eu achava bonito mas pouco entendia.
E OnDemand já assisti OnDemand várias palestras OnDemand IBM OnDemand sobre o Tivoli OnDemand². Saco OnDemand³.
Fuja de qualquer coisa da IBM. Principalmente se for proposta para trabalhar como consultor! Qualquer dia desses conto a minha luta para conseguir fazer uma cotação de produtos com a IBM.
Off-Topic do Off-Topic, mas não posso perder a oportunidade para falar o que penso dessa empresa!