Table des matières
Qu'est-ce que l'ETL?
Vous venez peut-être d'un autre langage de programmation ou vous avez peut-être démarré une nouvelle entreprise et souhaitez collecter des données à inclure dans votre nouveau système logiciel. Ou peut-être souhaitez-vous sauvegarder vos données afin qu'elles puissent être converties dans un format de données différent. En fait, toute situation où vous souhaitez obtenir des données d'une source et les placer dans un autre endroit. ETL entre en action dans de tels cas. ETL signifie Extract, Transformer et Load. Vous pouvez en savoir plus sur ETL et son processus ici.
https://en.wikipedia.org/wiki/Extract,_transform,_load
ETL peut être le lundi matin de l'informatique
Très souvent, ETL peut être une tâche pénible qui implique beaucoup de travail manuel et répétitif. Une situation typique est celle où nous avons des tonnes de données rassemblées dans une collection de feuilles de calcul Excel. La tâche peut être d'inclure ces données dans votre base de données pour les utiliser dans une application de bureau ou Web. Extraire manuellement les données d'une feuille Excel prend souvent beaucoup de temps. Ensuite, vous devez transformer les données dans un format que les sources de données de destination peuvent comprendre et utiliser pour charger des données dans leurs propres ensembles de données.
Comment Delphi peut-il vous faire gagner du temps sur ETL?
Delphi a génial prise en charge de la gestion des tâches ETL. Nous avons plusieurs composants dans Delphi spécialement conçus pour simplifier le processus ETL. Dans la plupart des cas, il vous suffit de faire glisser et déposer certains composants sur votre formulaire, de définir certaines propriétés et avec peut-être une très petite quantité de code pour le coller ensemble, la tâche est terminée. Jetons un coup d'œil à certains composants que vous pouvez utiliser dans votre processus ETL.
- FireDAC
- TFDBatchMove
- Liaisons en direct
- Connecteurs d'entreprise
- TRESTClient
- Client SOAP
Qu'est-ce que FireDac et comment l'utiliser?
FireDac est une bibliothèque d'accès aux données universelle que vous pouvez utiliser à la fois dans la VCL et dans les applications Firemonkey multi-périphériques. Il prend en charge à la fois les systèmes de gestion de bases de données relationnelles SQL et les sources de données non SQL.
FireDAC comprend également les composants nécessaires pour déplacer les données d'une source vers une autre source. Ici vous pouvez le voir en action.
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!
Comment lier des composants à d'autres composants ou sources de données à l'aide de 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.
Un exemple de Live Bindings
Examinons un exemple pour illustrer LiveBindings.
Tout d'abord, créez un nouveau projet VCL et ajoutez un TFDMemTable et ajoutez des données à la table mémoire. Ajoutez ensuite un TDateSource et connectez-le à la table mémoire à l'aide de la propriété de l'ensemble de données. Ensuite, ajoutez des étiquettes, un TSpinEdit, des composants TEdit jusqu'à ce que votre formulaire ressemble au formulaire ci-dessous. Ajoutez maintenant un TDBNavigator et connectez-le à la source de données.
Donnez des noms mémorables à tous les composants afin que nous puissions les identifier dans LiveBindings Designer. Si vous laissez tout avec les noms par défaut comme TEdit1, TEdit2, cela devient très rapidement déroutant dans la vue 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!
Maintenant, exécutez l'application et vous pouvez insérer, modifier, supprimer des données dans la table mémoire en utilisant ces composants sans une seule ligne de code.
Une vidéo plus approfondie de LiveBindings pour faciliter ETL
Quels sont ces connecteurs d'entreprise Delphi?
Comme nous l'avons vu précédemment, FireDAC possède de nombreux composants pour prendre en charge une variété de connexions d'entreprise différentes. En utilisant les connecteurs d'entreprise CData, nous pouvons aller au-delà des bases de données SQL / No SQL classiques et nous connecter à de nombreux autres types d'applications et en extraire des données comme n'importe quelle base de données ordinaire. Les connecteurs d'entreprise prennent en charge plus de 180 types de sources de données d'entreprise. Vous pouvez accéder à ces données à l'aide de vos composants habituels à l'aide de liaisons dynamiques ou manuellement dans votre code. Consultez ce lien pour découvrir les composants et applications d'entreprise pris en charge par FireDAC. en utilisant les connecteurs d'entreprise:
https://www.cdata.com/firedac/
Plus de vidéos sur ETL à l'aide de connecteurs d'entreprise
Comment accéder aux services basés sur REST en utilisant Delphi?
Aujourd'hui, de nombreuses applications Web ont un API REST. Delphi a une grande sélection de composants pour gérer les requêtes 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
Comment effectuer des appels de procédure à distance à l'aide du client SOAP?
SOAP signifie Simpulser Object UNEaccès Protocol. Delphi prend en charge à la fois le client et le serveur SOAP. Avec SOAP, nous pouvons accéder à des données distantes ou appeler des procédures distantes. SOAP a un fichier appelé WSDL qui décrit les structures de données et les méthodes disponibles dans SOAP. Delphi dispose d'un assistant pour générer des définitions d'interface et des informations de connexion à partir d'un document WSDL renvoyé par un serveur SOAP.
En savoir plus sur ETL et SOAP
Pour une explication plus détaillée de la création d'un serveur SOAP Delphi et de l'utilisation de l'assistant pour générer des définitions d'interface et des informations de connexion, visitez ce billet d'Embarcadero MVP Craig Chapman.
Conclusion
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.