Ícone do site Aprenda Delphi

Seis soluções de ETL de dados para automatizar seus negócios

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.

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.

In this example we use “TFDBatchMove” component to move data from an RDBMS to a Microsoft Excel file. We also show the reverse with the data transferring in the opposite direction back from Excel. Also, you can see that there are only two lines of code to make it all happen!

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

LiveBindings are the visual way to bind components <> components and components <> data sources. You can control properties of a component using another component without any code. You can use the Live Binding designer or the Live Binding Wizard to so. It’s just a drag and drop of a connection to bind components and data sets.

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.

Now, right-click the form and select “Bind Visually” form the menu. Drag and connect the properties of those components to fields in the memory table. That’s it, you’re done!

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.

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 – Is the component which execute REST requests. It has properties to set authenticators and Base URL which need to execute the request.

TRESTRequest – This component hold the data about the HTTP request. It set the HTTP method, Header Parameters, Body Parameters and many other optional parameters.

TRESTResponse – This component will hold the response after executing the request. It will include all error codes (if any) and any returned data in the form of JSON.

Here’s a video of 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 is a regular process in many modern businesses. It can be a chore or repetitive task if you don’t have the proper tools available. Thankfully, Delphi has many components and techniques to support ETL with minimum coding.

Sair da versão mobile