decisionnel-opensource

103
Panorama d’outils décisionnels en open source Boughaba Ossama Avril 2007

Upload: api-3746600

Post on 07-Jun-2015

1.149 views

Category:

Documents


1 download

DESCRIPTION

décisionnel open source

TRANSCRIPT

Page 1: decisionnel-opensource

Panorama d’outils décisionnels en open source

Boughaba Ossama Avril 2007

Page 2: decisionnel-opensource

Plan• Bases de données et entrepôt de

données au service de l’entreprise.• ERPs et ETLs.• Postgres comme solution pour les

Systèmes d’informations de demain.• Configuration de Postgres pour la haute

disponibilité.• Configuration de Postgres pour le

décisionnel.

Page 3: decisionnel-opensource

Plan

• Création de tableaux de bords avec JasperReports.

• Outils de décisionnel en opensource.• Alimentation du datawarehouse avec

l’ETL Octopus. • OLAP sur Mondrian.• Conclusion• Questions

Page 4: decisionnel-opensource

Animateur

Boughaba Ossama

• Développeur d’applications d’entreprises • Chef de Projet

Caciopee SARL

[email protected]

[email protected]

Page 5: decisionnel-opensource

CHU IBN ROCHD CASABLANCA

CACIOPEE LA SOCIETE

Société de Services Informatiques

Sept années d’existence

Objectif: devenir une référence en matière de Services Informatiques au Maroc et à l’Étranger.

Page 6: decisionnel-opensource

CHU IBN ROCHD CASABLANCA

CACIOPEE LA SOCIETE

Nous avons adopt d s fin 2000, les m thodologies et les technologies é è éd’aujourd’hui …

®

S.O.A

Page 7: decisionnel-opensource

CHU IBN ROCHD CASABLANCA

CACIOPEE LA SOCIETE

… et matris les plateformes et outils les supportantî é

Page 8: decisionnel-opensource

CHU IBN ROCHD CASABLANCA

CACIOPEE LA SOCIETE

Nos m tiers:é

Développement

Formation

Conseil

Page 9: decisionnel-opensource

Bases de données et entrepôts de données

Au service de l’entreprise

Page 10: decisionnel-opensource

Bases de données & Datawarehouse

Contexte : • L’élargissement des secteurs d’activité et

les évolutions dues à la mondialisation.• La concurrence accrue et l’obligation de

sortir rapidement des produits innovants.

Page 11: decisionnel-opensource

Bases de données & Datawarehouse

Implications : • Le besoin permanant d’accéder aux

données d’exploitation.• Le besoin accru d’accédé aux données historiées

à fin de vérifier les performances et dessiner la stratégie.

Page 12: decisionnel-opensource

Système d’information et fonctions des organismes

Page 13: decisionnel-opensource

Bases de données & Datawarehouse

Solution : • Les SI en datawarehouses et les outils de

requêtage permettent de dégager l’information stratégique.

Page 14: decisionnel-opensource

Bases de données & Datawarehouse

Sources et utilisation du datawarehouse

Page 15: decisionnel-opensource

ERPs et ETLs

Page 16: decisionnel-opensource

L’ERP

• L’idée de l’ERP (Entreprise Ressource Planning) est l’idée d’un outil informatique taillé entreprise qui :– Emane d’un concepteur unique.– Couvre d’une façon modulaire plusieurs ou la

totalité des activités de l’entreprise.– Repose sur une base de données unique.– Garantie la piste d’audit.

Page 17: decisionnel-opensource

L’ERP

• Deux dimensions capitales pour l’ERP– Le degrés d’intégration.– La couverture opérationnelle.

Page 18: decisionnel-opensource

L’ERP

• La répartition des coûts dans un projet ERP.

Page 19: decisionnel-opensource

Point forts en statistiques de l’ERP

Page 20: decisionnel-opensource

Exemple d’ERP : Compiere

Un menu exhaustifs !

Page 21: decisionnel-opensource

