Archive for the 'OSBI' Category

L’API REST JasperServer

Bruno Cargnelli décembre 5th, 2012

Préambule

La demande d’intégration de rapports et de gestion de contenu au sein d’une application web est aujourd’hui incontournable. Cependant plusieurs problématiques telles que la gestion des ressources permettant la génération des rapports, la gestion des droits ou bien encore la gestion des différents formats de sortie souhaités peuvent vite devenir complexes à mettre en œuvre et à maintenir.

Cet article à pour objectif de présenter une solution simple et efficace d’intégration de rapport par l’utilisation de l’API REST de JasperServer (version 4.5 Community Edition).

Présentation de JasperServer

JasperServer (disponible sous deux licences : GPL et commerciale) est la plateforme décisionnelle de JasperSoft, elle propose des fonctionnalités de reporting et d’analyse.

JasperServer est un serveur de rapports interactif, autonome et ad hoc intégrable permettant d’obtenir des informations adéquates liées à un besoin, en temps réel. L’interface n’utilise pas de portail tiers contrairement aux autres plates-formes. On dispose ici d’une application web développée spécifiquement qui permet de créer de nouvelles analyses, de publier de nouveaux documents, de gérer les comptes utilisateurs, leurs rôles, ainsi que les droits d’accès aux différents répertoires et fichiers du référentiel.

screenshoot_jasperserver_1

JasperServer intègre également la gestion des paramètres nécessaires à la génération de rapport. Les contrôles d’entrée des rapports peuvent être mono ou multi-valués, le peuplement des contrôles peut se faire soit par une liste de valeurs pré-définies par le créateur, soit afficher le résultat issu d’une requête effectuée sur une base de données.

screenshoot_jasperserver_2

 

L’API REST

Depuis la version 4, JasperServer met à disposition une API RESTful basée sur les standards offerts par le protocole HTTP (utilisation de GET, POST, PUT, DELETE pour la gestion des ressources).

Chaque service offre toutes les fonctions basiques de JasperServer tel que l’exécution, l’ajout ou la suppression de rapport, une gestion complète de son arborescence, etc…

URL type d’accès à l’API REST:

http://<host>:<port>/jasperserver/rest/

Une illustration de l’appel vers chacun des services sera réalisé par un outil appelé REST Client qui est un plugin de FireFox permettant de concevoir des requêtes HTTP basées sur RFC2616 (HTTP/1.1).

L’authentification

L’accès aux ressources par le service REST n’est possible que pour un utilisateur de JasperServer déjà identifié.

A ce titre, l’API offre deux types d’authentifications possibles sur le même service :

URL du service d’authentification
http://<host>:<port>/jasperserver/rest/login/
Méthode Description
POST Méthode d’authentification a privilégier, celle ci retourne un jeton de session réutilisable.
GET Méthode d’authentification de test. Celle-ci est facilement appelable depuis un navigateur web, cependant aucun jeton de session n’est renvoyé.
Argument Type Description
j_username Text Login de l’utilisateur
j_password Text Mot de passe de l’utilisateur

 

 
Continue Reading »

Analysez vos statistiques web avec Google Analytics et Pentaho

Sylvain Decloix février 28th, 2012

Introduction

Mesurer les statistiques de connexion d’un site web est désormais devenu incontournable dans de nombreux domaines d’activités.

Comprendre les comportements, les profils et les caractéristiques des internautes sont des facteurs déterminants pour la visibilité, le succès et donc la longévité de nombreux sites.

Ceci est tout particulièrement vrai pour les sociétés dont le business model repose exclusivement sur une présence sur la toile :  e-commerce, services en ligne…

Habituellement, pour récupérer les statistiques de connexion d’un serveur web, on utilise des outils spécifiques de mesure d’audience : Xiti, Piwik, Mint, Google Analytics

Lorsque ce dernier est utilisé conjointement avec Google AdWords, il devient même possible de calculer le retour sur investissement (ROI) d’achats de mots clés par rapport au trafic généré.

