Pular para o conteúdo
  • Este tópico contém 1 resposta, 1 voz e foi atualizado pela última vez 11 meses atrás por Avatar de José Laurindo ChiappaJosé Laurindo Chiappa.
Visualizando 2 posts - 1 até 2 (de 2 do total)
  • Autor
    Posts
  • #166858
    Avatar de Wagner NascimentoWagner Nascimento
    Participante

      Olá pessoal,

      Trabalho com uma aplicação legado e pegamos alguns dados dessa aplicação usando node.JS com a lib oracledb. No entanto eu precisaria desses dados em tempo real para uma outra aplicação que estão em servidores distintos e a versão que utilizamos do DB é a “Oracle Database 12c Standard Edition Release 12.1.0.2.0 – 64bit Production”. Consigo fazer isso usando PL/SQL e bater em um end-point que espera receber esses dados, só que o DB só realiza requisições em HTTP e não em HTTPS, sendo assim é inviável fazer dessa forma. Alguém tem alguma sugestão?

      #166906
      Avatar de José Laurindo ChiappaJosé Laurindo Chiappa
      Moderador

        Tudo jóia ? Vamos por partes aí : PRIMEIRO de tudo, eu coloco ENORMES ASPAS nesse “TEMPO REAL” que vc fala : veja, para ser tempo REALMENTE REAL, vc precisaria que a rotina de banco fosse disparada IMEDIATAMENTE ASSIM que o dado fosse publicado na App, e isso absolutramente não é Toda e Qualquer Aplicação que permite, não… Via de regra o que vc consegue é QUASE REAL TIME, tipo um Job que dispara a cada 5 minutos e vê se tem dados publicados….

        Isso posto, a sua resposta : absolutamente NÃO, colega, Não É VERDADE que vc não consegue fazer acesso HTTPS pelas built-in Oracle : https://oracle-base.com/articles/misc/utl_http-and-ssl é um exemplo, e https://doyensys.com/blogs/how-to-access-https-ssl-url-via-utl-http-using-the-orapki-wallet-command/ é outro, exemplos que MOSTRAM EXATAMENTE COMO FAZER, que basicamente é : a partir do momento que a INFRA DE REDE do servidor Oracle já consegue conectar externamente (por questão de segurança, muitas vezes o servidor de banco de dados tem BLOQUEADAS as rotas de rede externas), vc cria um ACL (ie, um objeto do banco que te AUTORIZA a acessar o servidor externo), e depois criar uma WALLET, uma ‘carteira digital’ no servidor Oracle, e inserir nessa carteira os Certificados de acesso que vc precisa pra conectar via HTTPS ….

        E, é claro : imagino que esse seu “acesso via HTTPS” acabe implicando em consumir algum tipo de WEB SERVICE, confere ? É completamente POSSÍVEL vc fazer isso na mão com UTL_HTTP e funções básicas do tipo, MAS COM CERTEZA é muito MUITO mais prático e fácil vc usar as funções de consumo de WEB SERVICE presentes no APEX : muitas vezes vale MUITO a penavc instalar o APEX mesmo que vc não vá programar com ele, mas só pra poder usar no seu PL/SQL funcionalidades como a APEX_WEB_SERVICE , https://oracle-base.com/articles/misc/apex_web_service-consuming-soap-and-rest-web-services é exemplo….

      Visualizando 2 posts - 1 até 2 (de 2 do total)
      • Você deve fazer login para responder a este tópico.
      plugins premium WordPress