Guido Vrola - Fotolia

Intégration de données : comment identifier et tester les fonctions

Avant d’évaluer et de choisir un outil d’intégration de données, il convient de tester les fonctions qui conviennent le mieux à votre entreprise.

Choisir le bon outil d’intégration est clé pour répondre à la demande croissance des données dans les entreprises. L’outil que vous allez sélectionner pour intégrer et traduire ces données en information utile doit correspondre parfaitement à vos exigences. Au risque de devenir un outil très couteux et inutile. Pire, le cas échéant, cela marquera un retour du code personnalisé et des scripts manuels.

Le processus d’évaluation d’un outil d’intégration de données démarre en listant les exigences, comme les systèmes sources et cibles, le type de données et les méthodes d’intégration, et d’y appliquer des priorités. Ces exigences peuvent comporter nombre de variables. Il se peut que vous disposiez de données structurées et non structurées et qu’il faille donc les intégrer. Les plateformes d’intégration de données sont aujourd’hui capables de répondre à beaucoup de cas d’usages : les processus d’un ETL, l’intégration applicative, l’intégration de services Cloud et du temps réel, la virtualisation des données, le nettoyage de données et le profiling de données.

Une fois cette liste d’exigences en place, vous pouvez énumérer les fonctions et les outils spécifiques pour comparer les produits. Le but ultime est que votre entreprise choisisse l’outil qui convienne le mieux à ces usages et à son budget, et qui peut être déployé avec les ressources et les compétences en interne. Il ne s’agit pas de sélectionner le produit le plus fourni en termes de fonctionnalités, ni celui encensé par les analystes.

Quels sont les critères à évaluer

Pour simplifier le processus de sélection, il faut classer les fonctions en 4 catégories : celles indispensables, celles qu’on devrait avoir, celles qu’on juge utiles et les inutiles.

Les fonctions nécessaires doivent être indéboulonnables : si une plateforme ne les possède pas, elle doit être éliminée de toute considération. Les fonctions de la seconde catégorie se situent dans une zone grise, entre les plus indispensables et les plus utiles, mais certaines fonctions peuvent avoir un impact majeur en matière de productivité, de dimensionnement et de capacité de maintenance. Bien que celles listées dans la 3e catégorie ne soient pas requises, ce sont souvent elles qui  permettent de différencier une solution.

Parfois, lorsqu’on cherche à savoir si tel outil a la bonne fonction, on peut se dire : « oui, cela correspond à mes critères, mais… ». Derrière ce « mais » peut se cacher du code spécifique ; un add-on, un outil tiers ; une édition particulière, une future fonction dans une future version. Ces exceptions impliquent donc de passer plus de temps et de dépenser plus pour répondre aux exigences. Il convient donc de savoir comment prendre en main cela, pour à la fois obtenir une évaluation objective et éviter les surprises.

Si une fonction indispensable manque à l’appel, il est habituel d’avoir la réponse suivante : le code spécifique. Mais attention : il est nécessaire d’évaluer le coût en termes de temps passé et de ressources, pour au final calculer s’il est préférable de passer outre la fonction ou de choisir une plateforme qui la propose.

Quelles sont les fonctions à considérer