Cet article vous propose de découvrir :

  • Comment récupérer simplement des statistiques de connexion Google Analytics avec l’ETL open source Pentaho Data Integration (PDI)
  • Comment analyser rapidement les données récupérées avec l’outil de modélisation intégré dans PDI
  • Comment publier efficacement les analyses sur un serveur décisionnel Pentaho

Continue Reading »

Les tableaux de bords dans Pentaho avec les C*tools

admin janvier 2nd, 2012

Introduction

Dans une suite décisionnelle, le tableau de bord (ou « dashboard ») est un élément clef pour fournir des informations synthétiques facilement accessibles.

Le pilotage stratégique, le pilotage opérationnel et les indicateurs de performances (KPIs) sont autant de cas d’utilisations des tableaux de bords. La plupart du temps, un dashboard présente un maximum d’informations dans un minimum de place, en faisant appel à une grande interactivité et à de multiples composants graphiques.

Mettre en place des tableaux de bords dans la version libre (Community) de Pentaho n’a pas été toujours une chose très aisée (ce n’est pas le cas de la version Enterprise qui propose un module WYSIWYG full Web à destination des utilisateurs métier).

Dans les premières versions de la plate-forme, les dashboards devaient être codés directement en langage JSP (Java Server Page), ce qui nécessitait une connaissance très avancée des classes Java internes, des libraires graphiques (JFreeChart) et du fonctionnement des séquences d’actions (Xactions).

Très difficile donc (voir impossible) de mettre en place des dashboards sans avoir un profil de développeur JAVA !!

C’est dans ce contexte qu’est né en 2009 le projet communautaire Pentaho CDF (Community Dashboard Framework), à l’initiative de Pedro Alves (de WebDetails)

Son objectif était simple: fournir une API complète permettant de s’affranchir de la complexité interne de Pentaho grâce au paradigme MVC (Modèle-Vue-Contrôleur)

Au fur et mesure, d’autres projets se sont greffés à Pentaho CDF, pour constituer ce qu’on appelle désormais les « C*tools » :

  • CDA (Community Data Access), pour accéder de manière simple et flexible à de multiples sources de données (en SQL, MDX, XML, PDI, Metadata, scripting…). CDA dispose notamment d’un mécanisme de mise en cache et permet d’effectuer des jointures entre des sources hétérogènes par simple configuration XML.
  • CCC (Community Charting Components), une très bonne librairie de visualisation graphique s’appuyant sur Protovis, un projet open source de data-visualization (Javascript+SVG)
  • CST (Community Startup Tabs), un plugin qui permet de paramétrer les onglets à afficher au lancement de la « Pentaho User Console », en fonction des droits de l’utilisateur connecté
  • CDE (Community Dashboard Editor), pour la création et la publication de tableaux de bords directement depuis l’interface web de Pentaho.

Les C*tools permettent de délivrer des tableaux de bord d’une qualité professionnelle, en minimisant la complexité liée à de l’écriture de code. Jetez plutôt un œil sur cette présentation afin d’en prendre pleinement la mesure :

Continue Reading »

Geokettle 2.0. Une entrée dans la cour des grands

Cédric Darbon juillet 20th, 2011

Depuis peu, la Release Candidate de Geokettle 2.0 est disponible en téléchargement sur Sourceforge . Pour rappel, cet ETL basé sur Pentaho Data Integration ajoute à ce dernier des fonctionnalités dédiées à la manipulation de l’information géographique. Si les premières versions de GeoKettle proposaient déjà des fonctionnalités intéressantes (cf. billet précédent), il faut bien reconnaître que pour cette version, les équipes de Spatialytics ont clairement mis le paquet afin de proposer une version corrigée et très enrichie de Geokettle. Cette dernière, encore basée sur un coeur PDI 3.2 fonctionne en 32 ou 64bits ; des réflexions sont en cours pour porter les fonctionnalités spatiales vers les versions 4.x de PDI.

Premières impressions

Un installateur dédié

