Version 3

    Olá,

     

    Hoje vou iniciar uma séries de artigos sobre administração do JBoss AS 7.  Esse material é parte de posts já publicados em no meu blog http://jbossdivers.wordpress.com/ e também parte da apostila que utilizo nos treinamentos que ministro.

     

    Introdução

     

    Nos últimos anos, a ideia de que servidores de aplicação são lentos, pesados e necessitam de muitos recursos de hardware para funcionar adequadamente tornou-se bem difundida.

    Nas versões iniciais a plataforma ainda conhecida como Java2EE não estava madura e seus recursos nos servidores de aplicação eram carregados de forma hierárquica tornando o startup um verdadeiro tédio.

    Atualmente a arquitetura dos principais servidores de aplicação foi totalmente redesenhada para que seus recursos possam ser iniciados de modo concorrente ou sob demanda, sendo possível iniciar um servidor de aplicação Java EE em apenas três segundos. As melhorias também podem ser notadas no consumo de memória, onde em uma simples máquina desktop, pode-se facilmente configurar serviços de alta disponibilidade e escaláveis para realização  de testes em tempo de desenvolvimento. Os servidores de aplicação podem ser utilizadas para os mais diversos fins, como implementação de autenticação (JAAS), troca de mensagens assíncronas (JMS), controle de transação (JTA), persistência de objetos (JPA), componentes para criação de aplicações distribuídas e clusterizadas (EJB), API Java para processamento de arquivos XML e Webservices (JAX-WS e JAX-B) e muitas outras tecnologias facilitando o desenvolvimento e padronização de aplicações comerciais. Se você deseja um ambiente com alta disponibilidade, escalonável e que seja independente de fabricante o Java EE e seus servidores de aplicação foram feitos para você.

     

    JBoss Application Server 7

     

    JBoss Application Server 7 ou apenas JBoss AS 7 é um servidor de aplicação de código aberto que é 100% compatível com a especificação Java EE 6.  Em versões anteriores do Java EE mesmo utilizando somente algumas tecnologias para o desenvolvimento da aplicação, éramos obrigados a lidar como  todos os recursos implementados no servidor. Para resolver esse problema no Java EE 6 foi inserido o conceito de profile que tem como objetivo criar configurações com responsabilidades especificas como, por exemplo, o Web Profile que possui tecnologias para o desenvolvimento web . Até o momento a versão atual do JBoss AS foi baixada mais de 150 mil vezes. 

     

    Para mais informações visite o site do projeto http://www.jboss.org/jbossas.


    Recentemente o projeto recebeu um novo nome e futuramente se chamará WildFly. Mais informações podem ser encontradas em: http://www.wildfly.org/faq/

    Requisitos

     

    Como todo servidor de aplicação o JBoss AS 7 requer um ambiente com JDK 1.6/JDK 1.7 devidamente configurado e instalado. O Java Development Kit (JDK) é um conjunto de utilitários para criação de softwares para plataforma Java. Existem várias implementações cada qual com a sua finalidade. Você pode instalar a Oracle HotSpot que é um dos JDKs mais utilizados atualmente. Ele pode ser baixado em:

     

    http://www.oracle.com/technetwork/java/javase/downloads/index.html

     

    Duvidas na instalação? Veja o link:

     

    http://docs.oracle.com/javase/7/docs/webnotes/install/index.html

     

    Instalando o JBoss AS 7

     

    O JBoss AS 7 pode ser baixado gratuitamente no site da comunidade: http://www.jboss.org/jbossas/downloads/ Para instalar basta descompactar o arquivo jboss-as-7.1.1.Final.zip utilizando um utilitário de descompressão. 

     

    No Linux simplesmente execute:

     

    $ unzip jboss-as-7.1.1.Final.zip
    

     

    Após a descompressão o diretório jboss-as-7.1.1.Final será gerado. Mova-o para um local de sua preferência.

     

    Boas Práticas

     

    Em hipótese alguma inicie o JBoss utilizando o usuário root, pois a plataforma Java oferece APIs para execução de códigos nativos do sistema operacional e mecanismos de gerenciamento remoto. No Linux crie um usuário com privilégios de root para iniciar o serviço do JBoss. Já no Windows crie um usuário com poderes administrativos, mas com privilégios reduzidos.

    Uma vez instalado é fortemente aconselhável iniciar o JBoss AS para verificar se existe alguma incompatibilidade com a arquitetura do JDK utilizado ou até mesmo se a memória disponibilizada é suficiente.

    Novidades do JBoss AS 7

     

    • Pronto para Cloud
    • Rápido
    • Configuração Simplificada
    • Leve
    • Modular
    • Estrutura de Domains
    • Novas Ferramentas de Gerenciamento.

    Domain Mode x Standalone Mode

     

    O JBoss AS 7 possui dos modelos de trabalho conhecidos como Standalone Mode e Domain Mode. No Standalone mode, podemos trabalhar com uma única instância, muito semelhante a versões anteriores do JBoss AS 5 e JBoss AS 6. Para utilizar o Standalone mode basta iniciar o script JBOSS_HOME/bin/standalone.sh no Linux .

     

    Standalone.png

     

    Agora você deve estar se perguntando se é possível criar um ambiente de alta disponibilidade utilizando o Standalone Mode. A resposta é Sim!!! É possível criar um ambiente com recursos clusterizados, replicação de sessão e tudo mais. Se você já utilizou outras versões do JBoss, deve estar pensando em utilizar o famoso Farm Deployment, onde a aplicação era replicada para todos os nós do cluster. Esse recurso não existe no Standalone Mode, você terá que realizar o deploy em todos os nós um por um. Isso não é um problema se for 3 ou 4 instâncias mas imagine se forem umas 20 instâncias.  Uma solução para esse problema seria a utilização de ferramentas como o RHQ para realização de deploy em múltiplas instâncias o que acarretaria consumo de mais recursos e tempo. Para solucionar esse problema temos uma solução bem simples já embutida no servidor de aplicação o Domain Mode e é sobre isso que vamos falar no próximo tópico.

     

    Introdução ao Domain Mode

     

    Essa é a melhor novidade da versão JBoss AS 7. O Domain Mode permite iniciar várias instâncias e também oferece uma maneira centralizada de gerenciamento dos recursos facilitando a administração das instâncias JBoss. O Domain Mode pode ser visto como uma unidade de instâncias que compartilham recursos e configurações e são administradas por um processo chamado Domain Controller.

     

    Domain.png

     

    Para iniciar o JBoss AS 7 de modo domain execute o script JBOSS_HOME/bin/domain.sh no Linux ou JBOSS_HOME/bin/domain.bat no Windows.

    Quando iniciamos o JBoss em Domain Mode na configuração default temos no mínimo Quatro processos. Um Host Controller, um Process Controller e dois Servers.

     

    Domain Controller: Ele é quem controla o gerenciamento do domain. Nele estão as configurações que são compartilhadas entre as instâncias que estão nesse domain.

     

    Process Controller: Ele é de grande importância pois ele é responsável pela criação das instâncias e também do Host Controller que vamos falar a seguir. O Process Controller não deve ser confundido com uma instância, ele é simplesmente um processo na JVM.

     

    Host Controller: Como o Domain Controller, o Host Controller também coordena as instâncias do domain. Ele é o responsável por fazer algo semelhando ao Farm Deployment (não existe nessa versão), ou seja, ele distribui o arquivo deployado para todas as instâncias do domain.

     

    Servers: São as instâncias em si, onde estão as aplicações deployadas. Um ponto importante é que cada server é um processo Java.

    Entre os benefícios da utilização do Modo Domain que nós podemos citar estão:

     

    • Gerenciamento Centralizado;
    • Configuração Centralizada;
    • Deploy Centralizado;
    • Manutenção Centralizada;

     

    Conclusão

     

    Nessa parte vimos qual a necessidade da utilização de uma Application Server. Falamos tambéms sobre as novidades do JBos AS 7 e seu novo modelo de trabalho o Domain Mode. Na próxima parte, vamos iniciar a configuração dessa estrutura.