JBoss: Instalação, Arquitetura , Configuração, Tuning e Administração

Conheça a fundo o servidor JBoss do ponto de vista do administrador, vendo dicas de configuração e tuning, e aprenda o essencial para manter um ambiente de produção seguro, estável e perfomártico para aplicações Java EE.

O JBoss Application Server (JBoss AS) é certamente o mais conhecido servidor de aplicações Java EE livre, competindo de igual para igual no mercado com produtos consagrados como a Websphere da IBM e o Weblogic da BEA. A liderança tecnológica do JBoss AS é confirmada pela participação ativa dos seus desenvolvedores nas definições da versão 5 da plataforma Java EE, em especial na especificação EJB 3. Com a compra do JBoss Group pela Red Hat e a parceria com a Exadel, a JBoss AS passou a ser a base de uma família de produtos que cobre todas as demandas de desenvolvimento e infra-estrutura de produção para aplicações Java EE. Isso sem abrir mão do modelo de negócios “Open Source Profissional” - isto é, os produtos com a marca JBoss continuam sendo fornecidos integralmente sob licenças livres, e a receita provêm integralmente da prestação de serviços sobre os produtos.

Todo o poder, flexibilidade e confiabilidade do JBoss AS vêm em um “pacote” muito simples de instalar. Rodar os primeiros servlets, EJBs e consumidores de mensagens JMS é igualmente simples. Mas, embora haja facilidade em se passar pelos passos iniciais com a JBoss AS, não podemos subestimar o esforço e conhecimentos necessários para se manter um ambiente de produção para aplicações Java EE.

Nesse contexto, iniciamos pela instalação do JBoss AS e apresentamos sua estrutura de diretórios, identificando as principais pastas de dados e de configuração do servidor de aplicações. Em seguida, são apresentadas dicas para a resolução de problemas na inicialização do JBoss AS, e como interagir com as aplicações de administração do servidor. Daí passamos para um exame detalhado da arquitetura interna do JBoss AS. Essa exploração fornece subsídios indispensáveis para conhecer algumas situações de configuração típicas em ambiente de produção, incluindo “fechar” o acesso administrativo (para obter maior segurança). Por fim, são apresentados os princípios básicos para o dimensionamento e monitoração do JBoss AS. Cada um destes tópicos é esmiuçado em uma seção própria.

A maiar parte dos conhecimentos apresentados neste artigo se aplicará igualmente as duas versões do servidor recomendadas hoje para produção, 4.0.x e 4.2.x, e também ao 5.0.x, que ainda está em beta.

Espera-se do leitor conhecimento básico para intermediário do Java EE, incluindo noções de JNDI, Servlets e EJBs. O conhecimento introdutório para desenvolvimento de aplicações com o JBoss1 já foi apresentado antes na Java Magazine em vários artigos (veja o quadro “Para saber mais” no final), de modo que este artigo se foca nas tarefas do administrador de um ambiente de produção e no conhecimento aprofundado do funcionamento do JBoss. O administrador do JBoss AS precisa conhecer, além do básico do Java EE, o uso do JDK pela linha de comando, a edição de scripts nativos da sua plataforma (bat do Windows ou sh do Linux, Unix e Mac) e noções básicas de redes, por exemplo o uso e o significado de portas TCP.

Instalação, início e encerramento do JBoss

Instalando o JBoss

A instalação do JBoss envolve o download do arquivo jboss-, por exemplo jboss-4.0.5.GA.zip, que pode ser feito a partir do site labs.jboss.com/portal/jbossas/download. O tamanho do download varia entre 70 e 90 Mb, de acordo com a versão escolhida. As versões de produção são fornecidas em formatos zip e tar.gz para agradar tanto a usuários Windows quanto Unix. Existe ainda a opção de se baixar um instalador gráfico escrito inteiramente em Java (um JAR executável) chamado jem-installer.

Qualquer que seja o download escolhido, o resultado final da instalação é o mesmo código 100% Java, independente de plataforma. O instalador JAR pode até ser executado diretamente pela internet, utilizando Java Web Start, e fornece um assistente que ajuda na configuração de alguns perfis especializados, como rodar apenas o container web ou ativar o suporte a EJB 32. A opção “advanced” do jem-installer permite ainda configurar parâmetros básicos de segurança para as ferramentas administrativas do JBoss, e fontes de dados para outros bancos da dados que não o HSQLDB (embutido no JBoss).

Apesar das facilidades fornecidas pelo jem-installer, a maior parte da configuração e tuning do servidor de aplicações ainda terá que ser feita depois da instalação, editando-se os vários arquivos de configuração. Além disso, administradores mais experientes irão apreciar a facilidade de se copiar uma instalação do JBoss de um computador para outro portanto geralmente preferem baixar o ZIP. Os interessados em ver o jem-installer em ação podem consultar o quadro “O instalador gráfico do JBoss”.

Administradores mais experientes de sistemas Linux irão preferir instalar o JBoss AS utilizando os pacotes RPM fornecidos pelo projeto Jpackage (jpackage.org). Estes pacotes tem a vantagem de seguir as convenções do LSB (Linux Standards Base) para a distribuição de arquivos executáveis, de configuração, bibliotecas e logs, além de aderir a algumas práticas de segurança essenciais da plataforma, como criar contas de usuários individuais para serviços de rede.

A estrutura de diretórios do JBoss

No final das contas, instalar o JBoss consiste apenas em se descompactar o download em uma pasta qualquer. O layout de diretórios gerado será exatamente o mesmo, qualquer que seja o formato do instalador (veja o layout na Figura 1). Vamos agora descrever cada nível dessa estrutura de diretórios. Recomendamos que o leitor acompanhe esta parte verificando em sua instalação do JBoss os arquivos presentes em cada pasta, a medida que as pastas vão sendo apresentadas. O primeiro nível de subdiretórios fornece arquivos utilizados pelo servidor, independentemente da configuração ativa:

O administrador do servidor de aplicações passará a maior parte do seu tempo lidando com os subdiretórios da pasta server. Cada um desses subdiretórios é uma configuração completa do JBoss, incluindo todo o código Java e arquivos de configuração, além de dados destas configurações. Os downloads compactados pré-instalam trés configurações-modelo, relacionadas a seguir:

O jem-installer fornece alguns modelos adicionais de configuração, mas apenas o modelo selecionado pelo usuário será descompactado para a pasta server (que ficará assim com um único subdiretório). Para definir qual configuração será utilizada, deve-se passar a opção -c para o script de inicialização do JBoss, por exemplo ./run.sh -c minimal. Os arquivos das demais configurações serão simplesmente ignorados. Mas, qualquer que seja a configuração escolhida, ela irá apresentar a estrutura de subdiretórios descrita a seguir (alguns destes diretórios só serão criados durante a primeira inicialização do JBoss):

Artigos relacionados