Geokettle dispose désormais d’un script d’installation dédié. L’installation par décompression d’un zip reste bien entendu possible mais désormais, les géomaticiens n’auront plus d’excuses pour ne pas installer cet outil sur leur poste.

Une prévisualisation cartographique des données

Un mécanisme de prévisualisation cartographique est désormais disponible pour toutes les étapes. Un onglet « Vue géographique » permet de visualiser la représentation des différentes colonnes géométriques présentes dans le flux. Les actions de zoom, de centrage, d’interrogation d’objets et de personnalisation des styles cartographiques sont également proposées. A l’usage, cet onglet se révèle bien pratique pour vérifier sur des jeux de données restreints que les traitements à réaliser sont corrects avant de lancer ces derniers sur des gros volumes.

Prévisualisation cartographique des données

Continue Reading »

Manipuler le GML avec Pentaho Data Integration

Cédric Darbon mars 8th, 2011

1. Contexte

L’utilisation du format GML est aujourd’hui courante dans les fichiers d’échanges XML. Parallèlement, les outils ETL procurent de réels avantages pour mettre en place les chaines de traitements liées à ces besoins d’échanger (changements de format et/ou de structure de la données, échanges entre plateformes, etc.). Aujourd’hui, et à moins de disposer d’un ETL spatial évolué ou de faire appel à des librairies externes comme OGR, il faut bien reconnaitre que la manipulation du GML dans les ETL Open source non spatiaux peut s’avérer fastidieuse, ce format étant par nature assez verbeux (emboitement de nœuds successifs). Pour les amateurs de Kettle (Pentaho Data Integration), il existera pourtant prochainement une solution : Exploiter conjointement la librairie JTS et la future brique améliorée de lecture XML disponible dans la prochaine version PDI 4.2 (en cours de développement). Les paragraphes suivants expliquent la démarche à suivre pour réaliser ce genre de traitements.

2. Mise en pratique

Pour notre exemple, nous disposons des outils suivants :

Pentaho Data Intégration permet nativement de faire appel à des librairies Java au sein des étapes « Appel script interprété Rhino ». Pour pouvoir exploiter la librairie JTS à travers ces étapes, il faut déposer au préalable les jars « jts-1.11.jar » et « jtsio-1.11.jar » dans le dossier libext de PDI.

2.1. Principe

Les transformations proposées ci-après correspondent à deux besoins simples :

  • Comment lire un contenu GML pour pouvoir l’intégrer en base de données spatiale ?
  • Comment produire un fichier XML avec du contenu au format GML à partir d’une base de données spatiale ?

2.2. Intégrer un contenu GML en base de données spatiale

Dans cet exemple, nous disposons d’un fichier XML regroupant des îlots agricoles (entité administrative utilisée par les agriculteurs dans le cadre de la Politique Agricole Commune pour prétendre au versement d’aides européennes) et des parcelles culturales (limites d’une même culture = les « champs »).

  • Un îlot peut contenir une ou plusieurs parcelles culturales et possède une géométrie de type « polygone » équivalente à l’union géométrique des parcelles qui le compose,
  • Une parcelle possède une géométrie de type « polygone » et ne peut être rattachée qu’a un seul îlot.

Continue Reading »

Un plugin Kettle pour Pentaho Metadata

Sylvain Decloix janvier 21st, 2011

Préambule

Il y a quelques temps déjà, je suis tombé sur un plugin très intéressant pour le serveur Pentaho, à savoir le MetadataSample Plugin.

Ce petit plugin développé par Andy Grohe, démontre comment on peut interagir avec le Web Service utilisé par le WAQR de Pentaho (Web Ad Hoc Query Reporting) afin de proposer d’autres possibilités de présentation pour l’interface utilisateur (GUI).

Pour rappel, le WAQR, c’est le module web disponible dans Pentaho (versions CE & EE) qui permet de construire un rapport à partir de la couche de métadonnées, sans aucune connaissance du SQL par l’utilisateur final. C’est assez pratique (par exemple) pour réaliser des exports Excel en manipulant simplement des vues et des colonnes métier. Je détaillerai tout ceci dans des prochains articles…

