Projet M1 Sujet 21 : Développement d'un logiciel simplifié de type Business Object



Documents pareils
Projet M1 Sujet 21 : Développement d'un logiciel simplifié de type Business Object

BIRT (Business Intelligence and Reporting Tools)

Analyse comparative entre différents outils de BI (Business Intelligence) :

Créer un rapport pour Reporting Services

BUSINESS INTELLIGENCE

Petit Déjeuner Pépinière du Logiciel Libre. 25 juin 2008

Saisissez le login et le mot de passe (attention aux minuscules et majuscules) qui vous ont

Projet 2. Gestion des services enseignants CENTRE D ENSEIGNEMENT ET DE RECHERCHE EN INFORMATIQUE. G r o u p e :

Catalogue Formation «Vanilla»

contact@nqicorp.com - Web :

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Compte Rendu d intégration d application

SQL Server Installation Center et SQL Server Management Studio

BUSINESS INTELLIGENCE

Quick Start Installation de MDweb version 2.3

I. Instalation de l environnement JDK et JRE : II. Configuration outil Reporting : Pentaho... 4

Whitepaper. Méthodologie de création de rapports personnalisés SQL Server Reporting Services

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza

ECLIPSE ET PDT (Php development tools)

SAUVEGARDER SES DONNEES PERSONNELLES

Business Intelligence avec SQL Server 2012

contact@nqicorp.com - Web :

Pentaho : Comparatif fonctionnel entre la version Communautaire (gratuite) et la version Entreprise (payante) Table des matières

La base de données XML exist. A. Belaïd

BI Open Source Octobre Alioune Dia, Consultant BI

Gestion du parc informatique matériel et logiciel de l Ensicaen. Rapport de projet. Spécialité Informatique 2 e année. SAKHI Taoufik SIFAOUI Mohammed

Sql Server 2005 Reporting Services

Assistance à distance sous Windows

Architecture de la plateforme SBC

Visual Paradigm Contraintes inter-associations

Cursus Sage ERP X3 Outils & Développement. Le parcours pédagogique Sage ERP X3 Outils et Développement

Introduction à la B.I. Avec SQL Server 2008

Construction d un environnement destiné à l'aide au pilotage

Installation et prise en main

Dans cette Unité, nous allons examiner

Sauvegarde des bases SQL Express

MISE A JOUR : 04 FEVRIER 2011 PROCÉDURE D INSTALLATION. Cegid Business COMMENT INSTALLER CEGID BUSINESS V9 SOUS WINDOWS XP, VISTA ET 7

Manuel d'installation de GESLAB Client Lourd

SQL Express face à la concurrence

CAPTURE DES PROFESSIONNELS

CATALOGUE DE FORMATIONS BUSINESS INTELLIGENCE. Edition 2012

STATISTICA Version 12 : Instructions d'installation

Tutorial sur SQL Server 2000

POVERELLO KASONGO Lucien SIO 2, SISR SITUATION PROFESSIONNELLE OCS INVENTORY NG ET GLPI

Déploiement d application Silverlight

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

Tropimed Guide d'installation

UltraBackup NetStation 4. Guide de démarrage rapide

Reporting Services - Administration

Maarch V1.4

Formations 2015 JASPER, REDMINE, TABLEAU, TALEND, SPAGO BI SYNALTIC 24 RUE DE L EGLISE VINCENNES

TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1

FORMATION TALEND. Page 1 sur 9

LES ACCES ODBC AVEC LE SYSTEME SAS

Utiliser SQL Server 2008 R2 Reporting Services comme source de donne es pour Microsoft Excel

Installation de SQL Server Reporting Services avec l intégration dans un site Windows SharePoint Services V3

arcopole Studio Version 3.3

Installation personnalisée d'oracle 10g

Guide d installation BiBOARD

Mise à jour de version

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven

Manuel d utilisation du site web de l ONRN

Administration du site (Back Office)

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

GPI Gestion pédagogique intégrée

Formation. Module WEB 4.1. Support de cours

Cyberclasse L'interface web pas à pas

Intégration de Cisco CallManager IVR et Active Directory

et Groupe Eyrolles, 2006, ISBN :

2011 Hakim Benameurlaine 1

WORKSHOP OBIEE 11g (version ) PRE-REQUIS:

FileMaker Server 14. Aide FileMaker Server

Rapport de stage. Création d un site web. Stage du 20/01/2013 au 21/02/2013

