Implantação de um WAR JavaEE7 no Wildfly através do Marketplace

Sign in to queue

Description

Implantação de um WAR JavaEE7 no Wildfly através do Marketplace

 

Pré-requisitos:

  • Uma conta no Azure, o ambiente de computação em nuvem da Microsoft.
  • Uma versão recente do Java instalada. Para que o projeto possa ser construído com sucesso você precisa de um JDK (Java Development Kit), e não somente de um JRE (Java RuntimeEnvironment). Você pode realizar o download em http://www.oracle.com/technetwork/java/javase/downloads/index.html
  • A ferramenta de controle de versão Git O Git é uma ferramenta de controle de versão distribuída bastante popular, e está disponível em uma grande quantidade de plataformas. Você pode realizar o download em http://git-scm.com/
  • Uma ferramenta de conexão SSH. O comando ssh já instalado nativamente em distribuições Linux e na plataforma MacOSX. No ambiente Windows você possuirá um comando ssh disponível no seu terminal GitBash após ter concluído a instalação do Git.
  • A ferramenta de build automatizado Maven. O projeto de exemplo é construído através do Maven, e você pode realizar o download em http://maven.apache.org/

 

Etapas

Criação da instância do Wildfly através do Azure Marketplace

  1. O primeiro passo é a criação de uma instância através do Azure Marketplace. Clique no link "NEW" no canto inferior do Azure Portal.

 Generic Episode Image

 

  1. O Azure Marketplace possui uma grande variedade diferente de opções para instanciação. Para procurar por uma demanda específica, clique no link "Everything".

 Generic Episode Image

 

  1. Digite "wildfly" para poder filtrar as opções disponíveis de servidores Wildfly no Azure Marketplace. No nosso exemplo temos 2 opções diferentes disponibilizadas, ambas pela Bitnami: o Wildfly1.0 e o Wildfly 8.0.0. Optamos pela última versão disponível, o 8.1.0.

 Generic Episode Image

 

  1. Após selecionar a opção desejada você é apresentado a um descritivo da instância, bem como aos termos legais para utilização da mesma. Uma informação importante a ser anotada, conforme descrito no texto da instância, é que o usuário e senha para acesso ao painel de administração do Wildfly são respectivamente manager e bitnami. Clique no link "Create".

 Generic Episode Image

 

  1. Agora você deve informar algumas configurações. No campo "Host Name" informe o nome da instância que você está criando. No nosso caso será "javaeeonazure". O Azure verifica automaticamente a disponibilidade do nome de host para você. Escolha um nome disponível. Em seguida você deverá preencher o seu nome de usuário para conexão SSH no campo "UserName". No nosso exemplo escolhemos o usuário "yanaga". No Campo "SSH Public Key" você deverá colar a sua chave pública de SSH. Finalize clicando no link "Create".

 Generic Episode Image

 

  1. O processo de criação da instância pode levar alguns minutos. Quando a mesma já estiver disponível para uso aparecerá na tela inicial do Azure Portal. Na imagem do nosso exemplo, a instância do javaeeonazure aparece no canto superior direito. Clique na instância.

 Generic Episode Image

 

  1. Você verá um painel de controle da instância com várias opções. Clique na opção "SETTINGS".

 Generic Episode Image

 

  1. Nesta tela expandida de opções, selecione a opção "Properties".

 Generic Episode Image

 

  1. Várias informações são disponibilizadas, e por enquanto devemos anotar o VIRTUAL IP ADDRESS, que será utilizado para realizar a conexão de SSH. No nosso exemplo é o IP 23.102.28.148.

 Generic Episode Image

 

Configurar segurança da instância do Azure para acesso externo

  1. Por padrão as instâncias do Azure vem com uma configuração de acesso bastante restrita por motivos de segurança. Devemos explicitamente abrir quais portas de acesso queremos disponibilizadas na Internet. Ao selecionar a opção "Endpoints", podemos verificar que somente a porta 22 (SSH) está disponível. Clique no link "Add" para adicionar mais uma porta.

 Generic Episode Image

 

  1. Para liberar a porta 80 (HTTP) do nosso servidor Wildfly devemos digitar as seguintes informações: no campo "Endpoint", digite "HTTP"; no campo "Protocol", escolha "TCP"; no campo "Publicport", digite "80"; e no campo "Private Port", digite "80". Finalize escolhendo a opção OK.

 Generic Episode Image

 