Après avoir développé cet été le plugin « BIRT ODA Pentaho Metadata Plugin », je me suis dit qu’il était finalement intéressant de mixer le travail d’Andy et le mien pour permettre à ce bon vieux Kettle de récupérer lui aussi des données depuis des domaines de métadonnées « Pentaho Metadata ».

Quel intérêt ?

Prenons un exemple simple, sur la base de données SampleData embarquée dans le serveur Pentaho de démo.

Imaginez que vous souhaitiez générer avec Kettle un fichier Excel synthétisant le montant total des ventes par gamme de produit (ProductLine) et par client (CustomerName), tout ça pour la France.

Votre traitement va ressembler à ceci :

L’ordre SQL à cela (3 jointures, un GROUP BY, une clause WHERE) :

SELECT
CUSTOMER_W_TER.TERRITORY,
CUSTOMER_W_TER.COUNTRY,
CUSTOMER_W_TER.CUSTOMERNAME,
PRODUCTS.PRODUCTLINE,
SUM (ORDERDETAILS.QUANTITYORDERED * ORDERDETAILS.PRICEEACH) AS TOTAL
FROM
PRODUCTS INNER JOIN ORDERDETAILS ON PRODUCTS.PRODUCTCODE = ORDERDETAILS.PRODUCTCODE
INNER JOIN ORDERS ON ORDERDETAILS.ORDERNUMBER = ORDERS.ORDERNUMBER
INNER JOIN CUSTOMER_W_TER ON ORDERS.CUSTOMERNUMBER = CUSTOMER_W_TER.CUSTOMERNUMBER
WHERE
CUSTOMER_W_TER.COUNTRY = 'France'
GROUP BY
CUSTOMER_W_TER.TERRITORY,
CUSTOMER_W_TER.COUNTRY,
PRODUCTS.PRODUCTLINE,
CUSTOMER_W_TER.CUSTOMERNAME

Avec le plugin d’extraction depuis une source Pentaho Metadata, cela va être un peu plus simple, puisque tout se gère dans une interface spécifique :

Dans ce cas, il suffira juste de sélectionner les 5 colonnes métiers utiles, et selon le type d’agrégateur pour le champ « Total » défini dans la couche de métadonnées, la consolidation sera automatique…

Bien sûr les colonnes métiers peuvent être traduites en français, italien, espagnol, etc… Pentaho Metadata gère le i18n.

Dans la vidéo qui suit, vous allez vous rendre compte que selon l’utilisateur avec qui on se connecte, l’accès aux modèles métiers est sécurisé: seul « Joe » accède aux 3 modèles (mais pas Suzy ou Pat). Cela serait valable également pour les colonnes métiers (sauf que dans le metadata de démo ce n’est pas configuré). On pourrait également dicter des règles filtrage au niveau des lignes retournées et non plus des colonnes (« row-level filtering ») : par exemple Joe ne pourrait voir que les données pour la France, Suzy pour les USA et Pat pour l’Italie…

Démonstration

Rien de telle qu’une vidéo pour mieux appréhender le fonctionnement du plugin :

Installation

Le plugin est disponible en version beta (v0.8) sur labs.atolcd.com, où vous trouverez d’ailleurs d’autres contributions plutôt intéressantes dans le domaine de l’OSBI, mais aussi de l’ECM, des SIG et des CMS :

  • Un plugin Kettle pour écrire directement dans des DataList Alfresco via le standard CMIS :-)
  • La version 1.0 de Geo Analysis Tool (portée sous GWT). J’en reparlerai ici bientôt également…

Pour que le plugin fonctionne, vous devez utiliser obligatoirement Kettle 4.0 ou 4.1 et un serveur Pentaho 3.6 ou 3.7.

