Conectando sua aplicação Java na Oracle DataBase Cloud

Daniel Dias
Daniel Dias
Published in
8 min readFeb 4, 2018
cgkjwwpx
Oracle DataBase Cloud

Neste post veremos como utilizar a plataforma de Cloud da Oracle para conectar nossas aplicações Java no serviço de DataBase .

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 DataBase Cloud Service

A Oracle Database Cloud Service fornece a capacidade de implantar bancos de dados Oracle na Cloud, com cada implantação de banco de dados contendo um único banco de dados Oracle.

Você tem acesso total aos recursos e operações disponíveis com o Oracle Database, mas com a Oracle fornecendo o poder de computação, armazenamento físico e ferramentas (opcionalmente) para simplificar a manutenção de banco de dados de rotina e as operações de gerenciamento.

Com tudo esse serviço oferece os seguinte recursos :

  • Versão do DataBase : Instâncias de banco de dados dedicadas com o Oracle Database 11g, 12.1 e 12.2, com sua escolha de Standard, Enterprise, High Performance ou Extreme Performance.
  • Service Packaging : Os pacotes Standard e Enterprise incluem seus respectivos recursos locais e adicionam Transparent Data Encryption. O Alto Desempenho adiciona todas as opções de banco de dados excluindo: RAC, Memória interna e Active Data Guard. Extreme Performance inclui todas as opções.
  • Containerização de banco de dados : O Oracle Database 12c inclui a opção Oracle Multitenant para gerenciar bancos de dados plugáveis.
  • DevOps : Criação de teste de mestre com máscara de dados sensível. Criação de clones e gerenciamento do ciclo de vida para o desenvolvimento ágil.
  • Acesso administrativo : Acesso administrativo via SSH, SQL Developer, Data Pump, SQL * Plus e outras ferramentas.
  • Acesso aos Dados : Use qualquer biblioteca de linguagem de cliente Oracle disponível, incluindo: Oracle Net (SQL * Net), JDBC, JSON e outros drivers para acessar suas instâncias dedicadas.
  • Ferramentas : Use Enterprise Manager, SQL Developer, Application Express ou outras ferramentas Oracle ou de terceiros .
  • Acesso seguro à rede : Opção IPsec VPN para acesso seguro.
  • Escalonamento : Controle o armazenamento e o dimensionamento de computação através do console web (ou API REST). Explodir de assinatura para computação medida para efetivamente lidar com o pico de carga de trabalho.
  • Segurança : Use o console web do Compute Service (ou a API REST) para gerenciar as regras de segurança e as listas IPsec para uma segurança de rede flexível e de nível empresarial. Aproveite todos os recursos de segurança da Oracle Database em profundidade para obter a segurança completa de dados.
  • Patch e atualização : Use ferramentas de automação de patches incorporadas no console da Web (ou API REST) para fácil aplicação de patches trimestrais do banco de dados. Use processos de migração simples para validar atualizações.
  • Opções de backup : Programe a automação de backup para armazenamento local rápido, o Oracle Cloud Object Store ou ambos. Instanciar novos serviços a partir de cópias de backup para desenvolvimento e teste.
  • Elasticidade : Adicione ou remova recursos de computação, memória ou armazenamento conforme necessário

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

Acessando a Oracle DataBase 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

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 “DataBase” 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 :

welcome

Agora para criarmos uma instancia desse serviço, vamos clicar na aba “Instances” e sera exibida a seguinte tela :

create

Clique no botão “Create Instance” e você sera levado a uma tela com um pequeno formulário para preencher para poder ser criado uma instancia :

form1

Preenche todos os dados e logo depois clique em Next para ir na tela de configuração do Banco. Nessa tela de instancia eu optei por utilizar o Oracle DataBase 12c R2 com essas configurações, mas os leitores podem utilizar outras opções.

form2

Nesta tela preencha o que for necessário para você, no meu caso não irei fazer o uso da configuração de backup. Agora anote o DB Name e PDB Name, pois vamos precisar uma delas para termos acesso a instancia remotamente.

Logo depois clique em Edit no campo “SSH Public Key” para termos acesso a instancia via terminal, nisso ira abrir um pop-pup oferecendo 3 opções para entrar com SSH :

ssh

Marque a opção “Create a New key” , nisso será gerado uma chave publica e privada e a mesma dará opção fazer Download de um arquivo zip contendo a mesmo, feito isso a tela volta para o formulário com o campo preenchido com o valor da chave, logo em seguida clique em “Next” para ser levado a tela de confirmação das configurações, estando tudo certo clique em “Create” para ser levado novamente a tela de instancia aonde o seu serviço esta sendo criado :

criando

Nesta tela mostra todas as instancia criadas atualmente, bem como um pequeno sumario dos recursos utilizado por esse instancia.

Agora clique no nome do seu serviço para ser levado a tela onde ira conter mais detalhes sobre o serviço ainda em criação :

criando2

Nesta tela é mostrada os recursos, status de criação da instancia, bem como acesso ao ip publico para podemos conectar nossas aplicações com a instancia. Ira levar um tempinho para que o serviço esta ok.

Depois de tudo pronto podemos acessar o serviço, mas antes devemos configurar a regras de acesso para obtermos acesso remotamente, seguindo a imagem abaixo, vá no menu e clique em “Access Rules” :

acessRules

Apos clicar você sera levado a uma outra tela, aonde devemos habilitar duas regras de acesso a no menu “Action” :

ora_p2_httpsslPUBLIC-INTERNETDB_1443

ora_p2_dblistenerPUBLIC-INTERNETDB_11521

feito isso estaremos pronto para acessar a instancia remotamente via SSH, SQL Developer e através do JDBC e persistence.xml.

Conectando com SQL Developer, SSH e JDBC/persistence.xml

Agora iremos fazer a conexão com a instancia através do Oracle SQL Developer. Caso não use essa ferramenta, poderá utilizar uma outra, bastando fazer as configurações necessárias .

SQL Developer

Com o SQL Developer clique no icome de “+” para criar uma nova conexão e entre com os dados da sua instancia conforma a imagem :

sqlDeveloper

feito isso basta clicar em conectar e começar a usar o Oracle DataBase Cloud .

SSH

A duas maneira des conectar via SSH, a primeira com o próprio SQL Developer ou via terminal, que no meu caso uso Linux , veremos da duas formas :

1 — Via SQL Developer :

Com o SQL Developer aberto vai no menu View -> SSH nisso ira abrir um aba de “SSH Hosts” , clique com o botão direito no nele e em new SSH Host e preencha da seguinte forma :

sshSQL

logo depois clique em conectar e em seguida alterar a conexão criada anteriormente conforme a imagem e conectar :

sshSQL2

2 — Via Terminal :

Abra o seu terminal e digite o seguinte comando :

ssh -i local da chave privada oracle@ip-publico da instacia 

caso queria fazer um tunnel entre seu local e o remoto execute o seguinte comando :

ssh -i local da chave privada -L 1523:oracle@ip-publico da instacia 

JDBC / Persistence.xml

Agora para finalizar vamos utilizar com JDBC/persistence.xml para conectar nossas aplicações Java :

Com seu projeto Java aberto e com os jar’s necessário para adicionado no projeto, faça o seguinte :

agora com persistence.xml com Java SE :

Caso queira usar com DataSource, basta fazer uma pequena modificação e criar a conexão em algum servidor de aplicação, nesse exemplo vou utilizar o Wildfly-Swarm para configurar o DataSource de forma simples e rápida, dentro da pasta resource/META-INF criar o arquivo “project-default.yml” :

e no persistence.xml :

agora olhando no banco os registros :

jug

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.

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 .