La liste des exigences variera en fonction des entreprises. Toutefois, les fonctions cœur des outils d’intégrations de données, listées ci-dessous, sont généralement celles que les entreprises considèrent comme indispensables :

  • Accès aux données multi-sources. La solution sélectionnée doit permettre d’accéder directement à plusieurs structures de données et typologies d’informations :
    • Les bases de données relationnelles, en colonnes, In-Memory et NoSQL ainsi les systèmes OLAP et autres bases spécifiques
    • Les fichiers plats, comme ceux délimités par des tabulations, points-virgules ou encore des feuilles de calcul
    • Des technologies de messaging inter-applicatives comme des EMS (Enterprise Messaging Systems), XML et JSON
    • Des protocoles spécifiques à l’industrie (pour les secteurs de la santé ou de la finance, par exemple)
    • EAI (Enterprise Application Integration) et services de données
    • Intégration avec les applications d’entreprise comme les ERP et les CRM
    • Intégration avec les applications SaaS
    • Intégration avec les applications mobiles
    • Données non structurées, comme celles liées aux media sociaux et les emails
    • Les protocoles propriétaires pour communiquer avec des capteurs ou encore mainframes.
  • Ecrire des données vers des systèmes cibles. Les outils d’intégration de données doivent être capables d’insérer, de modifier et de supprimer des données sur les systèmes cibles. Par exemple, les entrepôts de données ou les bases de données opérationnelles qui associent les données de plusieurs sources pour effectuer des traitements transactionnels.
  • Interagir avec les sources et les cibles. Une solution d’intégration doit supporter beaucoup de méthodes de capture et de diffusion des données. L’ingestion en temps réel et le streaming doivent aussi être une fonction standard, tout comme l’acquisition de données à partir d’événements.
  • Transformer les données. Les fonctions de bases de manipulation de données sont ici clé, comme la conversion des types de données, des chaînes de caractère, les fonctions mathématiques, etc. C’est aussi le cas pour les fonctions de data mapping (join, merge, lookup, aggregate) et de workflow. De plus, les solutions doivent aussi proposer l’orchestration de workflow.
  • Un développement efficace. Une autre fonction clé est l’interface graphique de développement qui facilite la création de workflow d’intégration et de mapping de la source vers la cible. Cela peut aussi être accompagné par des fonctions de gestion des développements, comme le contrôle de version, le test et la possibilité d’ajouter des commentaires. Les solutions d’intégration de données doivent aussi proposer des fonctionnalités interactives de test et de debugging, et la capacité de créer des composants ré-utilisables.
  • Fournir plusieurs options de déploiement. Une plateforme d’intégration de données doit supporter des modèles opérationnels, à la fois sur site et dans le Cloud – soit via des offres hébergées soit sous la forme SaaS. Les serveurs virtualisés et les environnements distribués doivent aussi être pris en compte.

Si, certes, les fonctions listées ci-dessous ne sont pas des « must-haves », elles peuvent toutefois accroître la productivité des développeurs dans la création de processus de transformation de données :

  • Le support des dimensions à évolution lente (SCD – Slowly changing dimension)
  • Personnalisation des logs et gestion des erreurs
  • Parsing des chaînes de caractères
  • Traitement des jeux de données.

D’autres fonctions, que l’on pourrait classer comme « should-haves » - les fonctions qu’il devrait y avoir – porte sur le support d’outils de gestion et de développement par équipe et  de gestion des releases. Un stockage à base de repository et le traitement des méta- données en sont d’autres.

Parmi les fonctions classées comme utiles, on retrouve :

  • Génération automatique de la documentation avec une représentation graphique des workflows
  • Outils de profiling de données pour analyser l’information dans les sources et les cibles
  • Outils de qualité de données pour nettoyer et enrichir
  • Intégration avec d’autres outils de monitoring, de gestion et de développement
  • Parallélisation des processus d’intégration et chargement des données.

Autres critères à prendre en compte

Les éléments listés ci-dessous sont souvent inclus dans les critères d’évaluation. Mais puisqu’ils sont subjectifs, il est important de gauger leur pertinence dans votre entreprise :

  • Les performances de chargement. Cela peut varier en fonction de la complexité des processus d’intégration, des systèmes sources et du volume de données. La bonne pratique est de créer plusieurs scenarii d’intégration pré-établis et de comparer comment se comportent les différents produits.
  • Dimensionnement. Vous pouvez aussi accompagner les tests de performance de stress tests qui simulent une croissance anticipée du nombre et de la taille des sources et des cibles.
  • Faciliter d’utilisation. Cela peut varier selon les compétences et les connaissances des développeurs.
  • Formation au produit. Cela peut comprendre des programmes de formation, physique, en ligne, en direct ou pré-enregistré.
  • Documentation et support. Les développeurs peuvent avoir accès à une aide en ligne ou une documentation technique. La méthode apportée par le fournisseur (Q&A en ligne, chat, discussions avec des agents et sur site) et leur tarification doivent aussi être prises en compte dans l’évaluation.

Traduit et adapté par la rédaction

 

Pour approfondir sur Middleware et intégration de données