segunda-feira, 20 de maio de 2019

Desenvolvendo com JBoss EAP 7 - Configurando Servidor

< EM CONSTRUÇÃO - Material sendo elaborado >
Introdução

Essa é a segunda parte da serie de posts que ensina a configurar o ambiente de desenvolvimento para a plataforma Java EE. As outras partes são:

1. Overview
2. Configurando o Servidor
3. Configurando a IDE
4. Validando o ambiente

Nesse post veremos o que é o JBoss EAP, como obter uma cópia para desenvolvimento e os conceitos utilizados pelo JBoss para gerenciar as configurações e como customizar um perfil para o desenvolvimento de nossas aplicações.

O que é o JBoss EAP

JBoss Enterprisee Application Platform é o nome de um servidor de aplicações que implementa a especificação Java EE. Ele é vendido pela RedHat baseado no modelo de subscrição juntamente com o suporte ao produto. Nesse modelo é cobrado o direito de uso do software, juntamente com um pacote de suporte que dá acesso a ajuda dos profissionais da RedHat para instalar, configurar e corrigir problemas no JBoss assim como na integração entre as aplicações e o servidor de aplicação.

Quanto Custa?

O custo da subscrição básica é de U$ 8.000,00 por ano, já a subscrição premium, que fornece um nível de suporte melhor sai por U$ 12.000,00. Os preços mais atuais podem ser conferidos direto no site da RedHa, no seguinte link: https://www.redhat.com/en/store. Um detalhe curioso sobre o preço anunciado no site da RedHat é que não fica claro qual a política comercial em relação a subscrição. Pesquisando um pouco consegui encontrar uma calculadora que compara a economia entre a subscrição do JBoss vs produtos da IBM e Oracle (https://www.redhat.com/pt-br/product-red-hat-jboss-eap-eap-calculator). Segundo os parâmetros da calculadora, podemos deduzir que o preço da licença do JBoss é calculado por core. Para que o preço anunciado de U$ 12.000,00 seja aplicado, é necessário uma configuração mínima de 16 cores.

Porque usar?

A grande vantagem de se pagar a subscrição da RedHat é contar com o apoio e conhecimento dos profissionais da empresa para enfrentar os desafios do mundo corporativo. A empresa conta com um grupo de profissinais capacitados para ajudar na resolução de problemas e na busca por soluções para desafios tecnológicos que os times de infraestrutura e desenvolvimento possam enfrentar durante o desenvolvimento de suluções Java EE.
No caso de um desenvolvedor independente, ou de empresas que tenham equipes treinadas e capacitadas para atuar de forma independente o ganho no uso da subscrição pode não ser tão significativo.

Quais alternativas?

O JBoss EAP é a versão comercial de um projeto OpenSource e Free chamado WildFly, também desenvolvido e patrocinado pela RedHat. O WildFly funciona como uma espécie de laboratório para a implementação de novos recursos e especificações que podem ser incorporados no JBoss EAP. Segundo descrito na seguinte página, os dois servidores tem, atualmente, o mesmo conjunto de funcionalidades: http://wildscribe.github.io/index.html.

Caso você ou sua empresa não tenham intenção de utilizar o JBoss EAP, o WildFly é uma alternativa viável, contanto que seu time seja capacitado suficiente para não depender do suporte da RedHat.

E para o desenvolvedor?

Para o desenvolvedor ou administrador de servidores querendo testar ou aprender a como utilizar o JBoss EAP, a RedHat disponibiliza uma versão gratúita. Para isso é necessário criar uma conta no site https://developers.redhat.com/ e fazer o download do software no seguinte link.



Faça o download do arquivo ZIP - Application Platform


Lembrando que não é permitido utilizar o software em produção com a licença de desenvolvedor.


Instalação

Para o ambiente proposto não utilizaremos o instalador do JBoss. Executaremos o servidor como uma aplicação Java padrão. Existe a opção de usarmos o JBoss como um serviço do Windows, porém, para manter o ambiente simples, não usaremos essa opção.

Uma vez baixado o arquivo jboss-eap-7.2.0.zip precisamos descompactá-lo em um diretório qualquer do sistema operacional.

Antes de executar o servidor é necessário garantir que a variável de ambiente JAVA_HOME esteja apontando para o SDK escolhido. Para o ambiente que está sendo configurado recomendo o uso do OpenJDK 1.8 - Hotspot distribuído pelo site AdoptOpenJDK.

estrutura de diretório do JBoss 7.2


Iniciando o servidor

O JBoss tem dois modos de execução: Standalone ou Dominio. O modo Dominio é apropriado para configurações onde o JBoss será executado de forma clusterizada, ou seja, com diversas instâncias rodando em diferentes máquinas se comportando como um único servidor. No modo standalone são utilizadas configurações que assumem o servidor sendo executado em uma única máquina sem comunicação com outros servidores JBoss.

Para o ambiente de desenvolvimento será utilizada a configuração Standalone. Para subir o servidor nesse modo, basta executarmos o arquivo standalone.bat que fica no diretório /bin/standalone.bat. 



Esse utilitário irá fazer as verificações básicas do ambiente e iniciar uma instância baseada nas configurações encontradas no seguinte diretorio: /standalone/configuration/standalone.xml



O servidor irá iniciar, por padrão, utilizando a porta 8080 para o servidor web (undertow) e na porta 9990 para o console de administração.


Para testar a instalação, podemos acessar o console no seguinte URL: http://localhost:9990/console/index.html

No primeiro acesso será mostrado um aviso, dizendo que nenhum usuário de administração foi configurado.

Para obtermos acesso ao console de administração, precisamos executar o script add-user.bat que está na pasta /bin/add-user.bat 

O script iniciará um utilitário interativo onde você deverá preencher algumas informações referente ao usuário a ser criado:

Tipo do usuário: Digite a letra "a" e pressione ENTER;
Username: Digite o nome escolhido para o usuario de administração. O JBoss não aceita o usuário com nome de 'admin' portanto seja criativo e escolha outro nome;
Password/Confirmação: As senhas podem ter: letras e números (a-z, A-Z, 0-9); traços (-), pontos (.), virgula(,), arroba (@), barra invertida (\) e sinal de igual (=);
Grupos: Deixe em branco e pressione ENTER;
Confirmação dos dados: digite 'yes' e pressione ENTER;
O usuário vai ser utilizado para conectar em outro application server (AS): digite 'no' e pressione enter;

A saída será parecida com a seguinte:


Uma vez adicionado o usuário basta acessar novamente o URL: http://localhost:9990/console/index.html e um popup requisitando as credenciais do usuário administrativo será exibida. Basta preencher com o usuario/senha que acabamos de adicionar e teremos acesso ao console de administração.

Console de administração do JBoss 7.2



Habilitando JMS através do ActiveMQ.

Por padrão a configuração Standalone não habilita o serviço de mensageria JMS, porém, como é comum que aplicações distribuidas utilizem troca de mensagem, vamos habilitar esse módulo antes de inicar nosso servidor.

O JBoss 7.2 utiliza o servidor ActiveMQ Artemis (https://activemq.apache.org/components/artemis/) para gerenciar a troca de mensagens. Para habilitar esse módulo precisamos editar o arquivo de configuração \standalone\configuration\standalone.xml. Para isso vamos executar uma cópia desse arquivo e renomeá-la para standalone_jms.xml e salvar no mesmo diretório do arquivo original.




< EM CONSTRUÇÃO >








1 comments:

Cleber Alves disse...

Material muito bom, que agregou bastante conhecimento que até então não conhecia. Existe previsões para dar continuidade?