OSBI.FR - Open Source Business Intelligence

Pilotez vos jobs Kettle depuis un serveur Pentaho avec SPARKL

Le Use Case

Imaginons que vous ayez développé pour vos utilisateurs un job Kettle chargé d’effectuer une tâche précise : par exemple intégrer des données dans une base, ou bien encore effectuer des exports au format CSV, XML, Excel, …

Comme vous êtes consciencieux, vous avez planifié quotidiennement ce job PDI avec kitchen et ma foi tout cela fonctionne plutôt bien…

Dans un premier temps, vos utilisateurs sont contents, mais assez vite ils vont vous poser cette question : « Hey, comment on peut lancer nous-mêmes le traitement ? »

Et là ça se complique, car en général il faut accéder au serveur où PDI est installé, puis lancer le job en ligne de commande. Si c’est un serveur Linux, je vous explique même pas la galère (fournir un accès SSH à des business users ?!…)

oldgeek

Bref, le mieux ça serait tout de même de pouvoir invoquer le job depuis une interface web, n’est-ce pas ?

Une première méthode serait d’utiliser le Web Listener « Carte » fourni de base avec Kettle

=> voir mon article « Invoquer ses traitements Kettle depuis un navigateur web »

Mais la meilleure méthode, c’est sans doute de créer une application Sparkl sur un serveur Pentaho 5.

SPARKL : Quésako ?

Sparkl est un plugin Pentaho qui va vous permettre… de créer vos propres plugins Pentaho !sparkl_factory

Sparkl est en effet un plugin de construction d’applications Pentaho, qui se situe à la croisée des 2 composants essentiels de la plate-forme que sont :

  • l’ETL Pentaho Data Integration (PDI)

Avant l’arrivée de Sparkl, la construction d’un plugin Pentaho nécessitait de bonnes connaissances en développement (JAVA & architecture Pentaho) et était donc un facteur limitant en terme de public capable de rajouter des fonctionnalités à la plate-forme.

Avec Sparkl, des personnes qui maîtrisent Kettle et les CTools peuvent créer par eux-même leurs propres plugins, sans aucune compilation de code ni connaissance en Java. Génial non ?

En effet, comme toute application web, Sparkl fournit un front-end (User Interface) basé sur les CTools et un back-end basé sur PDI (à considérer dans ce contexte comme un langage de programmation)

Pour plus de détails sur le fonctionnement de Sparkl, vous pouvez consulter cet article de Pedro Alves :

« Sparkl – A Pentaho Application Builder »

Exemple de création d’un plugin avec Sparkl

Je vais illustrer la création d’un plugin Sparkl avec un exemple très simple : présenter une interface de sélection à un utilisateur, lui permettre de choisir un client dans une liste déroulante, puis générer et envoyer par mail un export des ventes au format Excel.

Regardez plutôt ce que ça donne avec ce plugin « JobLauncher » créé avec Sparkl :

Voici les étapes ayant permis la création du plugin « JobLauncher » avec Sparkl :

  • Création et configuration du plugin
  • Création de l’UI : dashboard CDE « LauncherScreen »
  • Création du job Kettle « kettlejob » pour la génération du fichier Excel et son envoi par mail
  • Appel du job kettle depuis le dashboard avec passage du paramètre <numéro client>

La vidéo ci-dessous illustre la mise en œuvre complète :

Téléchargement

Vous pouvez télécharger le plugin sparkl « JobLauncher » pour le tester sur votre serveur Pentaho (v5.4 CE)

Il suffit de dézipper l’archive et de la placer dans /pentaho-solutions/system puis redémarrer le serveur

Sparklez bien 😉

Soyez le premier à commenter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.


*