Red Hat Training
A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform
Introdução ao JBoss EAP
Para uso com o Red Hat JBoss Enterprise Application Platform 7.1
Resumo
Capítulo 1. Visão geral de conceitos gerais
Antes de compreender como o Red Hat JBoss Enterprise Application Platform pode ser configurado e implantado, é necessário entender alguns conceitos importantes.
1.1. Java
O Java é uma linguagem de programação e uma plataforma de computação que incorpora conceitos como orientação a objetos, classes e simultaneidade. Os aplicativos Java são compilados em código de bytes e executados em uma Máquina Virtual Java (JVM).
1.2. Servidores de aplicativos
Um servidor de aplicativos é um software que fornece um ambiente para execução de aplicativos web. A maioria dos servidores de aplicativos também oferecem funcionalidade para aplicativos web em execução em seu ambiente por meio de APIs. Por exemplo, um servidor de aplicativos pode fornecer uma API para conexão com um banco de dados.
1.3. Java EE 7
O Java EE (Java Platform, Enterprise Edition) é uma plataforma corporativa com base em padrões que oferece API e ambiente de tempo de execução para a execução e o desenvolvimento de aplicativos Java. O objetivo é aprimorar a produtividade dos desenvolvedores com recursos corporativos avançados em estruturas de de fácil consumo que eliminam o texto clichê e reduzem a carga técnica. As estruturas que compõem o Java EE são extensamente testadas em combinação. O Java EE 7, com base no JSR 342, é um sucessor do Java EE 6, com um enfoque principal na simplificação adicional de APIs para acessar serviços de contêiner e aumentar o suporte a tecnologias web emergentes, como o HTML5.
O Java EE 7 inclui suporte para vários perfis, ou subconjuntos, de APIs. A especificação do Java EE 7 define os perfis full e web.
Perfil web do Java EE 7
O perfil web do Java EE 7 é projetado para o desenvolvimento de aplicativos web e oferece suporte a um subconjunto das APIs definidas por tecnologias com base na web relacionadas ao Java EE 7.
Perfil full do Java EE 7
O perfil full do Java EE 7 contém todas as APIs definidas pelo Java EE 7 (incluindo todos os itens do perfil web). Ao desenvolver EJBs, aplicativos de mensagens e serviços web (em vez de aplicativos web), use o perfil full.
Capítulo 2. Visão geral do JBoss EAP
2.1. Sobre o JBoss EAP 7
O Red Hat JBoss Enterprise Application Platform 7.1 (JBoss EAP 7) é um implementação certificada das especificações dos perfis web e full do Java Enterprise Edition 7 (Java EE 7).
As principais versões do JBoss EAP são bifurcações do projeto comunitário WildFly em determinados momentos em que ele atingiu o nível de completude de recursos desejado. Depois desse ponto, ocorre um extenso período de testes e produtização em que o JBoss EAP é estabilizado, certificado e aprimorado para uso de produção. Durante a vida útil de uma versão principal do JBoss EAP, recursos selecionados do projeto comunitário podem ser ser escolhidos e inseridos por backport em uma série de lançamentos secundários de aprimoramento de recursos, dentro da mesma família de versão principal. Por exemplo, o JBoss EAP 7.1 é uma bifurcação de um ramo de trabalho do WildFly 11.
O JBoss EAP oferece opções preconfiguradas para recursos como clustering de alta disponibilidade, mensagens e cache distribuído. Ele também permite que os usuários escrevam, implantem e executem aplicativos usando vários serviços e APIs fornecidos pelo JBoss EAP.
O JBoss EAP inclui uma estrutura modular que permite a ativação de serviços somente quando necessário, melhorando a velocidade inicialização. O console de gerenciamento baseado na web e a interface de linha de comando de gerenciamento (CLI) tornam desnecessária a edição de arquivos de configuração XML e adicionam recursos de script e automatização de tarefas. Além disso, o JBoss EAP inclui APIs e estruturas de desenvolvimento para a construção rápida de aplicativos Java EE seguros e escaláveis.
Tabela 2.1. Recursos do JBoss EAP
Recursos | Descrição |
---|---|
Conformidade com o Java EE 7 |
Certificado para os perfis web e full do Java Enterprise Edition 7. |
Domínio Gerenciado |
Gerenciamento centralizado de várias instâncias de servidor e hosts físicos, enquanto que um servidor autônomo permite uma única instância de servidor. Gerenciamento de grupos por servidor de configuração, implantação, associações de soquete, módulos, extensões e propriedades do sistema. Gerenciamento centralizado e simplificado de segurança de aplicativos (incluindo domínios de segurança). |
Console de gerenciamento e CLI de gerenciamento |
Novas interfaces de gerenciamento de servidor autônomo ou de domínio. A CLI de gerenciamento também inclui um modo de lotes que pode utilizar scripts e automatizar tarefas de gerenciamento. A edição direta dos arquivos de configuração XML do JBoss EAP não é recomendada. |
Layout de diretórios simplificado |
O diretório de módulos contém todos os módulos de servidores de aplicativos. Os diretórios de servidor autônomo e de domínio contêm os artefatos e os arquivos de configuração para implantações autônomas e em domínio, respectivamente. |
Mecanismo de carregamento de classe modular |
Os módulos são carregados e descarregados conforme a necessidade. Isso melhora o desempenho, oferece benefícios de segurança e reduz os tempos de inicialização e reinicialização. |
Gerenciamento de fonte de dados otimizado |
Os drivers de banco de dados são implantados como outros serviços. Além disso, as fontes de dados são criadas e gerenciadas com o uso do console de gerenciamento e da CLI de gerenciamento. |
2.2. Subsistemas
Muitos dos recursos e das APIs que são expostos a aplicativos implantados no JBoss EAP são organizados em subsistemas. Esses subsistemas podem ser configurados por administradores para fornecer comportamentos diferentes, dependendo do objetivo do aplicativo. Por exemplo, se um aplicativo exigir um banco de dados, uma fonte de dados pode ser configurada no subsistema datasources
e acessada pelo aplicativo depois de implantada no servidor ou domínio do JBoss EAP.
2.3. Alta disponibilidade
A alta disponibilidade (HA) no JBoss EAP refere-se a várias instâncias do JBoss EAP funcionando em conjunto para fornecer aplicativos mais resistentes a flutuações de tráfego, carga de servidores e falha de servidor. O HA incorpora conceitos como dimensionamento, balanceamento de carga e tolerância a falhas.
2.4. Modos de operação
Além de fornecer funcionalidade e APIs aos seus aplicativos, o JBoss EAP tem poderosos recursos de gerenciamento. Eles variam de acordo com o modo de operação usado para iniciar o JBoss EAP. O JBoss EAP oferece um modo de operação de servidor autônomo para o gerenciamento de instâncias independentes e um modo de operação de domínio gerenciado para gerenciamento de grupos de instâncias a partir de um único ponto de controle.
Capítulo 3. Exemplos
Abaixo se encontram vários exemplos para ilustrar como o JBoss EAP funciona e como se encaixa em diferentes ambientes.
3.1. Exemplo simples
Este exemplo mostra uma configuração simples do JBoss EAP. A instância do JBoss EAP tem dois aplicativos implantados nela. Também está configurada para se conectar a um banco de dados usando o subsistema datasources
e um servidor Kerberos que pode usar o subsistemas herdado security
ou o elytron
. Essas conexões são expostas aos aplicativos implantados. A instância do JBoss EAP manipula solicitações por meio do subsistema undertow
e as direciona para o aplicativo apropriado. Os aplicativos usam as APIs expostas pelo JBoss EAP para se conectar ao banco de dados e ao servidor Kerberos e realizam sua lógica comercial implementada. Após a conclusão, os aplicativos enviam uma resposta de volta ao solicitante por meio do subsistema undertow
.
3.2. Exemplo expandido
Este exemplo ilustra uma configuração mais complexa que envolve três instâncias do JBoss EAP organizadas em um domínio gerenciado com um balanceador de carga ou um servidor web. As três instâncias também são configuradas para dar suporte à alta disponibilidade por meio de balanceamento de carga com o uso de mod_cluster e replicação de sessão com Infinispan. Todas as três instâncias do JBoss EAP têm um aplicativo web, um serviço web e EJB implantados. Uma instância do JBoss EAP tem uma fila JMS configurada por meio do subsistema messaging-activemq
. Todas as três instâncias do JBoss EAP têm conexões a um banco de dados por meio da fonte de dados. Elas também têm uma conexão ao servidor LDAP usando o subsistema herdado security
ou o subsistema elytron
. Além disso, uma instância do JBoss EAP é configurada para se conectar a um agente de mensagens externo por meio do subsistema messaging-activemq
. Essas conexões configuradas são expostas aos aplicativos, serviços web, EJBs e filas JMS implantados na respectiva instância.
Todas as solicitações de entrada destinadas ao aplicativo, serviço web ou EJB são primeiramente recebidas pelo balanceador de carga ou servidor web. Com base no algoritmo de balanceamento de carga configurado e nas informações fornecidas por cada instância do JBoss EAP, o servidor web ou o balanceador de carga direciona a solicitação para a instância apropriada do JBoss EAP. A instância do JBoss EAP manipula solicitações por meio do subsistema undertow
e as direciona ao aplicativo apropriado. Os aplicativos usam as APIs expostas pelo JBoss EAP para se conectar ao banco de dados e ao servidor Kerberos e realizam sua lógica comercial implementada. Após a conclusão, os aplicativos enviam uma resposta de volta ao solicitante por meio do subsistema undertow
. Todas as informações não persistentes, por exemplo, informações de sessão, são propagadas entre as instâncias do JBoss EAP por meio do subsistema infinispan
.
Revised on 2018-01-11 05:30:17 EST