Construire un agrégateur de données avec NodeJS

Selon le contexte et les besoins clients, le recours à un agrégateur de données peut s’avérer plus que nécessaire.
Bien que le cadre ne s’y résume pas, prenons le cas d’une entreprise qui souhaite moderniser sa stack technique, et qui dispose de plusieurs micro-applications et de plusieurs sources de données. Dans un tel contexte, l’analyse et la proposition d’un choix technique cible est un travail minutieux qui peut aboutir sur une proposition technique qui s’inscrit dans le temps en termes de réalisation. De ce fait, pour assurer une continuité de service et continuer à implémenter les nouvelles solutions, le recours à un agrégateur de données peut être un choix très avantageux.
Pourquoi NodeJS ?
L’écosystème Javascript/Typescript n’a cessé d’évoluer ces dernières années à travers différents frameworks, et pour ce qui est de construire un agrégateur de données, NodeJS se veut simple, évolutive et facile d’implémentation. En utilisant express JS, un framework backend NodeJS, je vous propose de passer étape par étape à la réalisation de cet agrégateur de données, qui peut également selon l’usage servir de Data Lake (mais ce cas fera certainement l’objet d’un autre article).
Étapes de base (création du projet et configuration)
Installation des dépendances
- express : framework web minimaliste pour Node.js.
- mysql2 : bibliothèque pour interagir avec MySQL.
- mssql : bibliothèque pour interagir avec SQL Server et Azure SQL.
- axios : pour interagir avec l’API REST.
- dotenv : pour la gestion des variables d’environnement.
Configuration des connexions aux sources de données
Puis y ajouter les configurations des sources de données
Quels sont les principaux éléments d’architecture ?
Pour une facilité de découpage et d’implémentation, nous partons sur une architecture en couches (Multi-tiers).

Éditer le fichier app/config/db.config.js pour définir les connexions aux sources de données :
Models
Pour exemple, prenons la définition de models/extranet/user.model.js
Connexion aux sources de données
Éditer le fichier app/models/index.js
Controllers
Editons pour notre cas le fichier controllers/user/user.controller.js
Routes
Créons à présent les routes afin de questionner notre API.
Commençons par le fichier routes/user/user.route.js :
Ensuite éditons le fichier routes/index.js afin de les unifier :
Point d’entrée server.js
Ce fichier permet de démarrer le projet et de l’utiliser via la commande :
Ce fichier est édité comme suit :
Test et utilisation de l’agrégateur de données avec Nodejs
À travers ces étapes, vous arrivez aisément à la fin avec une API fonctionnelle qui vous renvoie des données multiples unifiées ou non en provenance de plusieurs sources diverses.
De ce fait, sans toucher à l’existant, il est possible avec cet agrégateur de pouvoir travailler sans attendre une refonte totale et de préparer progressivement la nouvelle architecture à mettre en place sans avoir une coupure de Service.
Vous souhaitez développer un agrégateur de données avec Node.js ? Notre équipe est prête à vous accompagner ! Contactez-nous dès aujourd’hui pour discuter de votre projet.