Le logiciel de création de site internet IZISPOT est un outil très puissant et qui est assez simple après quelques temps d utilisation.

KWISATZ MODULE PRESTASHOP

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

AOLbox. Partage de disque dur Guide d utilisation. Partage de disque dur Guide d utilisation 1

Pentaho. présentation

Business Intelligence avec SQL Server 2012

Environnements de développement (intégrés)

Fournir un accès rapide à nos données : agréger au préalable nos données permet de faire nos requêtes beaucoup plus rapidement

REALISER UN SITE INTERNET AVEC IZISPOT SOMMAIRE

Exploiter les statistiques d utilisation de SQL Server 2008 R2 Reporting Services

Un outil open source de gestion de bibliographies

Formations 2015 JASPER, REDMINE, TABLEAU, TALEND, SPAGO BI ALTIC & SYNOTIS - TRAINING CENTER 24 RUE DE L EGLISE VINCENNES


Guide de migration BiBOARD V10 -> v11

Prise en main du BusinessObjects XI R2 Service Pack 2/ Productivity Pack

Mode d'emploi pour l'installation SQL Server 2012 et Dr. Tax Office Serveur

Gestion collaborative de documents

Préconisations Techniques & Installation de Gestimum ERP

Expert technique J2EE

Transcription:

Projet M1 Sujet 21 : Développement d'un logiciel simplifié de type Business Object Professeur Tuteur : Thierry Spriet

1 Introduction...4 1.1 Cadre du projet...4 1.2 Objectif...4 1.3 Système existant...4 1.4 Utilisateurs...4 1.5 Organisation...4 1.6 Rappel sur les solutions envisagées...5 2 La plate-forme SPAGOBI...5 2.1 Présentation...5 2.2 Fonctionnement du Projet avec SpagoBI...5 2.3 Installation...6 2.3.1 Installation de Tomcat avec exo-portal...6 2.3.2 Installation de SPAGOBI...6 2.4 Démarrage...7 3 Extraction des données : Talend Open Studio...7 3.1 Pourquoi Talend Open Studio?...7 3.2 Présentation de Talend Open Studio...8 3.3 Intégration avec SpagoBI...12 4 BIRT...13 4.1 Présentation...13 4.2 Installation...13 4.3 Utilisation et Intégration avec SPAGOBI...14 4.4 Création de rapports pré générés...14 4.4.1 Introduction...14 4.4.2 Créer une source et un jeu de données....15 4.4.2.1 Définition de la source de données...15 4.4.2.2 Extraction à partir d'une base de données...15 4.4.2.3 Manipulation d'un jeu de données (data set)...17 4.4.3 Conception d'un rapport...18 4.5 Créer une librairie...18 4.6 Créer un template de rapports...19 4.7 Ajouter un rapport à SpagoBI...20 4.7.1 Introduction...20 4.7.2 Créer un dossier...20 4.7.3 Ajouter les rapports...21 4.7.4 Tester et valider les rapports...22 4.7.5 Exécution...23 5 Hibernate...24 5.1 Introduction...24 5.2 Présentation d Hibernate...24 5.3 Utilisation d Hibernate...25 6 QBE...27 6.1 Présentation...27 6.2 Paramètrage...27 6.3 Fonctionnement...31 7 Problèmes rencontrés :...34 7.1 Difficultés et problèmes rencontrés...34 7.2 Forums...35 8 Organisation du travail...36 9 Conclusions...38

10 Annexes :...39 10.1 Notice d installation SPAGOBI...39 10.2 Versions et liens des fichiers utiles...39 10.2.1 Documentation :...39 10.2.2 Fichiers nécessaires au fonctionnement de SpagoBI :...39