Exemple d’ERP : Compiere

• L’utilisateur participe à des workflows.

Page 22: decisionnel-opensource

Exemple d’ERP : Compiere

• Et à des écrans de maintenance

Page 23: decisionnel-opensource

ETLs

« Extract-Transform-Load »

Page 24: decisionnel-opensource

ETLs• « Extract-Transform-Load »

• Il s'agit d'un middleware permettant d'effectuer des synchronisations massives d'information d'une base de données vers une autre.

• Selon le contexte, on traduira par « alimentation », « extraction », « transformation », « constitution » ou « conversion », souvent combinés.

Page 25: decisionnel-opensource

Alimentation des Datawarehouses

Schémas simple

Page 26: decisionnel-opensource

Schémas de production sur talend

Page 27: decisionnel-opensource

Postgres comme solution pour les Systèmes d’informations de

demain

Page 28: decisionnel-opensource

Paysage des bases de données Open Source

• Le monde du logiciel libre dispose d’une gamme complète de solutions de persistance.– Business (postgres)– Scientifiques (mysql)– Embarquée (hsqldb, Mkoi)– Web (mysql)– Performance (msql)

Page 29: decisionnel-opensource

Paysage des bases de données Open Source

• Certaines sociétés qui proposaient des bases de données qui ont atteint le cycle d’intégration dans d’autres produit, distribuent aujourd’hui gratuitement leurs Bases de données.

– FireBird (Borland)– SapDB (SAP)

Page 30: decisionnel-opensource

Cas de PostgreSQL• PostgreSQL est le fruit de longues années de

développement à l’université de Berkeley et sponsorisé par des institution hautement importantes aux états unis.– Defense Advanced Research Projects Agency (DARPA)– the Army Research Office (ARO) – the National Science Foundation (NSF)– …

• Depuis 1986 PostgreSQL est développé et utilisé dans les domaines financiers, médicales, GIS, messagerie …

• Aujourd’hui Postgres est en développement actif par la communauté ainsi que par des société telles que Sun et Fujitsu

Page 31: decisionnel-opensource

Cas de PostgresSQL

• Ce développement est à l’origine des base de données relationnelles les pus avancées.– DB2– Informix– Ingres (l’œuf et la poule)– Sybase

Page 32: decisionnel-opensource

Cas de PostgreSQL• Techniquement PostgreSQL est un SGBDR

mature et avancé qui offre les possibilités suivantes. (et au delà)– Intégrité référentielle.– Transactions.– Vues.– Triggers.– Procédures stockées.– Héritage.– Schémas.– Interfaces programmables.

Page 33: decisionnel-opensource

Cas de PostgreSQL• PostgreSQL gagne en popularité grâce au

développement continue de ses fonctionnalités notamment.

– Support des plateformes Windows.– Tablespaces.– Vacuum.– PL/SQL.– SQL 99.– Accès concurrents.– …

Page 34: decisionnel-opensource

PostgreSQL en environnement de production

• PostgreSQL est une base de donnée destinée qui supporte des environnements d’exploitation divers et exigeants– Linux, Unices (AIX, Solaris, HP-UX, SGI IRIX,

Mac OS X, Tru64 ), Windows NT, Beos…– Champs jusqu’as 1GB, enregistrements

jusqu’as 1.6TB, Tables jusqu’as 32TB …– Les DBA déclarent que postgres supporte

aisément des BD a 4TB sur un serveur a 8 processeurs.

Page 35: decisionnel-opensource

Installation de PostgreSQL

• PostgreSQL est distribué avec la majorité des Systèmes d’exploitation Linux. Il est aussi disponible pour une grande partie des autres Unix.

• La version 8 de PostgreSQL est installable sous Windows grâce au système msi.

Page 36: decisionnel-opensource

Configuration de Postgres pour la haute disponibilité

Page 37: decisionnel-opensource

Haute disponibilité

