Voici un outil très intéressant pour les spécialistes BI, il s’agit d’un serveur + une interface web de reporting basé sur de l’OLAP. Pour cet article j’utiliserai la version 2.5 distribué sous la licence apache V2.
OLAP pour online analytical processing est une technique d’analyse basée sur des cubes multidimensionnels, par opposition nous retrouvons l’OLTP (online analytical transaction processing) qui est en fait la gestion des tables de base de données transactionnelle que nous connaissons tous.
Le but étant de manipuler avec la souris les dimensions et les mesures d’un datawarehouse en temps réel, on peut filtrer, faire glisser ou pivoter les éléments.
Architecture
L’interface web est développée en html, javascript, css et utilise JQuery, il est donc possible de modifier l’apparence ou de l’intégrer dans une application existante.
La partie serveur quant à elle fait appel à la librairie open source Olap4J, la tehnologie RESTful de Saiku peut se connecter à n’importe quelle source OLAP. (Mondrian sur mysql/postgres/db2, Microsoft Analysis Services, SAP BW and Oracle Hyperion)
NB : Suite à mes propres tests j’ai pu connecter et faire fonctionner Saiku sur une base de données InfiniDB étant donné la compatibilité avec mysql server.
Visualisation et exportation des données
En mode tableau, l’utilisateur peut faire des drill-down pour ensuite basculer en mode graphique en cliquant sur un simple bouton, les graphiques sont de types barre, barre empilée, barre 100%, barre multiple, zone, line, grille, point, cascade, et tarte.
Chaque mode à son propre format d’export, en mode tableau c’est en xlsx, csv, pdf et en jpg, png, pdf,svg pour le mode graphique.
Interrogation des données
Lorsque vous manipuler les données, le serveur construit les demandes en MDX puis dans le SQL propre au SGBD, vous n’avez donc pas besoin de compétences dans ce langage de requêtes, vous pouvez toutefois passer en mode manuel.
Sécurité
Les différents utilisateurs sont gérés avec un fichier de configuration dans WEB-INF/users.properties. Viennent ensuite les rôles qui sont gérés grâce au Framework de spring, ceux qui l’utilisent reconnaitront ce fichier xml : saiku-server/tomcat/webapps/saiku/WEB-INF/applicationContext-spring-security.xml
Les accès peuvent être stockés en base de données ou dans le LDAP, modifier la balise « import resource »
LDAP | JDBC |
<import resource= »applicationContext-spring-security-ldap.xml »/> | <import resource= »applicationContext-spring-security-jdbc.xml »/> |
Installation
Le plus simple étant de tester l’application directement en live à cette adresse: Démo Saiku sachez que l’application est disponible pour Windows et linux disponible ici: Site meteorite.bi
Le package windows est très complet et contient les éléments suivants : Un serveur tomcat, le serveur et le client saiku, une base de données embarquée avec un shéma nommé foodmart ainsi qu’un schéma mondrian connecté à cette base.
Ma préférence reste l’installation sous linux, un war à déployer sur un serveur tomcat
- Installation de Tomcat6
sudo apt-get install tomcat6 tomcat6-admin
Mettre les variables –Xms512m et –Xmx1024m dans CATALINA_OPTS du /etc/profile
- Télécharger les deux archives WAR
Renommer saiku-webapp-2.5.war en saiku.war avant de déployer sur le tomcat
- Installer le cube OLAP
Aller dans saiku-server/tomcat/webapps/saiku/WEB-INF/classes/saiku-datasources/ pour défnir la connexion
En cas d’utilisation de JDBC, ajouter le driver dans le répertoire saiku-server/tomcat/webapps/saiku/WEB-INF/lib/
Conclusion
Un outil open source très moderne et intuitif qui est une très bonne alternative à Jasperserver surtout lorsque l’on sait que Jaspersoft facture leur version professionnelle de l’ad-hoc reporting dans les 20.000 euros, reste à savoir si l’utilisation des domaines dans votre PME vaut vraiment ce surcout 😉
c formidable , merci bien