1 Introduction 1.1 Cadre du projet Ce projet est développé pour une utilisation au sein de l université d Avignon. Plusieurs bases de données sont utilisées au sein de l université d Avignon. Elles regroupent des données relatives à la comptabilité, la gestion du personnel (Oracle), la scolarité et les diplômes et maquettes (PostgreSQL). Le besoin se fait ressentir pour un non informaticien d obtenir des informations en provenance de plusieurs tables simultanément. 1.2 Objectif Nous devons mettre en place une solution pour permettre à un non informaticien de faire des requêtes (si possible graphiquement) sur ces bases de données. Le choix qui a été fait au 1 er semestre est de mettre en œuvre une solution basée sur des composants Open Source relatifs au domaine de la Business Intelligence. 1.3 Système existant IL y a 2 bases de données répertoriées :Une pour la gestion du personnel (Oracle) et l autre pour la scolarité et les diplômes et maquettes (PostgreSQL), nommée freebo. C est cette dernière que nous allons utiliser. Un serveur linux a été mis à notre disposition à l IUP. Nous travaillons chez nous sur un système d exploitation Windows XP et un système MAC. 1.4 Utilisateurs Nous devons trouver une solution pour un utilisateur novice en langage SQL. Nous pouvons toutefois compter sur la présence de contrôleur de gestion, maîtrisant le langage SQL. 1.5 Organisation Un serveur Unix nous a été dédié au sein de l'iup. Pour s'y connecter, nous disposions d'un compte et nous y accédions par le protocole ssh. Le récupération/dépôt de fichiers s'est faite par sftp grâce à un tunnel ssh. C'est sur ce serveur que la base de données freebo a été installée. Afin de tester SpagoBI sur cette base, il nous a fallu faire un «dump» de la base dont voici les principales commandes sous postgresql : a) Dumper une base : pg_dump -D {nom_de_la_base} > {nom_du_fichier.dump}

b) Recréer une base à partir d un dump : psql -e {nom_de_la_base} < {nom_du_fichier.dump} Un fichier de 800Mo a été crée à la suite de cette étape. Pour ré-injecter la base sur notre propre machine de tests, il nous a fallu téléchargé ce fichier sur le serveur puis exécuter le fichier dump dans notre SGBD. 1.6 Rappel sur les solutions envisagées Au cours du 1 er semestre nous nous sommes intéressé aux logiciels libres de Business Intelligence de logiciel type Business Object (le plus connu) mais en open source : Nous avons retenu SpagoBI et Pentaho. Ce sont des plates-formes de Business Intelligence possédant un profil relativement similaire en terme de fonctionnalisées. Le fait que SpagoBI ne nécessitant aucun ajout payant pour faire fonctionner sa plate-forme nous a fait opté pour cette solution. 2 La plate-forme SPAGOBI 2.1 Présentation SpagoBI est une solution OpenSource pour le développement de projets de type Business Intelligence, proposé par la société italienne Engineering Ingegneria Informatica. Il n'y a donc pas de fonctionnalités volontairement absentes et réservées pour une version commerciale comme c'est le cas pour Pentaho. Cette solution offre donc une couche logicielle complète comprenant toutes les étapes de l intelligence décisionnelle (voir rapport 1 er semestre) comme les fonctions de Reporting, OLAP, de data mining, dashboards, QBE, collecte des données (ETL) SpagoBI permet un développement très flexible permettant de «mixer» l open source avec des solutions propriétaires. Son grand avantage est donc sa capacité d intégration, ce qui permet de travailler indépendamment par briques séparées et une meilleure répartition du travail. Son inconvénient principal est que c est une solution jeune dans un secteur en pleine évolution, il faut donc se tenir régulièrement au courant quant à l ajout de nouveaux composants et de fonctionnalités. Site Web : http://spagobi.eng.it 2.2 Fonctionnement du Projet avec SpagoBI Rappel : l objectif est de permettre à l utilisateur final de faire des requêtes graphiques sur une base de données.

