IMPRIMIR VOLTAR
A. Ciências Exatas e da Terra - 2. Ciência da Computação - 12. Simulação
ANÁLISE COMPARATIVA ENTRE SERVIDORES DE APLICAÇÃO LIVRES QUE SEGUEM A PLATAFORMA J2EE
Roberto Frederico Tôgo Santos 1
Rafael Velozo de Andrade Gomes 1
Daniela Borriello 1
Antônio Pires de Castro Júnior 1
(1. Universidade Salgado de Oliveira / UNIVERSO)
INTRODUÇÃO:
O uso de servidores de aplicação vem se tornando cada vez mais freqüente e recomendado para empresas disponibilizarem seus sistemas que utilizam à plataforma J2EE. Como exemplo de recursos que esses servidores oferecem, temos: alta disponibilidade; alta capacidade para acesso simultâneo nos containers WEB e EJB; facilidades de configuração e utilização de banco de dados; facilidade de alteração, publicação e disponibilização de sistemas em tempo real; segurança; balanceamento de carga e tolerância à falhas. Apesar disso, projetistas e arquitetos de sistemas tem dificuldade na hora de escolher a melhor combinação: servidor de aplicação; JVM e S.O, para colocar seus sistemas em produção. Assim, nesse trabalho foram realizados vários testes comparativos para as combinações acima, apresentando resultados conclusivos da melhor solução a ser utilizada. Para isso utilizou-se os servidores de aplicação livres J2EE mais populares do mercado, JBoss, JOnAS e Geronimo(novo projeto de servidor de aplicação da Apache Foundation Group), com as JVMs da SUN, IBM e BEA e os S.Os Linux e Windows. Foram analisados diversos fatores, como: desempenho dos containers Web e EJB, preparação do ambiente de produção, complexidade na configuração, confiabilidade, disponibilidade, consumo de recursos do sistema operacional e JVM, como CPU e memória. Os testes realizados analisaram o tempo de inicialização dos servidores com cada JVM, consumo de CPU e memória, com ou sem conexão à base de dados.
METODOLOGIA:
Foram feitos 3 (três) tipos de testes: testes de inicialização, no qual mediu-se o tempo gasto para a inicialização de cada servidor de aplicação com cada uma das máquinas virtuais, objetivando obter uma noção da quantidade de "pacotes" carregados, o tempo de inicialização dos servidores no modo default e qual a melhor JVM; testes sem conexão a Base de Dados, que verificou o consumo de recursos pelos containers Web e EJB através de aplicações específicas, e testes com conexão a Base de Dados, no qual registraram-se, via protocolo SNMP e ferramenta de gerência MRTG, o total de requisições atendidas, a quantidade de registros inseridos e o consumo de processador do computador e consumo da memória física da máquina virtual durante um intervalo de tempo onde uma aplicação é alvo de requisições geradas pelo uso do Microsoft WebStress Tool. Dois sistemas operacionais foram utilizados: Microsoft Windows 2000 Server SP3 e o Slackware Linux 10.0 Kernel 2.6.11.11, ambos instalados em um Pentium 4 HT 3.06 Ghz com 1.0 GB de memória RAM e disco de 60 GB de 7200 rpm. As versões dos Servidores de Aplicação utilizados foram JBoss 4.0.2, JonAS 4.4.3 e Apache Geronimo 1.0M4. As máquinas virtuais Java foram BEA 1.4.2_05 SDK, IBM 1.4.2 SDK E SUN 1.4.2_08 SDK. Foi utilizado como banco de dados o HSQLDB na versão 1.8.0.1 e como máquina cliente um Athlon XP 1.0 Ghz com 256 MB de memória RAM, com o Microsoft Windows XP Professional SP2 instalado.
RESULTADOS:
No teste de inicialização, o Geronimo obteve a menor média de tempo, sendo 8 segundos no Slackware Linux e 9 segundos no Windows 2000 Server, o que foi um resultado esperado, pois possui menos recursos e serviços a serem iniciados comparando-o com o JBoss e o JOnAS. Analisando os demais Servidores de Aplicação, o JBoss obteve a menor média de tempo, sendo 13,816 segundos no Slackware Linux e 14,734 segundos no Windows 2000 Server. Os três servidores obtiveram seus melhores tempos em ambos os sistemas operacionais utilizando a máquina virtual Java da SUN, seguida pela máquina virtual Java da BEA e da IBM. No teste do container Web, o Geronimo e o JBoss obtiveram os melhores tempos de respostas. Os melhores valores de média para os três servidores foram obtidos no Slackware Linux. No teste do container EJB, o Geronimo apresentou comportamento irregular e não suportou a demanda dos testes. Sendo assim, o JBoss foi melhor em ambos os sistemas operacionais, melhor container EJB e opera melhor no Slackware Linux. Notou-se uma grande diferença no tempo de resposta entre os dois Servidores de Aplicação.
CONCLUSÕES:
o Geronimo apresentou um comportamento anômalo com os dois sistemas operacionais e não suportou a carga dos testes. Constatou-se, então, que não é recomendado para um ambiente de produção de alta demanda, não é confiável para aplicativos EJB, sendo assim, a versão testada não está madura. Para os demais, concluiu-se que, nos ambientes sugeridos, os melhores valores de requisições e inserções obtiveram-se fazendo uso da máquina virtual Java da SUN, em ambos sistemas operacionais, tanto para o JBoss quanto para o JOnAS. O JBoss com a máquina virtual Java da SUN oferece o melhor suporte à alta demanda de requisições tanto no Slackware Linux, quanto no Windows 2000 Server, sendo os valores bem próximos uns dos outros. Porém, houve um alto consumo de processamento e um valor considerável de consumo de memória física. Caso opte-se por um consumo menor de recursos do computador, a escolha seria pelo conjunto JBoss e máquina virtual Java da BEA, porém com a diminuição nas requisições simultâneas. A melhor combinação ficou com o JBoss no Slackware Linux com a máquina virtual Java da SUN e a pior ficou com o JOnAS no Windows Server 2000 com a máquina virtual Java da IBM.
 
Palavras-chave: Servidores de Aplicação; J2EE; comparação e aplicações WEB.
Anais da 58ª Reunião Anual da SBPC - Florianópolis, SC - Julho/2006