terça-feira, 10 de novembro de 2015

Weblogic - Configurando ORDS para uso do APEX


      Bueno, em minhas atividades atuais com Weblogic precisei migrar o uso do APEX de um OHS para o Weblogic.

______________________________________________________________
APEX: https://apex.oracle.com/en/
OHS: https://docs.oracle.com/cd/E28280_01/web.1111/e10144/intro_ohs.htm#HSADM101
Weblogic: http://www.oracle.com/br/products/middleware/cloud-app-foundation/weblogic/overview/index.html
______________________________________________________________


     Para tal, é necessário usar o ORDS, que pode ser executado em standalone, Glassfish ou Weblogic, para a postagem corrente falaremos de seu uso no Weblogic.

Pré-requisitos
______________________________________________________________
- WLS instalado
- JDK instalado e JAVA_HOME configurado
______________________________________________________________

Premissas
______________________________________________________________
- HTTPS não será abordado;
- Instalação do APEX na database Oracle não será abordada;
- Comandos de configuração do WLST não serão foco do post.
______________________________________________________________


     Primeiramente baixe o ORDS no site da Oracle:
______________________________________________________________
http://www.oracle.com/technetwork/developer-tools/rest-data-services/downloads/index.html
______________________________________________________________

     Após o download extraia o pacote e visualizará um pacote 'ords.war', é esse pacote que utilizarás no Weblogic.

     Antes de nos preocuparmos com este WAR precisaremos criar um novo war com o conteúdo estático de imagens para o APEX, eles podem ser localizados no OHS, possívelmente em '/apex/images'.

    Faça a cópia de todo o conteúdo dessa pasta, pois precisaremos compactá-las em um WAR e implantar no Weblogic, utilize para tal o seguinte comando:
______________________________________________________________
java -jar ords.war static \images
______________________________________________________________

    Esse comando gerará o arquivo 'i.war', o qual tu farás a implantação no Weblogic com custom security roles(Custom Roles: Use roles that are defined in the Administration Console; use policies that are defined in the deployment descriptor).

    Bem, já temos as imagens, nos falta configurar no ORDS a database que tem o APEX instalado(a instalação do APEX na database Oracle não é o objetivo desta postagem), bem como criar um cluster no Weblogic que serão os alvos da aplicação do ORDS.

    Realize a criação de um cluster, pode ser via WLST ou Admin-Server do DAS, e garanta que exista ao menos um managed-server neste cluster, pode ser localizado no nodemanager do mesmo servidor que possui o DAS, sem problemas.

    Feito isto vamos configurar o ORDS, então para tal utilize o comando abaixo:

______________________________________________________________
java -jar ords.war install simple
______________________________________________________________

   Aqui precisará das seguintes informações:

Host da database onde o APEX foi instalado;
Porta da database onde o APEX foi instalado;
Usuário e senha de um usuário com grant de sysdba para instalação do usuário do ORDS;
Usuário e senha do usuário do APEX_PUBLIC_USER e demais usuários relacionados ao APEX;
Especificar um caminho de configuração dos parâmetros de configuração do ORDS, aqui é ideal utilizar uma pasta dentro do $MIDDLEWARE_HOME;

   Caso ocorra um erro de sintaxe na instalação do ORDS, usando um WinRAR ou extrair o 'ords.war' e edite o arquivo 'ords_create_rest_users.sql' e altere deixando como abaixo:
______________________________________________________________
create user ORDS_PUBLIC_USER identified by $minhasenha account unlock default tablespace ^PUB_DATATBS temporary tablespace ^PUB_TEMPTBS;
______________________________________________________________

     Onde $minhasenha é a senha que definiu na instalação.

     Feito isto, execute a desinstalação do ORDS e execute a instalação novamente.
______________________________________________________________
java -jar ords.war uninstall
java -jar ords.war install simple
______________________________________________________________

     Bueno, estamos pendente apenas com o deploy(implantação) pendente no WLS. Execute deixando como target(alvo) o cluster que criaste. Utilize também custom rules para security no processo de deploy. E se fez tudo corretamente o APEX estará disponível no endereço abaixo:

______________________________________________________________
http://localhost:9003/ords 

Onde localhost é o IP do(s) managedserver(s) que configuraste no cluster, e 9003 é a porta que o managedserver escuta. 
______________________________________________________________