Pour cela nous découperons les phases principales du projet conformément aux étapes d un projet de Business Intelligence. La collecte de données se fera par Talend Open Studio qui est un outil d'etl en cours d intégration avec la plate-forme SpagoBI. La préparation de la partie Reporting sera réalisée par BIRT. La partie modélisation par Hibernate. La partie requête graphique de l utilisateur final par le SpagoBIQbeEngine SpagoBI propose en téléchargement une version démo, celle ci propose au développeur des «portlets», des applications qui, placées dans un portail web, servent alors de conteneurs. Ces portlets prédéfinis qui permettent d accéder aux fonctionnalités (reporting, QBE, etc ) de SpagoBI. Suivant les conseils de l équipe technique d IEE nous sommes donc parties de la version démo qui offre aux nouveaux utilisateurs de SpagoBI un socle complet pour débuter avec le produit. 2.3 Installation SpagoBI peut fonctionner sur les plates-formes Windows et Unix (linux, MacOS X,...). Pour fonctionner, SpagoBI requiert essentiellement trois éléments : Installation d'un serveur d application sur lequel reposera la plate-forme de Business Intelligence. Trois types de serveurs d'applications, écrits en Java sont proposés : Tomcat, Jboss et Jonas. Pour sa stabilité et sa simplicité d'installation, nous avons opté pour Tomcat. Le serveur doit être installé au préalable avec «exo-portal». Produit par une startup française «EXO Plateform», il s'agit d'un portail permettant d'inclure des portlets. Installation d'une JDK. Installation d'openoffice. Les différentes versions des fichiers concernant le serveur d'application et SpagoBI sont téléchargeables sur le site http://forge.objectweb.org/ respectivement dans les projets exo et SpagoBI. Note : Pour les noms et versions exactes des fichiers, cf 10.1 Notice d'installation de SpagoBI. 2.3.1 Installation de Tomcat avec exo-portal L'installation de Tomcat avec exo-tomcat est simpliste. Il suffit de télécharger l'archive et de la décompresser dans le répertoire où SpagoBI sera installé. 2.3.2 Installation de SPAGOBI Avant le 06 avril 2007, aucun installeur graphique de SpagoBI n'existait. La démarche à suivre en consistait en l'installation, en plus des trois éléments (Java, OpenOffice, Tomcat avec exo-portal), de la «metabase de données» (Oracle, PostgreSQL, mysql, HSQLDB) utilisée par SpagoBI, de ses drivers, la configuration d'un JNDI (pour la connexion de SpagoBI à sa source de données (la metabase), l'installation d'un «cms repository» (System de management de contenu), l'installation de la plateforme SpagoBI avec des configurations légères et enfin l'installation des moteurs souhaités (Birt, QBE,...).

