top of page

Cenários no Oracle Data Integrator (ODI): Lidando com a Duplicação de Código e Estratégias de Contorno

  • Foto do escritor: Rodrigo de Oliveira
    Rodrigo de Oliveira
  • 31 de jan. de 2024
  • 2 min de leitura

Atualizado: 5 de fev. de 2024

 

No Oracle Data Integrator (ODI), um cenário é uma instância executável de um objeto, como uma interface/mapeamento, pacote ou procedimento.

Os cenários podem conter versões ou apenas uma única versão que é sempre recompilada (regenerada), sobrepondo o código fonte anterior. No ODI, os cenários são gerados no formato XML e transitam entre os ambientes de desenvolvimento. Um exemplo clássico seria a criação de um ETL no ambiente de desenvolvimento e o cenário referente ao ETL irá para os ambientes de homologação e produção.

 

Uma característica desafiadora dos cenários é o forte encapsulamento dos códigos que compõem o objeto referente ao cenário. Por exemplo, considere um cenário de pacote de carga com uma procedure contendo uma query. Essa query será encapsulada no cenário do pacote de carga. Se a procedure for um passo padrão em todo o ETL criado na sua empresa e você precisar alterá-lo, essa mudança não refletirá nos pacotes de carga que a utilizam, pois o cenário do pacote de carga, conterá o código fonte (query) do procedimento no momento da geração.

Para que a alteração reflita nos pacotes de carga que utilizam aquele procedimento, é necessário regenerar o cenário do pacote de carga. Um exemplo prático pode ser visualizado a seguir:


Criei um pacote simples com um Step de início e fim, e um procedimento no meio.


O procedimento contém uma query simples.


Ao gerar o cenário, a mesma query contida no procedimento é verificada dentro do cenário do pacote.



Em resumo, mesmo que você altere a lógica da query dentro da procedure, isso não afetará diretamente o cenário do pacote que a utiliza. O cenário do pacote encapsula a lógica interna de cada passo, garantindo a independência entre eles. Alterações no procedimento não impactarão o cenário do pacote, desde que o cenário do pacote de carga não seja regenerado.

 

O mesmo princípio é válido para variáveis. Uma alternativa interessante para contornar esses casos é utilizar o cenário do procedimento dentro do pacote de carga, e não o próprio procedimento. Com isso, o cenário do pacote de carga contém uma referência ao cenário do procedimento, não copiando o código para si.

 

Segue o exemplo com o cenário do procedimento dentro do pacote de carga.


E ao gerar o cenário a fonte fica desta forma:


 

Dessa forma, o cenário do pacote passa a fazer referência ao cenário do procedimento que contém a query, resultando em uma total desvinculação. Basta, então, atualizar o cenário relacionado ao procedimento para que todas as alterações realizadas sejam automaticamente absorvidas por todos os pacotes de carga que fazem referência a ele.


A utilização inteligente de referências entre cenários no ODI contribui para um ambiente mais ágil e adaptável. Ao adotar essa estratégia, você otimiza a manutenção, garantindo que as mudanças sejam absorvidas de maneira eficaz.


Espero que essas informações sejam úteis. Em caso de dúvidas ou mais esclarecimentos, estou à disposição. Até a próxima.


Autor

Comentarios


Post: Blog2_Post

Formulário de inscrição

Obrigado(a)

+55 (44) 997072499

©2023 por ODI Today. Orgulhosamente criado com Wix.com

bottom of page