D'un point de vue pratique ces outils prennent la forme d'un environnement de développement intégré dans lequel un développeur assemble des boites réalisant les différentes opérations :
- Extraction
- Transformation des champs
- Dédoublonnage
- Tri
- Agrégation
- ...
À partir des graphes tracés, l'outil génère des exécutables pouvant être intégrés dans le système. Pour le besoin, c'est plutôt efficace.
Qu'est-ce qui me dérange ? J'ai du mal à les voir comme des outils pour développeurs. Mes problèmes avec le concept d'ETL sont les suivants :
- Couplage : le code est exécuté sur le serveur (dans le cas d'Ab Initio). Il y a un connecteur par vendeur de base de données, il y a peu de possibilité d'abstraction.
- Il est très aisé de générer des graphe complexe difficiles à maintenir
- C'est chiant à tester (tu mets un fichier en entrée, tu croise les doigts pour avoir une bonne sortie 1 minutes après)
Je reconnais que les avantages sont indéniables. Ce n'est cependant pas un outil pour mois : je me sens tout nu sans mon XUnit !