Cette solution nous a posé de nombreux problèmes (de très nombreuses erreurs bloquantes suites aux nombreuses étapes dans l'installation), c'est pourquoi nous avons opté pour l'installateur graphique où l'on suit les étapes interactives à l'écran. A un stade de l'installation, une liste de moteurs est proposée, nous prendrons alors soin, entre autres, de sélectionner SpagoBirtReportEngine (cf 4. Birt) et SpagoBIQBEEngine (cf 6. QBE). 2.4 Démarrage Une fois SpagoBI correctement installée, la plate-forme peut être démarrée. Pour ce faire, il est nécessaire d'exécuter le script /Spago/exo-portal/StartSpagoBI.sh ( StartSpagoBI.bat sous Windows) qui se charge de lancer la metabase de donnée et surtout le serveur d'application. Pour stopper l'application, il faut exécuter le script StopSpagoBI.sh. Note : La ligne de commande détail le démarrage de l'application (ex : démarrage de chacun des moteurs SpagoBI) et l'on peut voir une erreur qui apparaît plusieurs fois : [ERROR] PersistentManagerBase - No Store configured, persistence disabled Cette erreur est connue car de nombreux utilisateurs la voient mais sur le forum officiel, l'équipe technique de SpagoBI nous a informé qu'elle était non bloquante et qu'il ne fallait pas s'en soucier. Une fois démarrée, SpagoBI est accessible par le biais d'un navigateur Internet à l'adresse : http://serveur:8080/sbiportal La première page détaille les profils sous lesquels l'utilisateur peut se connecter pour accéder aux fonctionnalités qui lui correspondent. Il y a 4 types d utilisateurs de SpagoBI: 1.Administrator: gère la configuration et les aspects de sécurité. Sous ce profil nous allons créer un répertoire pour entreposer les documents (rapports) et définir les droits d accès. 2.Developer: Pour créer ou modifier les documents. En important les rapports pré générés de BIRT dans le répertoire adéquat. 3.Tester: Pour tester les documents (rapports en l occurrence) que nous rajoutons via la partie administrateur et développeur. Ensuite il a la possibilité de valider ou non le document. 4.User: Peut utiliser tout les documents dont la mise en exploitation a été validé par les précédents, l usage, l accès et les droits des documents sont limités par les paramètres définis précédemment. C est donc pour un user que nous allons concevoir les étapes suivantes afin d aboutir sur la partie QBE. 3 Extraction des données : Talend Open Studio 3.1 Pourquoi Talend Open Studio? L'université d'avignon utilise des données provenant de plusieurs bases de données (ex : Diplômes, Scolarité), qui ne sont pas forcément implémentées au sein du même système de

gestion de base de données (ex : postgresql, Oracle) et des utilisateurs appartenant à l'administration de l'université éprouvent le besoin de faire des requêtes à partir de ces différentes bases. Cette étape de la Business Intelligence, appelée fonction d'etl, est présente dans notre projet car elle permet de collecter des données provenant de plusieurs bases de données, ce qui ne peut se faire par le simple biais de requêtes SQL. Il s'agit bien sûr d'un travail que seul un informaticien pourra faire car il est indispensable de connaître le langage SQL. Il pourra ainsi au préalable créer de nouvelles bases de données répondant aux besoins précis des utilisateurs finaux. Talend Open Studio (ou TOS) est un outil d'etl open source, capable d extraire des données de différentes bases de données. Cet outil propose une solution «clés en main», offrant un logiciel téléchargeable et exécutable de façon autonome sur un système d'exploitation. En outre, Talend peut s'intégrer à la plateforme SPAGOBI qui, jusqu il y a peu, était dépourvu de solution d'outil d'intégration de données. Etant donné nos problèmes rencontrés lors de l'installation de SpagoBI avant la sortie de l'installeur graphique, nous avons découvert et pris en main Talend Open Studio dans sa version clé en main. 3.2 Présentation de Talend Open Studio Le logiciel est téléchargeable sous forme d'une archive sur le site officiel (http://www.talend.com/download.php), qu'il suffit de décompresser pour installer l'application. L'outil d'etl est, depuis quelques mois disponible dans un version écrite en Java (qui fait suite à une version écrite en Perl), ce qui donne la possibilité au programmeur d'ouvrir un projet TOS au sein du logiciel Eclipse. C'est cette version que nous avons choisit d'utiliser. Après avoir décidé de l'ouverture ou de la création d'un nouveau projet, l'application, nous offre une apparence de style «TreeView» familière à Eclipse. On peut y voir les vues suivantes : le référentiel (Repository), l espace de travail (WorkSpace), les sorties/erreurs/logs. Et l aperçu Schéma/code.

figure 1 : Interface de Talend Open Studio Le Repository donne accès à deux types essentiels de projet : les «Business Models» et les «Job Design». Le premier type permet de modéliser des processus métiers alors que celui qui nous intéresse, le Job Design, permet lui d associer les composants qui nous permettront de manipuler les flux de données provenant de différentes bases. Des liens vers ces bases doivent être configurés avant toute chose. C est ainsi qu il est nécessaire d ajouter des «connections» à l élément «metadata/db Connections» du repository (clique-droit, new connection). Une connexion par base de données est nécessaire. Les paramètres à fournir sont les suivants : type de la base : mysql/postgresql/oracle url de la connexion : sous la forme «jdbc:typedebase://adresse:port/basededonnées login/password : pour la connexion à la base de données adresse du serveur du serveur de base de données numero de port du serveur de base de données nom de la base de données

figure 2 : Paramètres de connexion à une base de données Nous avons décidés de tester TOS au travers d un exemple auquel on peut être confronté dans le cadre de notre projet, mysql sera le SGBD. Voici trois bases de données, datab1 : table student : id_student (numeric), name_student (varchar) table speciality : id_speciality (numeric), name_speciality (varchar) table match1 : id_speciality (numeric), id_student (numeric) datab2 table course : id_ course (numeric), name_ course (varchar) table speciality : id_speciality (numeric), name_speciality (varchar) table match2 : id_speciality (numeric), id_course (numeric) datab3 table student : id_ student (numeric), name_ student (varchar) table course : id_ course (numeric), name_ course (varchar) table match3 : id_ student (numeric), id_course (numeric) La base datab1 permet de savoir que tel étudiant (student) appartient à telle filiere (speciality), grâce à la table match1. Cette base est actuellement remplit. La base datab2 permet de savoir que tel étudiant (student) suit tel cours (course), grâce à la table match2. Cette base est actuellement remplit. La base datab3 permet de savoir que tel cours (course) appartient à telle filiere (speciality), grâce à la table match3. Cette base est actuellement vide, et c est celle-ci que nous voudrions remplir à partir des 2 premières afin qu elle nous fournisse les informations demandées.

Ce problème fait appel à des composants de la catégorie «database» qui vont nous permettre d extraire, d assembler et d injecter des données dans des bases suivant ces 3 étapes : a) Extraction des données des 2 bases datab1 et datab2 Utilisation de 4 composants «tmysqlinput» pour : - extraire la liste des étudiants à partir de datab1 (tmysqlinputdb1_student) - extraire la liste des correspondances entre les étudiants et leur filière à partir de datab1 (tmysqlinputdb1_match1) - extraire la liste des cours à partir de datab2 (tmysqlinputdb2_course) - extraire la liste des correspondances entre les cours et les étudiants à partir de datab2 (tmysqlinputdb2_ match2) figure 3 : Paramètres du composant tmysqlinputdb1_student b) Multiplexage des données Utilisation du composant central «tmap» qui permet de sélectionner les données entrantes, les conditions et leur destination. Paramétrage du composant tmap Comme peut le voir sur la figure 3, le paramétrage du tmap nous propose une vue à gauche des 4 entrées de données, correspondant au 4 tmysqlinput. Le «join» entre

