Desvendando as features do WildFly JBUG: Brasil - Março 2015 Eduardo Medeiros
ApresentaçãoEduardo Medeiros Consultor Middleware, HP.RHCJA (EAP 6)RHCSA
Atualmente trabalhando com:
• Arquitetura e implementações de projetos Middleware.
Twitter @xedux blog eduardomedeiros.me
WildFly (anteriormente conhecido como JBoss AS) é um servidor de aplicação open source, baseado nos padrões Java EE 7.Versão estável: 8.2.0Final.
Mas porque mudaram o nome?
Muitas pessoas tinham dificuldade em assimilar a diferença entre o JBoss AS (comunidade) e o JBoss EAP (corporativo redhat), por esse motivo a comunidade decidiu alterar o nome do JBoss AS para WildFly.
Introdução
•Modularizado •Serviços iniciados por demanda e de forma concorrente. •Nova interface de administração via Web (console) •Nova interface de administração via linha de comando (JBoss-Cli) •Opção de gerenciamento via Domínio •Redução de arquivos de configurações. •RBAC (Roles Base Access Control)
Novidades
Destaques:
• Undertow • Web sockets • Proxy Reverso • Gerenciamento de Patch via web console.
Novidades
Estrutura raiz de diretóriosDIRETÓRIO DESCRIÇÃO
bin Scripts de inicilização, arquivos de configurações e utilitarios para gerenciamento do WildFly.
docs Documentações
domain Arquivos de configurações relacionados ao gerenciamento modo dominio.
modules modulos
standalone Arquivos de configurações relacionados ao gerenciamento modo standalone.
welcome-content Pagina default do WildFly.
Como funciona a operação em modo standalone ? Similar as versões anteriores do JBoss (4/5), cada instancia possui sua própria configuração.
Quando utilizar? Produção: Em ambiente de pequeno porte, composto por um pequeno número de instancias. Recomendado para ambientes de desenvolvimento e homologação.
Introdução modo standalone.
DIRETÓRIO DESCRIÇÃO
/configuration Diretório que contém os arquivos de configurações. O principal arquivo é o standalone.xml (antigo server.xml).
/data É usado para guardar dados de tempo de execução, como logs de transação e deployments gerenciados.
/deployments Diretório utilizado para hospedar os arquivos de deploys (war/ear/jar).
/lib Extensões (bibliotecas) do servidor de aplicação.
/logs logs
/tmp Usado pelo Filesystem virtual do JBoss como localização temporária para os recursos.
Estrutura de diretórios
Profile para aplicações web com suporte a messaging. standalone-full.xml
Profile para aplicações web com suporte a messaging e Cluster standalone-full-ha.xml
FULLProfile para aplicações web com suporte Cluster standalone-ha.xml
Profile para aplicações web.
standalone.xml
HADEFAULT
O que a sua aplicação demanda? Escolha o profile apropriado.
FULL HA
Profiles
Como funciona a operação em modo domínio ? Administração é centralizada através de um Domain Controller, que faz o gerenciamento dos hosts através de uma única console de gerenciamento.
Quando utilizar? Em ambiente de grande escala, composto por um grande número de instancias que necessitam ser adicionadas dinamicamente em um cluster. Ideal para ambientes escaláveis.
Introdução modo domínio
Gestão centralizadaO modo domínio permite gerenciar sua infraestrutura de forma flexível através de uma console administrativa web. Esta ferramenta exibe uma visão geral da saúde, além de prover funcionalidades para administração do ambiente. Redução do tempo de deployNo modo domínio é possível realizar atualizações de aplicações através da console administrativa especificando o grupo de servidores.Com isso é possível reduzir a indisponibilidade do ambiente, melhorando a qualidade de entrega de serviço.
Vantagens
Escalabilidade - Adição de novas aplicações e instâncias Novas aplicações/instâncias poderão ser criadas e removidas via console administrativa de forma rápida e objetiva. (Time/Money/Resource).
Atualização e patchesRedução no tempo de atualização e patches de produtos.
Vantagens
Recursos que compõem um domínio:
Domain Controller - Atua como ponto central de comunicação entre vários hosts controllers. Host Controller - Processo responsável pela comunicação entre os servers e o Domain Controller. Process Controller - Processo responsável pela monitoração dos Hosts Controller. Server - Instancias. Server-Group - Grupo de instancias que são gerenciadas e configuradas como se fossem uma só.
Introdução ao modo domínio
1. Domain Controller comunica-se com os membros do domínio, através do host controller.
2. Todos os servers possuem um server-group associado em comum.
3. Cada server-group possui um único profile associado.
Fluxo de comunicação
Profile para aplicações web com suporte a messaging
Profile para aplicações web com suporte a messaging e Cluster
FULLProfile para aplicações web com suporte Cluster
Profile para aplicações web
HADEFAULT
O que a sua aplicação demanda? Escolha o profile apropriado para seu server-group.
FULL HA
Profiles
DIRETÓRIO DESCRIÇÃO
/configuration
domain.xml – Arquivo de configuração do domínio, contém todos recursos utilizados pelo dominio. Ex: profiles, sockets, subsystems e etc. host.xml - Arquivo de configuração de um host-controller que atua como controlador de domínio e host-controller slave, ou seja, configuração mista. host-master.xml - Arquivo de configuração de um host-controller que atua apenas como controlador de domínio host-slave.xml - Arquivo de configuração de um host-controller que é gerenciado por um domain controller.
Estrutura de diretórios
DIRETÓRIO DESCRIÇÃO
/data É usado para guardar dados de tempo de execução, como logs de transação e deployments gerenciados.
/lib Extensões (bibliotecas) do servidor de aplicação.
/logs logs
/tmp Usado pelo Filesystem virtual do JBoss como localização temporária para os recursos.
Estrutura de diretórios
Introdução JBoss Cli.JBoss Cli é uma ferramenta de gerenciamento via linha de comando.
Compatível com modo domínio e standalone.
Features: • Deploy / undeploy • Adicionar / Remover Servers e Server Groups. • Criar Datasource • Alterar portas
Conectar: ./jboss-cli.sh --connect --controller=IP
Navegação cd , ls , ls -l
Alterar atributo: :write-attribute(name=nome,value=valor) Ler atributo: :read-attribute(name=nome)
JBoss CliLer recursos: :read-resource(recursive=true)
Deploy: deploy <pacote> —server-groups=nome-server-group
Subir/Parar/Reiniciar servers. :start-servers :stop-servers :restart-servers
batch suporte: batch ações run-batch
Grupo JBUG Brasil https://community.jboss.org/groups/jbug-brasil
IRC irc.freenode.net Canal: #jbug-brasil
WildFly-Dev List. https://lists.jboss.org/mailman/listinfo/wildfly-dev
LinksSites sobre JBoss / WildFly: JBoss Divers https://jbossdivers.wordpress.com/
Master the Boss http://www.mastertheboss.com/
Claudio Miranda http://claudius.com.br/
Eduardo Medeiros http://eduardomedeiros.me