• Souvent les Systèmes de production exigent de la haute disponibilité afin de garantir la continuité de service même en cas de panne sur un serveur.

• Les bases de données commerciales proposent des offres solides dans ce sens

Page 38: decisionnel-opensource

Réponse open source

• Sequoria est un middleware transparent pour une solution de clusturing.

• Il propose un Driver JDBC générique et s’occupe de la distribution de charge sur les nœud du cluster.

• Sequoria propose aussi l’implémentation de la haute disponibilité requise par les systèmes de production

Page 39: decisionnel-opensource

L’outil sequoria

Page 40: decisionnel-opensource

Réponse open source

• Autres avantages :

– Reprise transparente après incidents– Cache intégré sur requêtes – Administration JMX– Licence Apache – Support commercial– …

Page 41: decisionnel-opensource

Configuration de Postgres pour le décisionnel

Page 42: decisionnel-opensource

Problème de la transaction• Les applications demandent à ce que un

ensemble d’opérations soient menée d’un coup.• Dans une opération de vente

– Vérifier le stock.– Mettre à jours les quantités.– Générer une commande fournisseur en cas de besoin.– Enregistrer la vente.– Générer une Facture.– …

Page 43: decisionnel-opensource

Problème de la transaction

Page 44: decisionnel-opensource

Critères ACID

• Les transactions garantissent :

– Atomicité.– Consistance– Isolation– Durabilité

Page 45: decisionnel-opensource

Niveaux d’isolation

• Trois phénomènes sont à éviter en cas de concurrence :

– Dirty reads

– Nonrepeatable reads

– Phantom reads

Page 46: decisionnel-opensource

Niveaux d’isolation

Page 47: decisionnel-opensource

Postgres pour datawarehouse

• Optimiser une base de données postgres pour le Datawarehouse.

1) Niveau d’isolation#default_transaction_isolation = 'read committed‘

2) Transactions en lecture seule par défaut#default_transaction_read_only = on

Page 48: decisionnel-opensource

Postgres pour datawarehouse

• Autres paramètres :

max_connections : pour éviter le swapshared_buffers : mémoire occupée par

postgresmax_fsm_pages : Espace d’élément

suppriméswork_mem : mémoire de tri

Page 49: decisionnel-opensource

Postgres pour datawarehouse

• Autres paramètres :

commit_delay : augmenter les chances d’un commit groupé

fsync : désactiver la synchronisation avant le commit

Page 50: decisionnel-opensource

Etapes d’exécution d’une requête

1. Transmission of query string to database backend

2. Parsing of query string 3. Planning of query to optimize retrieval of

data 4. Retrieval of data from hardware 5. Transmission of results to client

Page 51: decisionnel-opensource

Réglages génériques du coté de l’application cliente

3. Utilisation des pools de connections

5. Utilisation des requêtes précompilée

Page 52: decisionnel-opensource

Postgres pour datawarehouse

• Mais surtout :

• Un design saint des tables de la base de donnée.

• Des requêtes et un mode requêtage bien étudiés.

Page 53: decisionnel-opensource

Création de tableaux de bords avec jasper reports

Page 54: decisionnel-opensource

Création de tableaux de bords avec jasper reports

Jasper Reports, IReport

Page 55: decisionnel-opensource

Plan

• Introduction.• Installation des outils.• Fonctionnement de Jasper Reports.• Utilisation de Jasper Reports.• Utilisation de IReport.

Page 56: decisionnel-opensource

Plan

• Utilisation de IReport.– Rapport simple.– A partir de la base de donnée.– Avec diagramme.– Avec code barre.– Sous Rapports.

Page 57: decisionnel-opensource

Introduction• Les Reports constituent une partie

importante dans les applications d’entreprises.

• Ils aident à – Produire des documents.– Dresser des tableaux de bord .– D’aider aux décisions.

• Les solutions de reporting sont pour la plupart propriétaires et coûteuses.

Page 58: decisionnel-opensource