les divers champs sont à définir en reliant simplement les champs concernés, d où la présence de traits violets sur la gauche de la fenêtre. Ensuite, nous relions les données à extraire (id_student et id_course) au composant newoutput1, dont nous verrons le rôle juste après, à droite de la fenêtre de paramétrage du tmap. c) Injection des données dans la base vide Il est enfin nécessaire d injecter ces données pertinentes (id_student et id_course) dans la 3 ème base, datab3. Ceci est fait en partie grâce au composant newoutput1 du tmap qui est lié au composant tmysqloutput_2 présent sur le job. Ce dernier est paramétré pour interagir avec datab3, la base à remplir. figure 4 : Vue complète du job Il reste alors à démarrer le job grâce à l icône de la flèche verte, qui doit s exécuter avec succès. On peut ensuite constater dans notre base de données datab3, que les champs (id_student et id_course) sont tous là et qu ils correspondent. Cette base remplit donc à présent son rôle : nous savons que tel étudiant suit tel cours. Note : TOS bénéficie de plus d une communauté très dynamique. De nombreuses mise à jour sont régulièrement publiées et le forum est très actif, ce qui nous a permis de surmonter quelques difficultés dans la prise en main du logiciel ou des bugs d un version antécédentes (cf 7.1 Difficultés et problèmes rencontrés). 3.3 Intégration avec SpagoBI Il est à noter que nous avons seulement utilisé une infime partie des possibilités de TOS, en limitant notre production à des tests pour générer une base de données à partir de plusieurs. Une étude approfondie des bases de données «cibles» et des besoins devrait permettre une utilisation optimisée de cette étape.

4 BIRT 4.1 Présentation Le projet BIRT, Business Intelligence and Reporting Tools est un plug-in Eclipse opensource qui propose un système de création de rapports ( ou états ) pour les applications Web. Il se compose d un outil de conception de rapports basé sur Eclipse et d un moteur d'exécution installable dans un serveur d'applications J2EE. L'utilisation de BIRT peut se résumer de la façon suivante : figure 5 : Schéma de l utilisation de BIRT En ce qui concerne l affichage des données. BIRT propose une vue 'Explorateur de données' qui permet la définition d'une ou plusieurs 'sources de données' (par exemple une base de données relationnelles) et d'un ou plusieurs 'jeux de données' extraits de la source de données (par exemple les champs renvoyés par une requête SQL). Les 'jeux de données' constituent les données à afficher. L'édition du rapport se fait en mode graphique en insérant les différents composants graphiques proposés (Texte, image, tableau, liste, graphique,...). Les valeurs affichées par ces composants peuvent être soit statiques, soit extraites des 'jeux de données', soit calculées en utilisant des formules prédéfinies et des scripts écrits en JavaScript. A tout moment, le concepteur du rapport peut demander son exécution directement à partir du viewer de BIRT. Il y a plusieurs choix possible pour le format de la prévisualisation :HTML ou PDF. La mise en exploitation se fait en déployant le rapport sur un serveur d'applications J2EE dans lequel le moteur d'exécution BIRT a été installé. 4.2 Installation Le projet BIRT propose plusieurs téléchargements mais seul Birt version 2.0.1 fonctionne avec le SpagoBIBirtEngine. http://download.eclipse.org/birt/downloads/build.php?build=r-r1-2_0_1-200602221204 Il faudra donc veiller à prendre la version full comprenant la partie outil de conception (Report Designer) et la partie moteur d'exécution (Report Engine et donc le SpagoBIBirtEngine).

