O JBoss Application Server (ou, abreviadamente, JBoss AS) é um servidor de aplicação de código aberto desenvolvido pela JBoss (atualmente, uma divisão da Red Hat) para a plataforma Java EE. Ele oferece toda a infraestrutura necessária para executar aplicações Web desenvolvidas sobre essa plataforma. Nesse post, você saberá o necessário para começar a desenvolver aplicações Java para a Web utilizando esse servidor.
Essa é a segunda parte de dois posts que visam apresentar o JBoss AS 7. Se você desejava acessar a primeira parte, clique aqui. Senão, continue lendo.
Console de administração Web do JBoss AS
Podemos gerenciar o servidor de aplicação JBoss AS através de um console Web, que nos permite realizar, entre outras configurações, deploy e undeploy de aplicações, iniciar ou interromper a execução de aplicações, verificar o consumo de memória do servidor, configurar datasources, etc. Esse console, por padrão (se você não alterar as configurações de portas) é acessado através do endereço “http://localhost:9990/“.
Na primeira vez em que você tentar acessar esse console, no entanto, ele emitirá uma mensagem de erro (é bonita, eu sei, mas se você examinar seu conteúdo, verá que é uma mensagem de erro, rsrsrs):
Esse aviso nos diz que é necessário definir um usuário e uma senha para acessar o console de administração Web. Vamos fazer isso.
Execute o script “add-user” dentro da pasta “bin” do servidor (“C:\jboss-as\bin\add-user.bat” no Windows, e “/home/vinicius/jboss-as/bin/add-user.sh” no Linux):
1
$ /home/vinicius/jboss-as/bin/add-user.sh
Após iniciar o script, você será guiado no processo de adicionar um novo usuário:
1
2
3
4
What type of user do you wish to add?
a) Management User (mgmt-users.properties)
b) Application User (application-users.properties)
(a):
Nesse caso, como estamos criando um usuário com a finalidade de administrar o servidor, escolhemos a opção “a”. Ela já é a opção padrão, apenas tecle Enter.
Você será solicitado a fornecer informações sobre o novo usuário. Quando questionado sobre o domínio do usuário (Realm), aceite a opção padrão (ManagementRealm), para isso basta teclar Enter quando chegar nesse campo. No mais, digite nome de usuário, senha e confirme a senha.
1
2
3
4
5
Enter the details of the new user to add.
Realm (ManagementRealm) :
Username :
Password :
Re-enter Password :
Se não houver nada errado, uma mensagem de confirmação será exibida na tela.
Feito isso, nós já podemos acessar o console de administração Web, informando o usuário e senha criados quando solicitados (lembrando que o endereço é “http://localhost:9990/“):
Vamos fazer undeploy e deploy da aplicação usando o console de administração Web. Para isso, no menu do lado esquerdo, clique em “Manage Deployments”. É exibida uma lista das aplicações instaladas no servidor:
Clicando em “Disable”, interromperíamos a aplicação, fazendo com que ela não ficasse mais disponível ao usuário final, mas ainda permanecesse no servidor. Não é o que queremos aqui. Clique em “Remove” para de fato remover a aplicação do servidor. Aparece uma mensagem de confirmação na tela, clique em “Confirm”.
Feito isso a aplicação desaparece da lista, ela já não está mais no servidor (e muito menos acessível):
Se você tentar acessá-la pelo seu endereço (“http://localhost:8080/jboss-as-helloworld-jsf/“), visualizará uma página de erro no navegador.
De volta ao console de administração Web, clique no botão “Add Content” para fazermos deploy da aplicação novamente.
O primeiro passo é selecionar o arquivo que você deseja fazer deploy. Na janela que aparece, clique em “Browse…”, navegue até a pasta do exemplo (aqui, “/home/vinicius/jboss-jdf-jboss-as-quickstart-8505020/helloworld-jsf/”) e, dentro da pasta “target”, escolha o arquivo “jboss-as-helloworld-jsf.war”, que representa a aplicação compilada e empacotada em um formato próprio de aplicação Web (arquivo .war), análogo ao formato de aplicação Desktop (arquivo .jar). Por último, clique em “Next”:
Ele pede para confirmar as informações. Simplesmente clique em “Save”:
De volta à lista de aplicações, a aplicação foi instalada no servidor, mas não foi iniciada:
Clique em Enable para iniciá-la. Aparece uma mensagem de confirmação na tela, clique em “Confirm”. Feito isso a aplicação passa a aparecer na lista como habilitada:
Agora é possível acessá-la novamente pelo endereço “http://localhost:8080/jboss-as-helloworld-jsf/“.
Encerrando o JBoss AS
Encerrar o servidor, tanto no Windows quanto no Linux, é um procedimento bastante simples: basta abortar a execução do comando na janela de terminal onde o servidor está sendo executado. Para isso, basta apertar Ctrl + C (vale para ambos os sistemas).
Aqui ele encerrou o servidor em pequeníssimos 143 milissegundos:
1
2
3
4
5
6
7
8
9
10
11
12
13
15:09:21,996 INFO [org.jboss.as.osgi] (MSC service thread 1-1) JBAS011942: Stopping OSGi Framework
15:09:22,034 INFO [org.jboss.as.logging] JBAS011503: Restored bootstrap log handlers
15:09:22,044 INFO [org.jboss.weld.deployer] JBAS016009: Stopping weld service for deployment jboss-as-helloworld-jsf.war
15:09:22,053 INFO [org.apache.coyote.http11.Http11Protocol] Pausing Coyote HTTP/1.1 on http--127.0.0.1-8080
15:09:22,058 INFO [org.apache.coyote.http11.Http11Protocol] Stopping Coyote HTTP/1.1 on http--127.0.0.1-8080
15:09:22,083 INFO [com.arjuna.ats.jbossatx] ARJUNA032018: Destroying TransactionManagerService
15:09:22,111 INFO [com.arjuna.ats.jbossatx] ARJUNA032014: Stopping transaction recovery manager
15:09:22,111 INFO [org.jboss.as.server.deployment] JBAS015877: Stopped deployment jboss-as-helloworld-jsf.war in 132ms
15:09:22,114 INFO [org.jboss.as.controller] JBAS014774: Service status report
JBAS014776: Newly corrected services:
service jboss.server.controller.management.security_realm.ApplicationRealm.properties_authentication (new available)
15:09:22,121 INFO [org.jboss.as] JBAS015950: JBoss AS 7.1.1.Final "Brontes" stopped in 143ms
Mais informações sobre o JBoss AS
Pois é, pessoal. Vou encerrando minha apresentação do JBoss AS por aqui. Gostaria apenas de fazer algumas considerações finais e deixar as páginas que usei como referência para escrever esse post.
Também é possível administrar o JBoss AS através do terminal (da linha de comando), mas não apresentei essa ferramenta aqui por considerar o console Web muito mais simples de usar. Mais informações sobre essas duas ferramentas (o console Web e o console via terminal) vocês encontram no guia de administração do JBoss AS.
Um bom ponto de partida para quem quiser conhecer mais o JBoss AS (assim como o Maven e a plataforma Java EE) é explorar as aplicações de exemplo do servidor. Há um guia passo-a-passo que fornece explicações sobre alguns desses exemplos.
Quem utiliza a IDE Eclipse pode se interessar em instalar o plugin JBoss Tools, que acrescenta funcionalidades no Eclipse próprias para a utilização do JBoss AS como servidor Java EE dentro da IDE (como adicionar o servidor na view Servers, executar aplicações Web desenvolvidas pela IDE no servidor, fazer deploy e undeploy de aplicações, iniciar ou interromper aplicações, realizar depuração remota) e para o desenvolvimento de aplicações Web (acrescenta assistentes para a criação de arquivos próprios dessas aplicações, melhora a compleção de código, entre outras).
Encerrando as considerações, há um vídeo na Internet que demonstra 5 maneiras de fazer deploy da sua aplicação no JBoss AS 7. Nesse vídeo, ele realiza deploy da aplicação de exemplo helloworld de 5 maneiras diferentes.
As páginas da documentação oficial do JBoss AS que utilizei como referência para escrever esse post foram:
Abraço a todos e até a próxima!