ETL no trabalho

O que é ETL?

Você pode vir de outra linguagem de programação ou pode ter iniciado um novo negócio e deseja reunir dados para incluir em seu novo sistema de software. Ou talvez você queira fazer backup de seus dados para que possam ser convertidos em formatos de dados diferentes. Na verdade, qualquer situação em que você deseja obter dados de uma fonte e colocá-los em outro lugar. O ETL entra em ação nesses casos. ETL significa Extract, Transformar e euoad. Você pode ler mais sobre ETL e seu processo aqui.

https://en.wikipedia.org/wiki/Extract,_transform,_load

ETL pode ser a manhã de segunda-feira da computação

Muitas vezes, o ETL pode ser uma tarefa dolorosa que envolve muito trabalho manual e repetitivo. Uma situação típica é aquela em que temos muitos dados reunidos em uma coleção de planilhas do Excel. A tarefa pode ser incluir esses dados em seu banco de dados para usar em um desktop ou aplicativo da web. Extrair dados de uma planilha Excel manualmente costuma consumir muito tempo. Em seguida, você deve transformar os dados em um formato que as fontes de dados de destino possam entender e usar para carregar dados em seus próprios conjuntos de dados.

Como o Delphi pode economizar seu tempo em ETL?

Delphi tem excelente suporte para lidar com tarefas ETL. Temos vários componentes em Delphi projetados especificamente para simplificar o processo ETL. Na maioria dos casos, você só precisa arrastar e soltar alguns componentes em seu formulário, definir algumas propriedades e, talvez, com uma quantidade muito pequena de código para uni-los, a tarefa está concluída. Vamos dar uma olhada em alguns componentes que você pode usar em seu processo ETL.

  • FireDAC
  • TFDBatchMove
  • LiveBindings
  • Conectores Corporativos
  • TRESTClient
  • Cliente SOAP

O que é FireDac e como você pode usá-lo?

FireDac é uma biblioteca universal de acesso a dados que pode ser usada tanto em VCL quanto em aplicativos Firemonkey de vários dispositivos. Ele tem amplo suporte para sistemas de gerenciamento de banco de dados relacional SQL e fontes de dados não SQL.

O FireDAC também inclui os componentes necessários para mover dados de uma fonte para outra. Aqui você pode vê-lo em ação.

Neste exemplo, usamos o componente “TFDBatchMove” para mover dados de um RDBMS para um arquivo do Microsoft Excel. Também mostramos o inverso com a transferência de dados na direção oposta do Excel. Além disso, você pode ver que existem apenas duas linhas de código para fazer tudo acontecer!

Como vinculamos componentes a outros componentes ou fontes de dados usando LiveBindings?

LiveBindings são a maneira visual de vincular componentes <> componentes e componentes <> fontes de dados. Você pode controlar as propriedades de um componente usando outro componente sem nenhum código. Você pode usar o designer Live Binding ou o Assistente de Live Binding para fazer isso. É apenas arrastar e soltar uma conexão para vincular componentes e conjuntos de dados.

Um exemplo de Live Bindings

Vamos trabalhar com um exemplo para demonstrar LiveBindings.

Primeiro, crie um novo projeto VCL e adicione um TFDMemTable e adicione alguns dados à tabela de memória. Em seguida, adicione um TDateSource e conecte-o à tabela de memória usando a propriedade do conjunto de dados. Em seguida, adicione alguns rótulos, um TSpinEdit, componentes TEdit até que seu formulário se pareça com o formulário abaixo. Agora adicione um TDBNavigator e conecte-o à fonte de dados.

Dê alguns nomes memoráveis para todos os componentes para que possamos identificá-los no LiveBindings Designer. Se você deixar tudo com os nomes padrão, como TEdit1, TEdit2, rapidamente se tornará confuso na visualização LiveBindings.

Agora, clique com o botão direito no formulário e selecione “Vincular visualmente” no menu. Arraste e conecte as propriedades desses componentes aos campos da tabela de memória. É isso, está feito!

Agora execute o aplicativo e você pode inserir, editar e excluir dados na tabela de memória usando esses componentes sem uma única linha de código.

ETL com FireDac e LiveBindings

Alguns vídeos mais aprofundados de LiveBindings para facilitar ETL

O que são esses Delphi Enterprise Connectors?

Como discutimos anteriormente, o FireDAC tem muitos componentes para oferecer suporte a uma variedade de conexões corporativas diferentes. Usando o CData Enterprise Connectors, podemos ir além dos bancos de dados SQL / No SQL regulares e podemos nos conectar a muitos outros tipos de aplicativos e recuperar dados deles como qualquer banco de dados regular. Os conectores corporativos oferecem suporte a mais de 180 tipos de fontes de dados corporativos. Você pode acessar esses dados usando seus componentes regulares usando ligações ativas ou manualmente em seu código. Visite este link para descobrir quais componentes e aplicativos corporativos são suportados pelo FireDAC. usando os conectores corporativos:

https://www.cdata.com/firedac/

Mais vídeos sobre ETL usando conectores corporativos

Como acessar serviços baseados em REST usando Delphi?

Hoje, muitos aplicativos da web têm um API REST. Delphi tem uma grande seleção de componentes para lidar com solicitações REST.

TRESTClient - É o componente que executa as solicitações REST. Possui propriedades para definir autenticadores e URL base que precisam executar a solicitação.

TRESTRequest - Este componente contém os dados sobre a solicitação HTTP. Ele define o método HTTP, os parâmetros do cabeçalho, os parâmetros do corpo e muitos outros parâmetros opcionais.

TRESTResponse - Este componente conterá a resposta após a execução da solicitação. Ele incluirá todos os códigos de erro (se houver) e todos os dados retornados na forma de JSON.

Aqui está um vídeo do RAD Studio's REST Support

Como fazer chamadas de procedimento remoto usando o cliente SOAP?

SOAP significa Ssimples Object UMAcesso Protocol. Delphi suporta cliente e servidor SOAP. Com o SOAP podemos acessar dados remotos ou chamar procedimentos remotos. SOAP tem um arquivo chamado WSDL que descreve as estruturas de dados e métodos disponíveis no SOAP. Delphi tem um assistente para gerar definições de interface e informações de conexão de um documento WSDL retornado por um servidor SOAP.

Mais sobre ETL e SOAP

Para uma explicação mais detalhada de como criar um servidor Delphi SOAP e usar o assistente para gerar definições de interface e informações de conexão, visite este post do Embarcadero MVP Craig Chapman.

Conclusão

ETL é um processo regular em muitas empresas modernas. Pode ser uma tarefa árdua ou repetitiva se você não tiver as ferramentas adequadas disponíveis. Felizmente, o Delphi tem muitos componentes e técnicas para suportar ETL com codificação mínima.


Reduza o tempo de desenvolvimento e chegue ao mercado mais rapidamente com RAD Studio, Delphi ou C ++ Builder.
Projeto. Código. Compilar. Implante.
Iniciar avaliação gratuitaAprimore hoje

Delphi Community Edition grátisEdição gratuita da comunidade C ++ Builder