Introduction• Il existe un ensemble de normes et de

produits standards et open sources qui s’adressent à ce problème.– Standards

• xsl• xsl-fo.

– Outils • Jfree chart,• Jasper report• IReport.

Page 59: decisionnel-opensource

Introduction : Jasper Reports.

• Jasper Reports est un projet open source stable et largement utilisé.

• Le Projet est hébergé sur http://jasperreports.sourceforge.net/

• Le support professionnel est garantit sur http://www.jaspersoft.com

Page 60: decisionnel-opensource

Introduction : IReport.

• IReport est l’éditeur graphique open source le plus avancé pour Jasper Reports.

• Le Projet est hébergé sur http://ireport.sourceforge.net

• La documentation étendue et support commercial sont disponibles sur http://www.ireport.org

Page 61: decisionnel-opensource

Installation des outils• Les outils Jasper Report et IReport présentent

des avantages majeures.– Open sources.

• Extensibles, personnalisables, ne contiennent pas de code malveillant.

– Gratuit.• Peuvent être testés sans contraintes. Adoptés ou laissés.• Na gonflent pas le budget du projet.

– Java.• Portables, s’installent par simple copie, ne touchent pas aux

dll, bases de registres autres programmes …• Peuvent s’intégrer aux produits java et J2EE.

Page 62: decisionnel-opensource

Fonctionnement de Jasper Reports• Jasper Reports Fonctionne en tant que

Compilateur et interpréteur• Il accepte en entrée un xml compatible avec

jasperreports.dtd

Page 63: decisionnel-opensource

Fonctionnement de Jasper Reports

• L’xml décrit la structure du document, l’emplacement des éléments la source de données, les calculs …

• Le document xml doit être compilé vers un document .jasper

• Avec un document xml compilé et une source de donnée jasper reports réalise une impression.

Page 64: decisionnel-opensource

Fonctionnement de Jasper Reports

• Jasper Reports exporte son impression vers une page Web ou vers une application

Page 65: decisionnel-opensource

Utilisation de Jasper Reports.• Jasper Reports est distribué en code source

autant que projet Eclipse.• Le Projet peut être modifié et recompilé grâce à

Jakarta ant.

Page 66: decisionnel-opensource
Page 67: decisionnel-opensource

Autours de Jasper Reports

• Jasper Reports expose ses possibilités à travers les exemples compilables et démontrables.

Page 68: decisionnel-opensource
Page 69: decisionnel-opensource
Page 70: decisionnel-opensource
Page 71: decisionnel-opensource
Page 72: decisionnel-opensource

Fonctionnement de IReport• IReport offre aux utilisateurs de Jasper

Reports une interface graphique pour le design de leur rapports

Page 73: decisionnel-opensource
Page 74: decisionnel-opensource

• IReport Utilise la librairie JFreeChart disponible sur http://www.jfreechart.org. pour créer des diagrammes.

• JFreeChart est gratuite ouverte et populaire.

• JFreeChart permet de créer des diagrammes de type camemberts, lignes, barres … en plat ou en 3D.

Avec diagramme

Page 75: decisionnel-opensource

Avec diagramme

Page 76: decisionnel-opensource

A partir de la base de données

Page 77: decisionnel-opensource

A partir de la base de données

Page 78: decisionnel-opensource
Page 79: decisionnel-opensource

• Pour créer des rapport plus complexes on peut élaborer des requêtes SQL plus recherchées.

• Seulement les rapports simples peuvent être insuffisants pour montrer – plusieurs tableaux dans un seul rapport.– des détails de type master/slave.

Sous Rapports

Page 80: decisionnel-opensource

• Jasper Reports (et l’outil IReport) introduit la notion de sous rapports (subreports).

• Un sous rapport est un rapport normal pouvant être inclus dans un rapport parent.

• Le sous Rapport peut recevoir des paramètres du rapport parent.

Sous Rapports

Page 81: decisionnel-opensource

