Executando sua aplicação Java na Oracle Application Container Cloud Service

Daniel Dias
Daniel Dias
Published in
7 min readFeb 13, 2018
cloudgs_appcontainer

Neste post veremos como utilizar a plataforma de Cloud da Oracle executar nossas aplicações Java no serviço de Application Container .

Obtendo uma Conta Free

Antes de iniciarmos nossa aventura, você vai precisar criar uma conta na Oracle Cloud para poder utilizar os serviços.

Para isso basta acessar o site : http://cloud.oracle.com/ e criar uma conta trial que te dar $300(900 BRL) para testar a plataforma por 30 dias.

trial
http://cloud.oracle.com/

Bastando preencher os campos solicitado e informar o numero do cartão de credito para que o cadastro seja completado, porem não se preocupe que não sera cobrado nada apos o termino dos 30 dias, a menos que optar por fazer upgrade para uma conta paga para continuar a usar os serviços.

Feito o cadastro, basta aguardar um e-mail de boas vindas com as sua credenciais para acesse a plataforma Oracle Cloud , que leva mais ou menos uns 2 dias.

Oracle Application Container Cloud Service

O Oracle Application Container Cloud Service permite que você implemente aplicativos Java SE, Node.js, PHP, Python, Ruby, Go e .NET para Oracle Cloud. Você também pode implantar aplicações Java EE.

A inscrição no Oracle Application Container Cloud Service disponibiliza todos os tipos quando você faz o deploy. Seu aplicativo é executado em um recipiente Docker.

Com tudo esse serviço oferece os seguinte recursos :

  • Um ambiente pré-configurado para aplicativos Java SE, Java EE, Node.js, PHP, Python, Ruby, Go e .NET.
  • Java SE recursos avançados, como Java Flight Recorder, Java Mission Control, gerenciamento avançado de memória e atualizações de segurança.
  • Plataforma aberta que suporta todos os frameworks Java e contêineres, como Spring, Play, Tomcat e Jersey.
  • Suporte para linguagens baseadas em Java Virtual Machine (JVM), como JRuby. Você pode executar qualquer idioma que use o Java Virtual Machine neste serviço.
  • Suporte de nível empresarial da Oracle.
  • Interface de usuário baseada na Web e API REST.

Além disso, você pode optar por se integrar com outros serviços Oracle Cloud. Você pode desenvolver sua aplicação em seu sistema local ou pode usar o Oracle Developer Cloud Service.

Se você quiser armazenar e recuperar dados, você pode usar Oracle Cloud Infrastructure Object Storage Classic — uma assinatura está incluída. Você também pode se inscrever no Oracle Database Cloud Service ou no MySQL Cloud Service.

Para implantar um aplicativo e configurar um banco de dados em uma única etapa, você pode usar o Oracle Cloud Stack Manager.

Para comunicação, você pode se inscrever no Oracle Messaging Cloud Service. Sua aplicação se comunica com esse serviço através da sua API REST, portanto, nenhuma configuração de segurança especial é necessária.

Bem feita essa rápida introdução sobre o serviço, podemos da inicio ao processo de criação de um app e logo depois uma instancia na Oracle Cloud.

Criando o Projeto

Para esse post criaremos um simples app rest utilizando Payara-micro e Microprofile .

crie um projeto maven e configure o pom.xml da seguinte forma :

dep
dep2

feito isso crie duas classes com o seguinte conteúdo :

agora dentro da pasta “META-INF” crie um arquivo beans.xml e um “microprofile-config.properties” :

jug.nome = SouJava { Rio }
jug.leaders = Daniel Dias, Paulo Simões, Ulisses Telemaco
jug.descricao = SouJava — Fortalecendo a comunidade Java brasileira.
beans

agora podemos fazer o build do projeto e executa-lo localmente, para isso faça o seguinte comando :

mvn clean install

sera gerado o build do seu projeto alem de fazer o download do payara-micro conforme a seguinte imagem :

build

para executar seu projeto localmente faça o seguinte comando :

java -jar payara-micro.jar — deploy microprofile-sample.war

após executa-la você poderá acessar o serviço através da url apresentada no console :

payara

Como vimos o projeto funciona localmente, agora para correr o mesmo na Oracle Cloud iremos precisar criar um arquivo extra de configuração bem simples e logo depois zipa-lo para pode ser feito o upload para a Cloud .