Guide d’installation :

  • Décompresser le fichier « PentahoMetadata_Kettle_Plugin-0.8.zip » dans le répertoire d’installation de Kettle \plugins\steps. Un répertoire « MetadataPlugin » est créé. Celui-ci contient la librairie java, l’icône de la brique au format png ainsi qu’un fichier « mqlQuery.xaction »
  • Copier le fichier « mqlQuery.xaction » dans le répertoire \pentaho-solutions\system du serveur Pentaho
  • Démarrer votre serveur Pentaho , lancer Kettle puis tester cette nouvelle étape, vous la trouverez dans le dossier « Extraction »

Pourquoi une version beta ?

Ce plugin a été finalement développé en très peu de temps, surtout pour le « fun ». :-)

Bien sûr il y a des améliorations à apporter :

  • Pouvoir ajouter simplement une condition de filtrage dans l’étape via une interface « user friendly » et non une contrainte MQL (dont il faut connaître la syntaxe XML)
  • Rajouter des contrôles d’erreurs (ajout d’exceptions Java) notamment lorsqu’il y a des soucis d’accès au web service et/ou au serveur Pentaho (ça manque)
  • Et surtout, adapter le plugin aux évolutions de la plate-forme afin d’attaquer d’ici peu l’API prévue dans Pentaho 4. James Dixon a déjà fourni quelques éléments sur ce sujet fin 2010 dans son « JimmyLabs », de la doc techniquement fortement intéressante !

Si jamais vous trouvez des bugs, vous pouvez les notifier dans le gestionnaire de bugs afin qu’une version stable 1.0 voie le jour ;-)

Ah j’oubliais, lors du développement du plugin Kettle pour Alfresco, nous avons commencé à rédiger un document assez détaillé (merci Vincent) pour vous aider à coder vous-même vos propres plugins Kettle. A suivre donc, celui-ci sera bientôt disponible sur notre blog technique !

Pentaho: Les différences entre la version gratuite et payante

Sylvain Decloix décembre 17th, 2010

Pentaho est une suite décisionnelle open source commerciale très ouverte dont les différences fonctionnelles entre la version libre gratuite (CE=Community Edition) et la version payante (EE=Enterprise Edition) sont limitées.

Le degré d’ouverture est d’ailleurs bien plus élevé que chez Actuate BIRT ou JasperSoft.

Voici un document de synthèse qui présente dans le détail les différences fonctionnelles entre les 2 versions de Pentaho. Bien sûr, n’oubliez pas que la version Enterprise permet en outre de bénéficier du support directement auprès de l’éditeur !

Ce document, valable pour Pentaho 3.7, vous permettra de constater que la version gratuite de Pentaho permet de déployer une plate-forme décisionnelle complète, et ceci avec une grande qualité d’intégration.

Télécharger le comparatif : Pentaho – Différences versions CE et EE

Prévisualiser le comparatif :

GeoKettle : Quand PDI flirte avec le monde des SIG

Cédric Darbon novembre 12th, 2009

GeoKettle est une version enrichie de Kettle (PDI) incluant des fonctionnalités propres lui permettant de manipuler de l’information spatiale. L’objet de cet article est de présenter les fonctionnalités globales de l’outil et d’en faire ressortir les avantages et limites.

Les fonctionnalités

En plus des fonctionnalités proposées nativement par Kettle et sur lesquelles nous ne reviendrons pas (consulter Sylvain, le spécialiste BI d’Atol pour plus d’infos !), GeoKettle apporte :

Un nouveau type de données « geometry » en plus des types (integer, string, etc.) déjà présents dans Kettle. A la prévisualisation des données, les géométries sont visibles dans leur représentation textuelle Well Known Text (POINT, LINESTRING, POLYGON, etc.) en attendant le « viewer carto » annoncé. Continue Reading »

Personnalisation de Pentaho

Sylvain Decloix octobre 23rd, 2008

Dans le cadre d’un projet Pentaho pour un client du secteur médical, nous avons étendu et amélioré certaines fonctionnalités de base de la plate-forme, notamment en ce qui concerne la partie restitution Web.

Traduction française de la plate-forme

Atol CD a entièrement effectué la traduction de la plate-forme Pentaho 1.7 GA PCI (Pre-configured Installation).
Continue Reading »