Sous Rapports

Page 82: decisionnel-opensource
Page 83: decisionnel-opensource
Page 84: decisionnel-opensource

Alimentation du datawarehouse avec l’ETL Octopus

Page 85: decisionnel-opensource

ETL Octopus

• Octopus est un ETL simple d’utilisation il permet, d’extraire transformer et charger vers n’importe quelle base compatible JDBC.

• L’accès aux ressources CSV, Excel, Acess et XML peu se faire à travers le pont JDBC-ODBC

Page 86: decisionnel-opensource

Architecture

Page 87: decisionnel-opensource

ETL Octopus

• Exécuter des taches imbriquées selon des valeurs calculées en runtime.

• Les taches Octopus peuvent être exécutée par scripts Ant (donc programmés dans des scripts de build)

Page 88: decisionnel-opensource

OLAP sur Mandrian

Page 89: decisionnel-opensource

• L’analyse multidimensionnelle est souvent très efficace pour découvrir les tendances.

• Le Sytème doit répondre suffisamment rapidement à des requêtes en général en lecture seule

OLAP sur Mandrian

Page 90: decisionnel-opensource

• Les bases de données classiques peuvent supporter l’OLAP

• Un DataSet est un ensemble de données à analyser.

OLAP sur Mandrian

Page 91: decisionnel-opensource

• Au niveau Base de données les données sont généralement représentée sous la notation étoile :

OLAP sur Mandrian

Page 92: decisionnel-opensource

• Mandrian est outil d’analyse de données membre de l’offre Pentaho.

• Mandrian utilise le langage MDX pour le requêtage des Datasets

OLAP sur Mandrian

SELECT {[Measures].[Unit Sales], [Measures].[Store Sales]} ON COLUMNS,{[Product].members} ON ROWSFROM [Sales]WHERE [Time].[1997].[Q2]

Page 93: decisionnel-opensource

• 4 couches :– Présentation : données en tables intéractives,

camemberts, histogrammes, XML…– Couche dimensionnelle parse et valide les requêtes

MDX– Couche étoile : maintien un cache de mesures

agrégées.– Couche Base de données : Mandrian utilise la

puissance d’une base de données bien configurée au lieu de redéfinir un espace de stockage multidimensionnel

Architecture de Mandrian

Page 94: decisionnel-opensource
Page 95: decisionnel-opensource

• L’API Mandrian reprend le model JDBC• Connection connection =

DriverManager.getConnection( "Provider=mondrian;" +    "Jdbc=jdbc:odbc:MondrianFoodMart;" +    "Catalog=/WEB-INF/FoodMart.xml;", null, false);Query query = connection.parseQuery(    "SELECT {[Measures].[Unit Sales], [Measures].[Store Sales]} on columns," + " {[Product].children} on rows " +    "FROM [Sales] " +    "WHERE ([Time].[1997].[Q1], [Store].[CA].[San Francisco])");Result result = connection.execute(query);result.print(new PrintWriter(System.out));

• Mandrian propose également une API XML pour être invoqué à partir de programmes non java

L’API Mandrian

Page 96: decisionnel-opensource

Le schémas

Page 97: decisionnel-opensource

Utilisation du moteur de Mandrian à partir de JPivot

• JPivot offre une librairie de tags afin de naviguer dans un schéma OLAP

• JPivot offre une interface JSP pour le moteur de Mandrian (entre autres).

Page 98: decisionnel-opensource

Utilisation du moteur de Mandrian à partir de JPivot

Editeur de requêtes MDX

Page 99: decisionnel-opensource

Utilisation du moteur de Mandrian à partir de JPivot

• Résultat en histogramme

Page 100: decisionnel-opensource

Utilisation du moteur de Mandrian à partir de JPivot

• Tableau de mesures avec axe hiérarchique

Page 101: decisionnel-opensource

Conclusion

Page 102: decisionnel-opensource
Page 103: decisionnel-opensource

Questions ??