4.3 Utilisation et Intégration avec SPAGOBI La partie BIRT est essentiellement axée pour le développeur. Sachant que le but d'un rapport est d'afficher des données, dans notre projet nous allons utiliser BIRT pour 2 objectifs : Créer quelques rapports pré générés que nous chargerons par la suite dans SpagoBI. Ces rapports finis seront directement exécutables pour l utilisateur dans SpagoBI. Dans un second temps, nous avons explorer les fonctionnalités de Birt pour faciliter la préparation de rapport : Nous avons la possibilité de créer un template qui est un modèle de présentation au niveau design et/ou niveau contenu pour construire des rapports. Nous pouvons aussi personnaliser la librairie comprenant l ensembles des composants et des données nécessaire pour la préparation des rapports sous Birt. Pour ce faire nous avons d abord suivi le tutorial pour créer un rapport afin de maîtriser l outil BIRT. Puis une fois cette étape de conception maîtrisée nous avons développé les différentes étapes qui vont constituer la création de rapports personnalisées avec la base freebo. 4.4 Création de rapports pré générés 4.4.1 Introduction On commence par la création d un projet Eclipse (même si BIRT ne nécessite pas la création d'un projet Eclipse d'un type particulier un type de projet nommé 'projet d'état' est tout de même proposé). figure 6 : Créer un nouvel état

Puis on crée un nouveau rapport : Nous avons ici la possibilité de sélectionner un modèle prédéfini (template) de rapport parmi une liste.( Liste simple, groupées, rapport vierge, graphique etc ) Nous verrons plus tard comment pour concevoir notre propre template. Une fois crée le rapport est disponible dans la zone d'édition. 4.4.2 Créer une source et un jeu de données. Nous allons devoir paramétré une source de données (data source) et un jeu de données (data set) correspondant d une part à la base de données sur laquelle nous travaillons et d autre part sur le contenu. Une data source est une connexion à une base de données telle qu une connexion JDBC. Une data set est une description des données sur lesquelles on va travailler. Les requêtes SQL seront le plus souvent utilisées. 4.4.2.1 Définition de la source de données Chaque rapport est associé à un ou plusieurs jeux de données qui seront manipulés pour définir la structure des données du rapport. En ce qui nous concerne, nous allons par la suite utiliser des bases de données relationnelles accessibles par JDBC découlant de TOS pour définir notre source de données. figure 7 : Sélection du type de la nouvelle source 4.4.2.2 Extraction à partir d'une base de données Si BIRT prend en charge la connexion à la base de données et l'extraction des données, il faut néanmoins préciser d'une part les informations de connexion (le driver notamment): et d'autre

part la requête SQL à utiliser. Pour ce faire dans l'assistant de création il faut indiquer les paramètres suivants : le driver JDBC, la chaîne de connexion JDBC (sous la forme «jdbc:typedebase://adresse:port/basededonnées), le nom d'utilisateur et le mot de passe (optionnel). Figure 8 : Ajout nouvelle source de données Nous pouvons ajouter le driver correspondant à la base dans la partie «Gérer les pilotes». Ainsi nous avons ajouté le driver postgresql que nous avons récupéré : jdbc.postgresql.org/download.html En ce qui concerne la base oracle on utilisera le driver : «ojdbc14.jar drive» et pour la base mysql : «mysql-connector-java-3.1.14-bin.jar» figure 8 : Ajout du driver L'étape suivante consiste à créer un ou plusieurs 'jeu de données' qui seront associés à la source de données.

4.4.2.3 Manipulation d'un jeu de données (data set) figure 9 : Nouveau jeu de données Une fois défini, le jeu de données apparaît dans la vue 'Exploration des données'. L'assistant de création d'un jeu de données permet la visualisation de la structure des tables et l'édition de la requête SQL. Les propriétés du jeu de données sont éditables, il est notamment possible de rajouter des champs calculés : On va indiquer la requête SQL à utiliser. Exemple d un jeu de données qui est utile pour notre projet : figure 10 : Jeu de données

Nous pourrons aussi regrouper des données provenant de différentes différents type de DataSources (de 2 bases de données mysql et oracle par exemple) en utilisant «Join Data Set» et créer autant de jeux de données que nécessaire. Nous avons ainsi un ensemble de jeux de données prêt à utiliser. figure 11 : Explorateur de données 4.4.3 Conception d'un rapport Pour ce qui est du contenu nous pouvons maintenant utiliser l éditeur proposé par Birt pour : Choisir le composant que nous désirons insérer dans le rapport parmi les différents types proposés par Birt : les composants permettant d'afficher les données sous forme textuelle (Texte, tableau, liste), ou sous forme de graphiques Sélection des données à afficher. Ces données peuvent provenir directement du jeu de données ou être calculées par des fonctions javascript prédéfinies. La dernière étape consiste à la présentation du rapport en personnalisant l entête par exemple( en ajoutant le nom d utilisateur, Titre, date et le logo de l université, police, couleurs). Nous avons maintenant conçu un rapport. 4.5 Créer une librairie Nous avons la possibilité de créer une librairie qui pourra être importé dans n importe quel rapport et template BIRT afin de réduire significativement le temps de conception. Par exemple, si des composants d une libraire tel que le logo ou des requêtes sur la base à travers un tableau ou une diagramme, sont utilisés de nombreuses fois au cours de la conception de nouveaux rapports alors la librairie contiendra ces éléments et permettra une réutilisation plus facile.

Les composants qui peuvent être ajoutés à la librairie incluent les data sources et sets, les paramètres des rapports, les tableaux, graphes, thèmes et images La nouvelle librairie à une extension '.rptlibrary'. Une fois la librairie crée et sauvegardée le développeur pourra importer la librairie pour l utiliser dans la conception de rapports. Il pourra facilement inclure les composants aux rapports grâce à un simple drag-and-drop. De même un simple import de la librairie suffira pour l adapter au rapport utilisé. Explications : http://www.theserverside.com/tt/articles/article.tss?l=eclipsebrt 4.6 Créer un template de rapports Nous allons vu que lors de la création d un rapport nous avons le choix entre plusieurs modèles, Birt donne la possibilité de créer nos propres modèles (template )de rapports adaptés à nos besoins. Ce modèle proposera une structure et un design prédéfini qui facilitera le développement ultérieur de nouveaux rapports. figure 12 : Création d un template Une fois le template crée on le publie. Il sera maintenant disponible dans la liste de templates proposés dans Birt lors de l ajout d un nouveau rapport. En particulier nous avons vu comment proposer un template avec une entête adaptée (logo de l université). La création de template pourra être particulièrement utile dans le cas ou nous souhaiterions personnaliser la présentation des rapports générés par QBE dans SpagoBI. Cette fonctionnalité étant en cours de développement nous n avons pas pu la tester.

figure 13 : Exemple de rapport BIRT sur la base freebo 4.7 Ajouter un rapport à SpagoBI 4.7.1 Introduction L ajout de rapports pré générés dans Birt à SpagoBI peut être particulièrement utile pour l utilisateur final dans le cas ou celui ci peut disposer d un développeur/gestionnaire de la base pouvant lui proposer une liste de rapports adaptés à ces besoins. Les étapes principales pour exécuter un rapport pré-généré de Birt dans SpagoBI sont : 1. Créer un répertoire pour mettre les rapports 2. Importer les rapports crées dans Birt dans ce répertoire. 3. Tester le Document valider le document (passer l état de test à release) se logger en bidev ou bitest. Sinon dans l étape suivante 4. Exécuter le Document en se loggant en user staff_gen par exemple (nous avons également ici la possibilité de valider le document) A noter qu une modification sur la base de données entraîne une modification de l affiche du rapport pré-généré dans SpagoBI. 4.7.2 Créer un dossier Afin de pouvoir insérer les rapports et les rendre accessible il faudra créer au préalable un répertoire dans l arborescence de SpagoBi pour les entreposer. Pour cela nous allons suivre les indications du paragraphe 6.2.1.FUNCTIONALITIES MANAGEMENT du document quickstart. De fait il conviendra de s identifier en biadmin/biadmin pour pouvoir créer un répertoire. Ensuite il faudra aller dans l onglet «Document and tree management».

figure 14 : Document and tree management Puis sélectionner «functionnalies tree» pour apercevoir l arbre complet. figure 15 : Functionnalities management Ensuite il suffira de cliquer sur une racine et de sélectionner insert pour insérer un nouveau répertoire. 4.7.3 Ajouter les rapports L étape suivante ne nécessite pas nécessairement de changer d identifiant mais il est conseillé de le faire à partir du profil développeur : bidev/bidev. Il faudra aller dans l onglet «development Environnment» et changer la vue en arbre en cliquant sur l image du milieu

Puis conformément aux indications du quickstart(6.3.4.document CONFIGURATION), pour importer les rapports crées dans Birt dans le répertoire de notre choix il faudra cliquer sur l icône «insert». figure 16 : Document configuration De la on remplira les champs label/name/engine (BirtEngine) Puis on ira chercher le «report» ou il se trouve, et enfin on cochera dans quel répertoire on veut le mettre. figure 17 : Ajout du fichier de report dans SpagoBI 4.7.4 Tester et valider les rapports Maintenant afin de vérifier si le rapport est bien exécutable, on se peut se connecter, soit on reste connecté en biadmin, soit en bidev/bidev soit en «tester» (qui est le profil spécifique aux tests et aux validations).