Para isso vamos criar o arquivo manifest.json , esse arquivo é o que define como a nossa app vai iniciar, esse arquivo é o equivalente ao do Heroku que no caso é o “Procfile” , então configure o arquivo da seguinte maneira :

{
“runtime”:{“majorVersion”:”8"},
“command”:”java -jar payara-micro.jar — deploy microprofile-sample.war — port $PORT”
}

mais detalhes sobre manisfest.json poderá acessar o seguinte link.

Com tudo feito, faça um arquivo zip contendo o war,payara-micro.jar e o arquivo manisfest.json . Apos isso podemos subir para a Oracle Cloud .

Acessando a Oracle Application Container Cloud

Logo apos ter feito o cadastro de uma conta trial e receber o e-mail de boas vindas juntamente com as credenciais para acessar os serviços podemos da inicio na criação de uma instancia do serviço de Contêiner .

Primeiramente acesse o link que você recebeu no e-mail e ao clicá-la sera levado a seguinte tela :

login

entre com seu usuário e senha recebido no e-mail, feito o login sera levado a tela de DashBoard contendo informações sobre seus serviços, valores, notificações, etc.

paineldeControle

Painel de Controle/DashBoard[/caption]

A partir desta tela podemos criar novas instancias dos serviços disponíveis em nossa conta, com podem observar eu tenho dois serviços listados no meu painel, os mesmo estão sendo exposto aqui, eu especifiquei quais serviços eu quero mostrar em meu painel quando entro na minha conta, podemos adicionar mais serviço clicando no card “Personalizar Painel de Controle”.

Como entrar nessa tela pela primeira vez, temos somente o serviço de Identity Cloud apresentado, para criar uma nova instancia de algum serviço temos duas opções :

1 — Clicando no card “Criar Instancia” que ira da uma lista dos serviços disponíveis separados por categoria .

2 — Clicar no menu ao lado do nome “Oracle Cloud — Meus Serviços”, nisso ira lhe apresentar um menus com uma lista de opções e um outro menu chamado “serviços” que lista os serviços que temos disponíveis para usar.

Para esse post eu vou utilizar o serviço chamado “Application Container” para isso clique no Card criar instancia ou mesmo vai no menu e procurar por esse nome e você sera levado a tela do serviço , como pode ser visto na seguinte imagem :

appCloud

Agora para criarmos uma instancia desse serviço, vamos clicar no botão “Go to Console” e sera exibida a seguinte tela :

create

Clique no botão “Create Application” e sera aberto um popup conforme a imagem:

create2

Selecione o “Java SE” e ira abrir a seguinte tela :

deploy

Nesta tela preencha o que for necessário para você e aguarde a finalização do upload do projeto.

Logo depois você voltara para a tela de Applications com a sua instancia sendo criada conforme a imagem :

demo

clique no nome da sua application para ir para tela de detalhes :

detail

Nesta tela é mostrada os recursos, status de criação da instancia, bem como acesso a URL para podemos ter acesso as aplicações. Se necessário podemos aumentar a memoria e instancia, no meu caso eu tenho 1G memoria, então aumentei para 2 G para ficar no verde.

Para ver a sua app funcionando basta acessa a URL que é disponibilizada, que no meu caso é:

https://demo-danieldiasjava.uscom-east-1.oraclecloud.com/microprofile-sample/app/JUG

que resulta do seguinte resultado no navegador :

json

Agora iremos fazer a mesma coisa, porem com a opção Java EE, iremos fazer um upload de war com uma simples aplicação em Struts-1 :

Clique novamente em “Create Application” e logo depois em “Java EE “ abrindo a seguinte tela :

javaee

preencha o formulário e clique em “Create”, apos isso seu war sera processado e poderá utiliza-lo a a URL disponível que no meu caso é :

https://struts-danieldiasjava.uscom-central-1.oraclecloud.com/

strutsCloud
strutsCloud2

Bem isso é tudo, espero que os leitores tenham gostado desse passo a passo na utilização de um dos serviços da Oracle Cloud.

Aproveite seus 30 dias e explore mais esse serviço e teste outros também.

Código-fonte: https://github.com/Daniel-Dos/DanielDiasjava-Blog/tree/master/Projeto-Cloud

REFERÊNCIAS

--

--

Daniel Dias
Daniel Dias

SouJava Board Member, JCP Member, JSR-371 (MVC 1.0), JSR-382 (Config) specifications contributor, EG JSR-385 (UoM) and Eclipse Committer .