Configuração do tunnel de SSH para acesso ao painel administrativo do Wildfly

  1. A configuração padrão do servidor Wildfly, por motivos de segurança, não permite a conexão ao painel administrativo através de uma conexão de rede local. O acesso deve ser feito de modo local. Entretanto o servidor do Azure seguramente é uma máquina remota a qual não temos acesso. Para podermos então configurar o Wildfly de modo remoto sem comprometer a segurança devemos criar um tunnel (uma espécie de VPN) SSH através do seguinte comando: ssh –N –L 9992:127.0.0.1:9990 yanaga@<ip-da-instância>. Lembrando que "yanaga" é o nome do usuário informado no momento da criação da instância. Basicamente estamos redirecionando a nossa porta 9992 local para a porta 9990 do servidor remoto através de SSH. O comando não finaliza. O tunnel existe enquanto o comando estiver sendo executado.

 Generic Episode Image

 

  1. Para verificar se a sua conexão ao painel de controle do Wildfly está funcionando, acesse http://localhost:9992. Você deverá visualizar uma tela parecida com a imagem seguinte.

 Generic Episode Image

 

Realizar o build do projeto através do Maven

  1. Nossa aplicação de exemplo está disponível no Github na URL https://github.com/JavaOnAzure/azure-javaee7. Copie a URL do repositório Git no link mostrado na imagem seguinte.

 Generic Episode Image

 

  1. Clone o repositório Git do projeto de exemplo no seu computador através do comando: "git clone <URL do repositório>"

 Generic Episode Image

 

  1. Com o repositório no seu computador, entre no diretório do projeto e execute o comando: "mvn clean package" para executar o build através do Maven. O importante é visualizar a mensagem de "BUILD SUCCESS" ao final do build do projeto.

 Generic Episode Image

 

  1. O Maven gerará um arquivo WAR (no nosso exemplo, azure-javaee7.war) dentro do diretório target. Anote esta localização pois utilizaremos este arquivo gerado para implantar no Wildfly que está executando no Azure.

 Generic Episode Image

 

Implantar o arquivo WAR através do painel administrativo do Wildfly

  1. Acesse o painel administrativo do Wildfly e clique no link "Create Deployment".

 Generic Episode Image

 

  1. Nesta tela você verá os arquivos e projetos que estão implantados no Wildfly. Para adicionar um novo projeto, clique no botão "Add".

 Generic Episode Image

 

  1. Selecione o arquivo "azure-javaee7.war" que foi gerado através do Maven. Nesta etapa faremos o upload do arquivo para a instância do Wildfly rodando no Azure. Este processo pode levar um tempo considerável, dependendo da sua conexão à Internet. Clique no botão "Next".

 Generic Episode Image

 

  1. Nesta etapa podemos verificar os dados do arquivo que foi enviado para implantação. Pressione o botão "Save" para finalizar este processo.

 Generic Episode Image

 

  1. Por padrão o Wildfly não implanta automaticamente os arquivos de projeto que são adicionados. É necessário inicia-lo manualmente. Selecione o arquivo azure-javaee7.war e clique no botão "En/Disable" para inicia-lo.

 Generic Episode Image

 

  1. Confirme a implantação do projeto.

 Generic Episode Image

 

  1. Note que após iniciado o símbolo do lado esquerdo do arquivo azure-javaee7.war mostra que o mesmo já se encontra habilitado.

 Generic Episode Image

 

  1. Acesse novamente as propriedades da instância no Azure Portal conforme demonstrado no passo 9. Selecione o "DOMAIN NAME" da instância para acessá-la através no navegador. No nosso exemplo é javaeeonazure.cloudapp.net.

 Generic Episode Image

 

  1. Verifique a bem-sucedida implantação do projeto acessando em seu navegador a URL http://<DOMAIN-NAME>/azure-javaee7. No nosso exemplo a URL é http://javaeeonazure.cloudapp.net/azure-javaee7.

 Generic Episode Image

Tags:

Azure, Java

The Discussion

Add Your 2 Cents