Vous êtes sur la page 1sur 40

Projet M1

Sujet 21 : Dveloppement d'un logiciel simplifi de


type Business Object

Professeur Tuteur : Thierry Spriet

7
8
9

Introduction....................................................................................................................4
1.1
Cadre du projet .......................................................................................................4
1.2
Objectif...................................................................................................................4
1.3
Systme existant .....................................................................................................4
1.4
Utilisateurs..............................................................................................................4
1.5
Organisation ...........................................................................................................4
1.6
Rappel sur les solutions envisages .........................................................................5
La plate-forme SPAGOBI...............................................................................................5
2.1
Prsentation ............................................................................................................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
Dmarrage ..............................................................................................................7
Extraction des donnes : Talend Open Studio..................................................................7
3.1
Pourquoi Talend Open Studio? ...............................................................................7
3.2
Prsentation de Talend Open Studio........................................................................8
3.3
Intgration avec SpagoBI......................................................................................12
BIRT ............................................................................................................................13
4.1
Prsentation ..........................................................................................................13
4.2
Installation............................................................................................................13
4.3
Utilisation et Intgration avec SPAGOBI..............................................................14
4.4
Cration de rapports pr gnrs ...........................................................................14
4.4.1
Introduction...................................................................................................14
4.4.2
Crer une source et un jeu de donnes. ..........................................................15
4.4.2.1 Dfinition de la source de donnes ............................................................15
4.4.2.2 Extraction partir d'une base de donnes...................................................15
4.4.2.3 Manipulation d'un jeu de donnes (data set)..............................................17
4.4.3
Conception d'un rapport ................................................................................18
4.5
Crer une librairie .................................................................................................18
4.6
Crer un template de rapports................................................................................19
4.7
Ajouter un rapport SpagoBI................................................................................20
4.7.1
Introduction...................................................................................................20
4.7.2
Crer un dossier ............................................................................................20
4.7.3
Ajouter les rapports.......................................................................................21
4.7.4
Tester et valider les rapports..........................................................................22
4.7.5
Excution......................................................................................................23
Hibernate......................................................................................................................24
5.1
Introduction ..........................................................................................................24
5.2
Prsentation dHibernate.......................................................................................24
5.3
Utilisation d Hibernate.........................................................................................25
QBE .............................................................................................................................27
6.1
Prsentation ..........................................................................................................27
6.2
Paramtrage ..........................................................................................................27
6.3
Fonctionnement ....................................................................................................31
Problmes rencontrs :..................................................................................................34
7.1
Difficults et problmes rencontrs .......................................................................34
7.2
Forums .................................................................................................................35
Organisation du travail .................................................................................................36
Conclusions ..................................................................................................................38

10

Annexes :..................................................................................................................39
10.1 Notice dinstallation SPAGOBI ............................................................................39
10.2 Versions et liens des fichiers utiles........................................................................39
10.2.1 Documentation :............................................................................................39
10.2.2 Fichiers ncessaires au fonctionnement de SpagoBI : ....................................39

1 Introduction
1.1 Cadre du projet
Ce projet est dvelopp pour une utilisation au sein de luniversit dAvignon.
Plusieurs bases de donnes sont utilises au sein de luniversit dAvignon. Elles regroupent
des donnes relatives la comptabilit, la gestion du personnel (Oracle), la scolarit et les
diplmes et maquettes (PostgreSQL).
Le besoin se fait ressentir pour un non informaticien dobtenir des informations en
provenance de plusieurs tables simultanment.

1.2 Objectif
Nous devons mettre en place une solution pour permettre un non informaticien de faire des
requtes (si possible graphiquement) sur ces bases de donnes.
Le choix qui a t fait au 1er semestre est de mettre en uvre une solution base sur des
composants Open Source relatifs au domaine de la Business Intelligence.

1.3 Systme existant


IL y a 2 bases de donnes rpertories :Une pour la gestion du personnel (Oracle) et lautre
pour la scolarit et les diplmes et maquettes (PostgreSQL), nomme freebo. Cest cette
dernire que nous allons utiliser.
Un serveur linux a t mis notre disposition lIUP.
Nous travaillons chez nous sur un systme dexploitation Windows XP et un systme MAC.

1.4 Utilisateurs
Nous devons trouver une solution pour un utilisateur novice en langage SQL.
Nous pouvons toutefois compter sur la prsence de contrleur de gestion, matrisant le
langage SQL.

1.5 Organisation
Un serveur Unix nous a t ddi au sein de l'IUP. Pour s'y connecter, nous disposions d'un
compte et nous y accdions par le protocole ssh. Le rcupration/dpt de fichiers s'est faite
par sftp grce un tunnel ssh.
C'est sur ce serveur que la base de donnes freebo a t installe. 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) Recrer une base partir dun dump :


psql -e {nom_de_la_base} < {nom_du_fichier.dump}
Un fichier de 800Mo a t cre la suite de cette tape. Pour r-injecter la base sur notre
propre machine de tests, il nous a fallu tlcharg ce fichier sur le serveur puis excuter le
fichier dump dans notre SGBD.

1.6 Rappel sur les solutions envisages


Au cours du 1er semestre nous nous sommes intress 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 possdant un profil relativement similaire
en terme de fonctionnalises.
Le fait que SpagoBI ne ncessitant aucun ajout payant pour faire fonctionner sa plate-forme
nous a fait opt pour cette solution.

2 La plate-forme SPAGOBI
2.1 Prsentation
SpagoBI est une solution OpenSource pour le dveloppement de projets de type Business
Intelligence, propos par la socit italienne Engineering Ingegneria Informatica.
Il n'y a donc pas de fonctionnalits volontairement absentes et rserves pour une version
commerciale comme c'est le cas pour Pentaho.
Cette solution offre donc une couche logicielle complte comprenant toutes les tapes de
lintelligence dcisionnelle (voir rapport 1er semestre) comme les fonctions de Reporting,
OLAP, de data mining, dashboards, QBE, collecte des donnes (ETL)
SpagoBI permet un dveloppement trs flexible permettant de mixer lopen source avec
des solutions propritaires.
Son grand avantage est donc sa capacit dintgration, ce qui permet de travailler
indpendamment par briques spares et une meilleure rpartition du travail.
Son inconvnient principal est que cest une solution jeune dans un secteur en pleine
volution, il faut donc se tenir rgulirement au courant quant lajout de nouveaux
composants et de fonctionnalits.
Site Web : http://spagobi.eng.it

2.2 Fonctionnement du Projet avec SpagoBI


Rappel : lobjectif est de permettre lutilisateur final de faire des requtes graphiques sur une
base de donnes.

Pour cela nous dcouperons les phases principales du projet conformment aux tapes dun
projet de Business Intelligence.
La collecte de donnes se fera par Talend Open Studio qui est un outil d'ETL en cours
dintgration avec la plate-forme SpagoBI.
La prparation de la partie Reporting sera ralise par BIRT.
La partie modlisation par Hibernate.
La partie requte graphique de lutilisateur final par le SpagoBIQbeEngine
SpagoBI propose en tlchargement une version dmo, celle ci propose au dveloppeur des
portlets , des applications qui, places dans un portail web, servent alors de conteneurs.
Ces portlets prdfinis qui permettent daccder aux fonctionnalits (reporting, QBE, etc)
de SpagoBI. Suivant les conseils de lquipe technique d IEE nous sommes donc parties de la
version dmo qui offre aux nouveaux utilisateurs de SpagoBI un socle complet pour dbuter
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 lments :
Installation d'un serveur dapplication sur lequel reposera la plate-forme de Business
Intelligence. Trois types de serveurs d'applications, crits en Java sont proposs : Tomcat,
Jboss et Jonas. Pour sa stabilit et sa simplicit d'installation, nous avons opt pour
Tomcat. Le serveur doit tre install au pralable avec exo-portal . Produit par une
startup franaise EXO Plateform , il s'agit d'un portail permettant d'inclure des
portlets.
Installation d'une JDK.
Installation d'OpenOffice.
Les diffrentes versions des fichiers concernant le serveur d'application et SpagoBI sont
tlchargeables 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 tlcharger l'archive et de
la dcompresser dans le rpertoire o SpagoBI sera install.

2.3.2 Installation de SPAGOBI


Avant le 06 avril 2007, aucun installeur graphique de SpagoBI n'existait. La dmarche
suivre en consistait en l'installation, en plus des trois lments (Java, OpenOffice, Tomcat
avec eXo-Portal), de la metabase de donnes (Oracle, PostgreSQL, mySQL, HSQLDB)
utilise par SpagoBI, de ses drivers, la configuration d'un JNDI (pour la connexion de
SpagoBI sa source de donnes (la metabase), l'installation d'un cms repository (System
de management de contenu), l'installation de la plateforme SpagoBI avec des configurations
lgres et enfin l'installation des moteurs souhaits (Birt, QBE,...).

Cette solution nous a pos de nombreux problmes (de trs 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 propose, nous prendrons alors soin, entre
autres, de slectionner SpagoBirtReportEngine (cf 4. Birt) et SpagoBIQBEEngine (cf 6.
QBE).

2.4 Dmarrage
Une fois SpagoBI correctement installe, la plate-forme peut tre dmarre. Pour ce faire, il
est ncessaire d'excuter le script /Spago/exo-portal/StartSpagoBI.sh ( StartSpagoBI.bat sous
Windows) qui se charge de lancer la metabase de donne et surtout le serveur d'application.
Pour stopper l'application, il faut excuter le script StopSpagoBI.sh.
Note : La ligne de commande dtail le dmarrage de l'application (ex : dmarrage de chacun
des moteurs SpagoBI) et l'on peut voir une erreur qui apparat 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 dmarre, SpagoBI est accessible par le biais d'un navigateur Internet l'adresse :
http://serveur:8080/sbiportal
La premire page dtaille les profils sous lesquels l'utilisateur peut se connecter pour accder
aux fonctionnalits qui lui correspondent.
Il y a 4 types dutilisateurs de SpagoBI:
1.Administrator: gre la configuration et les aspects de scurit.
Sous ce profil nous allons crer un rpertoire pour entreposer les documents (rapports) et
dfinir les droits daccs.
2.Developer: Pour crer ou modifier les documents.
En important les rapports pr gnrs de BIRT dans le rpertoire adquat.
3.Tester: Pour tester les documents (rapports en loccurrence) que nous rajoutons via la
partie administrateur et dveloppeur. 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
prcdents, lusage, laccs et les droits des documents sont limits par les paramtres dfinis
prcdemment.
Cest donc pour un user que nous allons concevoir les tapes suivantes afin daboutir sur la
partie QBE.

3 Extraction des donnes : Talend Open Studio


3.1 Pourquoi Talend Open Studio?
L'universit d'Avignon utilise des donnes provenant de plusieurs bases de donnes (ex :
Diplmes, Scolarit), qui ne sont pas forcment implmentes au sein du mme systme de

gestion de base de donnes (ex : postgreSQL, Oracle) et des utilisateurs appartenant


l'administration de l'universit prouvent le besoin de faire des requtes partir de ces
diffrentes bases.
Cette tape de la Business Intelligence, appele fonction d'ETL, est prsente dans notre projet
car elle permet de collecter des donnes provenant de plusieurs bases de donnes, ce qui ne
peut se faire par le simple biais de requtes SQL.
Il s'agit bien sr d'un travail que seul un informaticien pourra faire car il est indispensable de
connatre le langage SQL. Il pourra ainsi au pralable crer de nouvelles bases de donnes
rpondant aux besoins prcis des utilisateurs finaux.
Talend Open Studio (ou TOS) est un outil d'ETL open source, capable dextraire des donnes
de diffrentes bases de donnes.
Cet outil propose une solution cls en main , offrant un logiciel tlchargeable et
excutable de faon autonome sur un systme d'exploitation. En outre, Talend peut s'intgrer
la plateforme SPAGOBI qui, jusquil y a peu, tait dpourvu de solution d'outil
d'intgration de donnes.
Etant donn nos problmes rencontrs lors de l'installation de SpagoBI avant la sortie de
l'installeur graphique, nous avons dcouvert et pris en main Talend Open Studio dans sa
version cl en main.

3.2 Prsentation de Talend Open Studio


Le logiciel est tlchargeable sous forme d'une archive sur le site officiel
(http://www.talend.com/download.php), qu'il suffit de dcompresser 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.
Aprs avoir dcid de l'ouverture ou de la cration d'un nouveau projet, l'application, nous
offre une apparence de style TreeView familire Eclipse. On peut y voir les vues
suivantes : le rfrentiel (Repository), lespace de travail (WorkSpace), les
sorties/erreurs/logs. Et laperu Schma/code.

figure 1 : Interface de Talend Open Studio

Le Repository donne accs deux types essentiels de projet : les Business Models et les
Job Design . Le premier type permet de modliser des processus mtiers alors que celui
qui nous intresse, le Job Design, permet lui dassocier les composants qui nous permettront
de manipuler les flux de donnes provenant de diffrentes bases.
Des liens vers ces bases doivent tre configurs avant toute chose. Cest ainsi quil est
ncessaire dajouter des connections llment metadata/DB Connections du
repository (clique-droit, new connection). Une connexion par base de donnes est ncessaire.
Les paramtres fournir sont les suivants :
type de la base : mySQL/PostgreSQL/Oracle
url de la connexion : sous la forme jdbc:typeDeBase://adresse:port/baseDeDonnes
login/password : pour la connexion la base de donnes
adresse du serveur du serveur de base de donnes
numero de port du serveur de base de donnes
nom de la base de donnes

figure 2 : Paramtres de connexion une base de donnes

Nous avons dcids de tester TOS au travers dun exemple auquel on peut tre confront dans
le cadre de notre projet, mysql sera le SGBD.
Voici trois bases de donnes,
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),
grce la table match1. Cette base est actuellement remplit.
La base datab2 permet de savoir que tel tudiant (student) suit tel cours (course), grce la
table match2. Cette base est actuellement remplit.
La base datab3 permet de savoir que tel cours (course) appartient telle filiere (speciality),
grce la table match3. Cette base est actuellement vide, et cest celle-ci que nous voudrions
remplir partir des 2 premires afin quelle nous fournisse les informations demandes.

Ce problme fait appel des composants de la catgorie database qui vont nous permettre
dextraire, dassembler et dinjecter des donnes dans des bases suivant ces 3 tapes :
a) Extraction des donnes 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 filire 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 : Paramtres du composant tMySQLInputDB1_student

b) Multiplexage des donnes


Utilisation du composant central tmap qui permet de slectionner les donnes
entrantes, les conditions et leur destination.

Paramtrage du composant tMap

Comme peut le voir sur la figure 3, le paramtrage du tMap nous propose une vue
gauche des 4 entres de donnes, correspondant au 4 tMySQLInput. Le join entre

les divers champs sont dfinir en reliant simplement les champs concerns, do la
prsence de traits violets sur la gauche de la fentre.
Ensuite, nous relions les donnes extraire (id_Student et id_course) au composant
newOutput1, dont nous verrons le rle juste aprs, droite de la fentre de
paramtrage du tMap.
c) Injection des donnes dans la base vide
Il est enfin ncessaire dinjecter ces donnes pertinentes (id_Student et id_course) dans
la 3me base, datab3. Ceci est fait en partie grce au composant newOutput1 du tMap
qui est li au composant tMysqlOutput_2 prsent sur le job. Ce dernier est paramtr
pour interagir avec datab3, la base remplir.

figure 4 : Vue complte du job

Il reste alors dmarrer le job grce licne de la flche verte, qui doit sexcuter avec
succs. On peut ensuite constater dans notre base de donnes datab3, que les champs
(id_Student et id_course) sont tous l et quils correspondent. Cette base remplit donc
prsent son rle : nous savons que tel tudiant suit tel cours.
Note : TOS bnficie de plus dune communaut trs dynamique. De nombreuses mise jour
sont rgulirement publies et le forum est trs actif, ce qui nous a permis de surmonter
quelques difficults dans la prise en main du logiciel ou des bugs dun version antcdentes
(cf 7.1 Difficults et problmes rencontrs).

3.3 Intgration avec SpagoBI


Il est noter que nous avons seulement utilis une infime partie des possibilits de TOS, en
limitant notre production des tests pour gnrer une base de donnes partir de plusieurs.
Une tude approfondie des bases de donnes cibles et des besoins devrait permettre une
utilisation optimise de cette tape.

4 BIRT
4.1 Prsentation
Le projet BIRT, Business Intelligence and Reporting Tools est un plug-in Eclipse opensource qui propose un systme de cration de rapports ( ou tats ) pour les applications Web.
Il se compose dun outil de conception de rapports bas sur Eclipse et dun moteur
d'excution installable dans un serveur d'applications J2EE.
L'utilisation de BIRT peut se rsumer de la faon suivante :

figure 5 : Schma de lutilisation de BIRT

En ce qui concerne laffichage des donnes. BIRT propose une vue 'Explorateur de donnes'
qui permet la dfinition d'une ou plusieurs 'sources de donnes' (par exemple une base de
donnes relationnelles) et d'un ou plusieurs 'jeux de donnes' extraits de la source de donnes
(par exemple les champs renvoys par une requte SQL). Les 'jeux de donnes' constituent les
donnes afficher.
L'dition du rapport se fait en mode graphique en insrant les diffrents composants
graphiques proposs (Texte, image, tableau, liste, graphique, ...). Les valeurs affiches par ces
composants peuvent tre soit statiques, soit extraites des 'jeux de donnes', soit calcules en
utilisant des formules prdfinies et des scripts crits en JavaScript.
A tout moment, le concepteur du rapport peut demander son excution directement partir du
viewer de BIRT.
Il y a plusieurs choix possible pour le format de la prvisualisation :HTML ou PDF.
La mise en exploitation se fait en dployant le rapport sur un serveur d'applications J2EE dans
lequel le moteur d'excution BIRT a t install.

4.2 Installation
Le projet BIRT propose plusieurs tlchargements 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'excution (Report Engine et donc le
SpagoBIBirtEngine).

4.3 Utilisation et Intgration avec SPAGOBI


La partie BIRT est essentiellement axe pour le dveloppeur.
Sachant que le but d'un rapport est d'afficher des donnes, dans notre projet nous allons
utiliser BIRT pour 2 objectifs :
Crer quelques rapports pr gnrs que nous chargerons par la suite dans SpagoBI.
Ces rapports finis seront directement excutables pour lutilisateur dans SpagoBI.
Dans un second temps, nous avons explorer les fonctionnalits de Birt pour faciliter la
prparation de rapport :
Nous avons la possibilit de crer un template qui est un modle de prsentation au
niveau design et/ou niveau contenu pour construire des rapports. Nous pouvons aussi
personnaliser la librairie comprenant lensembles des composants et des donnes
ncessaire pour la prparation des rapports sous Birt.
Pour ce faire nous avons dabord suivi le tutorial pour crer un rapport afin de matriser loutil
BIRT.
Puis une fois cette tape de conception matrise nous avons dvelopp les diffrentes tapes
qui vont constituer la cration de rapports personnalises avec la base freebo.

4.4 Cration de rapports pr gnrs


4.4.1 Introduction
On commence par la cration dun projet Eclipse (mme si BIRT ne ncessite pas la cration
d'un projet Eclipse d'un type particulier un type de projet nomm 'projet d'tat' est tout de
mme propos).

figure 6 : Crer un nouvel tat


Puis on cre un nouveau rapport :
Nous avons ici la possibilit de slectionner un modle prdfini (template) de rapport parmi
une liste.( Liste simple, groupes, rapport vierge, graphique etc)
Nous verrons plus tard comment pour concevoir notre propre template.
Une fois cre le rapport est disponible dans la zone d'dition.

4.4.2 Crer une source et un jeu de donnes.


Nous allons devoir paramtr une source de donnes (data source) et un jeu de donnes (data
set) correspondant dune part la base de donnes sur laquelle nous travaillons et dautre part
sur le contenu.
Une data source est une connexion une base de donnes telle quune connexion JDBC.
Une data set est une description des donnes sur lesquelles on va travailler. Les requtes SQL
seront le plus souvent utilises.

4.4.2.1 Dfinition de la source de donnes


Chaque rapport est associ un ou plusieurs jeux de donnes qui seront manipuls pour
dfinir la structure des donnes du rapport.
En ce qui nous concerne, nous allons par la suite utiliser des bases de donnes relationnelles
accessibles par JDBC dcoulant de TOS pour dfinir notre source de donnes.

figure 7 : Slection du type de la nouvelle source

4.4.2.2 Extraction partir d'une base de donnes


Si BIRT prend en charge la connexion la base de donnes et l'extraction des donnes, il faut
nanmoins prciser d'une part les informations de connexion (le driver notamment): et d'autre

part la requte SQL utiliser.


Pour ce faire dans l'assistant de cration il faut indiquer les paramtres suivants : le driver
JDBC, la chane de connexion JDBC (sous la forme
jdbc:typeDeBase://adresse:port/baseDeDonnes), le nom d'utilisateur et le mot de passe
(optionnel).

Figure 8 : Ajout nouvelle source de donnes

Nous pouvons ajouter le driver correspondant la base dans la partie Grer les pilotes .
Ainsi nous avons ajout le driver postgreSQL que nous avons rcupr :
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 crer un ou plusieurs 'jeu de donnes' qui seront associs la
source de donnes.

4.4.2.3 Manipulation d'un jeu de donnes (data set)

figure 9 : Nouveau jeu de donnes

Une fois dfini, le jeu de donnes apparat dans la vue 'Exploration des donnes'.
L'assistant de cration d'un jeu de donnes permet la visualisation de la structure des tables et
l'dition de la requte SQL.
Les proprits du jeu de donnes sont ditables, il est notamment possible de rajouter des
champs calculs :
On va indiquer la requte SQL utiliser.
Exemple dun jeu de donnes qui est utile pour notre projet :

figure 10 : Jeu de donnes

Nous pourrons aussi regrouper des donnes provenant de diffrentes diffrents type de
DataSources (de 2 bases de donnes mysql et oracle par exemple) en utilisant Join Data
Set et crer autant de jeux de donnes que ncessaire.
Nous avons ainsi un ensemble de jeux de donnes prt utiliser.

figure 11 : Explorateur de donnes

4.4.3 Conception d'un rapport


Pour ce qui est du contenu nous pouvons maintenant utiliser lditeur propos par Birt pour :

Choisir le composant que nous dsirons insrer dans le rapport parmi les diffrents
types proposs par Birt : les composants permettant d'afficher les donnes sous forme
textuelle (Texte, tableau, liste), ou sous forme de graphiques

Slection des donnes afficher. Ces donnes peuvent provenir directement du jeu de
donnes ou tre calcules par des fonctions javascript prdfinies.

La dernire tape consiste la prsentation du rapport en personnalisant lentte par


exemple( en ajoutant le nom dutilisateur, Titre, date et le logo de luniversit, police,
couleurs).
Nous avons maintenant conu un rapport.

4.5 Crer une librairie


Nous avons la possibilit de crer une librairie qui pourra tre import dans nimporte quel
rapport et template BIRT afin de rduire significativement le temps de conception.
Par exemple, si des composants dune libraire tel que le logo ou des requtes sur la base
travers un tableau ou une diagramme, sont utiliss de nombreuses fois au cours de la
conception de nouveaux rapports alors la librairie contiendra ces lments et permettra une
rutilisation plus facile.

Les composants qui peuvent tre ajouts la librairie incluent les data sources et sets, les
paramtres des rapports, les tableaux, graphes, thmes et images
La nouvelle librairie une extension '.rptlibrary'.
Une fois la librairie cre et sauvegarde le dveloppeur pourra importer la librairie pour
lutiliser dans la conception de rapports.
Il pourra facilement inclure les composants aux rapports grce un simple drag-and-drop.
De mme un simple import de la librairie suffira pour ladapter au rapport utilis.
Explications :
http://www.theserverside.com/tt/articles/article.tss?l=EclipseBRT

4.6 Crer un template de rapports


Nous allons vu que lors de la cration dun rapport nous avons le choix entre plusieurs
modles, Birt donne la possibilit de crer nos propres modles (template )de rapports adapts
nos besoins. Ce modle proposera une structure et un design prdfini qui facilitera le
dveloppement ultrieur de nouveaux rapports.

figure 12 : Cration dun template

Une fois le template cre on le publie. Il sera maintenant disponible dans la liste de templates
proposs dans Birt lors de lajout dun nouveau rapport.
En particulier nous avons vu comment proposer un template avec une entte adapte (logo de
luniversit).
La cration de template pourra tre particulirement utile dans le cas ou nous souhaiterions
personnaliser la prsentation des rapports gnrs par QBE dans SpagoBI. Cette
fonctionnalit tant en cours de dveloppement nous navons pas pu la tester.

figure 13 : Exemple de rapport BIRT sur la base freebo

4.7 Ajouter un rapport SpagoBI


4.7.1 Introduction
Lajout de rapports pr gnrs dans Birt SpagoBI peut tre particulirement utile pour
lutilisateur final dans le cas ou celui ci peut disposer dun dveloppeur/gestionnaire de la
base pouvant lui proposer une liste de rapports adapts ces besoins.
Les tapes principales pour excuter un rapport pr-gnr de Birt dans SpagoBI sont :
1. Crer un rpertoire pour mettre les rapports
2. Importer les rapports cres dans Birt dans ce rpertoire.
3. Tester le Document valider le document (passer ltat de test release) se logger en bidev
ou bitest. Sinon dans ltape suivante
4. Excuter le Document en se loggant en user staff_gen par exemple (nous avons galement
ici la possibilit de valider le document)
A noter quune modification sur la base de donnes entrane une modification de laffiche du
rapport pr-gnr dans SpagoBI.

4.7.2 Crer un dossier


Afin de pouvoir insrer les rapports et les rendre accessible il faudra crer au pralable un
rpertoire dans larborescence de SpagoBi pour les entreposer.
Pour cela nous allons suivre les indications du paragraphe 6.2.1.F UNCTIONALITIES MANAGEMENT du
document quickstart.
De fait il conviendra de sidentifier en biadmin/biadmin pour pouvoir crer un rpertoire.
Ensuite il faudra aller dans longlet Document and tree management .

figure 14 : Document and tree management

Puis slectionner functionnalies tree pour apercevoir larbre complet.

figure 15 : Functionnalities management

Ensuite il suffira de cliquer sur une racine et de slectionner insert pour insrer un nouveau
rpertoire.

4.7.3 Ajouter les rapports


L tape suivante ne ncessite pas ncessairement de changer didentifiant mais il est conseill
de le faire partir du profil dveloppeur : bidev/bidev.
Il faudra aller dans longlet development Environnment et changer la vue en arbre en
cliquant sur limage du milieu

Puis conformment aux indications du quickstart(6.3.4.DOCUMENT CONFIGURATION), pour


importer les rapports cres dans Birt dans le rpertoire de notre choix il faudra cliquer sur
licne 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 rpertoire on
veut le mettre.

figure 17 : Ajout du fichier de report dans SpagoBI

4.7.4 Tester et valider les rapports


Maintenant afin de vrifier si le rapport est bien excutable, on se peut se connecter, soit on
reste connect en biadmin, soit en bidev/bidev soit en tester (qui est le profil spcifique
aux tests et aux validations).

Pour tester si lexcution marche bien et changer ensuite ltat de development


released .
Il suffit ensuite de cliquer sur le rapport et de slectionner execute pour lancer lexcution
du rapport ( noter que selon les droits on peut changer ltat du rapport)

4.7.5 Excution
Voil le rapport est correctement install sur la plate-forme SpagoBI, il ne reste plus qu
sidentifier en tant utilisateur (staff_gen par exemple)
Puis aller longlet navigation, ou lon verra apparatre larbre des rpertoires avec les
documents prsents.

figure 18 : Navigation

On excute le rapport sur un simple clic gauche.

figure 19 : Exemple de rapport dans SpagoBI

Sources :
Prsentation et Fonctionnement de BIRT :
http://www.eclipsetotale.com/articles/BIRT.html
Par ailleurs prsence de nombreux tutoriaux sur le site officiel:
http://www.eclipse.org/birt/phoenix/tutorial/

5 Hibernate
5.1 Introduction
Pour faire fonctionner QBE partir de notre propre source de base de donnes il est
ncessaire dfinir au pralable un nouveau modle de la base de donnes.
Ce modle doit tre ralis laide de Hibernate et consiste en la cration dun fichier (jar).
Ce fichier est en fait un datamart , sorte dentrept de donnes qui dcrit la structure de
la base de donnes sur laquelle on souhaite appliquer du QBE depuis SpagoBI.

5.2 Prsentation dHibernate


Hibernate est un plugin Eclipse qui nous permet de manipuler les donnes d'une base de
donnes relationnelle sous forme d'objet (ie un framework de mapping objet/relationnel. Ou
de persistance objet des donnes.).
Le fait de manipuler directement les donnes d'une base sous forme d'objet est beaucoup plus
pratique, cela nous permet de nous dfaire de toute la couche SQL.

figure 20 : Une architecture en couche (Source : hibernate.org)

De plus, cela permet de dfinir clairement la limite entre la persistance et la couche mtier, ce
qui se rvle trs utile dans le cas d'une application trois-tiers.
Nous allons, cependant, nous intresser une couche plus basse d'une architecture
applicative, la couche d'accs aux donnes. Celle-ci permet d'interfacer le code mtier avec
une source de donnes.
L'intrt est de pouvoir changer de base de donnes en n'ayant besoin de ne modifier que la
couche d'accs.
L'utilisation de Hibernate permettra d'utiliser n'importe quelle BDD, tout en gardant le code
Java identique. Pour l'exemple ici, cela dit, nous allons nous servir de MYSQL.
Pour tlcharger la dernire version d'Hibernate (3.2.0), il suffit d'aller le chercher sur
sourceforge
http://sourceforge.net/project/showfiles.php?group_id=40712&package_id=12778

5.3 Utilisation d Hibernate


Pour crer notre fichier datamart.jar, nous devons suivre une procdure prcise. Dans Eclipse
(o Hibernate est install), on cre tout dabord un nouveau projet Java . A ce projet, on
ajoute (new) un nouveau fichier de configuration Hibernate, hibernate.cfg.xml . Cest ce
fichier qui prend en paramtres les donnes utiles pour la connexion avec la base de donnes
souhaite :

figure 21 : Ajouter un fichier de configuration Hibernate

figure 22 : Configurer le fichier cfg

Type de la base : mySQL/PostgreSQL/,


Driver de la base : exemple pour postgreSQL : org.postgreSQL.Driver
url de la connexion : sous la forme jdbc:typeDeBase://adresse:port/baseDeDonnes
login : login pour la connexion la base de donnes
password : mot de passe pour la connexion la base de donnes
On prend soin de placer se fichier dans le rpertoire qui contient les sources du projet.
Nous configurons la console hibernate associe au fichier prcdent, puis nous devons
gnrer le code Hibernate. Cette tape permet de gnrer des classes (.java) pour toutes les
tables de la base de donnes et les fichiers de mapping xml associs que nous pouvons
apercevoir dans larborescence du projet au sein dEclipse. Il nous reste alors exporter le
projet sous la forme dune archive jar : datamart.jar.

figure 23 : Exporter le fichier

Le fichier est maintenant prt tre import dans SpagoBI.

6 QBE
6.1 Prsentation
Query By Example est loutil intgr la plateforme SPAGOBI pour crer des requtes
partir dune interface graphique. Cette fonctionnalit est importante dans notre projet car elle
va permettre lutilisateur final, non informaticien, dinterroger une base de donnes sans
connatre le langage SQL et afficher des rsultats pertinents.

6.2 Paramtrage
QBE permet, au sein de SpagoBI, dinterroger une base de donnes au travers dun
datamart . Pour ce faire, il est tout dabord ncessaire de modifier des fichiers de
configuration de la plateforme de Business Intelligence pour renseigner la prsence dune
nouvelle connexion un base de donne au travers de QBE. Il faut ainsi modifier les 5 fichier
xml suivants ( exo-home signifie le rpertoire dsignant le serveur Tomcat avec exoportal).
a) Dans exo-home/conf/server.xml, on indique les paramtres de dfinition dune
nouvelle source de donnes comme une ressource dapplication dun serveur JNDI. Il
convient de rajouter ces lignes lintrieur de la balise <GlobalNamingResources> :
<Resource name="jdbc/sbifoodmart2" auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/sbifoodmart2">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>org.postgresql.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:postgresql://localhost:5432/freebo</value>
</parameter>
<parameter>
<name>username</name>
<value>freebo</value>
</parameter>
<parameter>
<name>password</name>
<value>freebopass</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>

<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>-1</value>
</parameter>
</ResourceParams>

o jdbc/sbifoodmart2 est le nom de la ressource JNDI (le choix de ce nom vient du fait
que la ressource JNDI de dmonstration tait nomme jdbc/sbifoodmart)..
b) Dans exo-home/conf/catalina/localhost/SpagoBIQbeEngine.xml, on indique au moteur
QBE lexistence dune nouvelle source de donnes en remplaant la ligne dsignant
lancienne par celle dsignant la nouvelle :
<ResourceLink name="jdbc/sbifoodmart2" type="javax.sql.DataSource"
global="jdbc/sbifoodmart2"/>

lintrieur de la balise contexte.


c) On ajoute cette mme ligne dans le fichier
exo-home/conf/catalina/localhost/spagoBI.xml
d) Dans
exo-home/webapps/SpagoBIQbeEngine/WEB-INF/conf/data_access.xml, on associe le nom
de la source de donne ( jdbc/sbifoodmart2 ) un nom que lon a choisi : Foodmart2 (le
choix de ce nom vient du fait que la source de donne de dmonstration tait nomme
Foodmart).
e) Enfin, dans le fichier exo-home/webapps/SpagoBIQbeEngine/WEB-INF/web.xml, on
ajoute ces 4 ligne dans la balise <Webapp> :
<resource-ref>
<description>Foodmart2 db</description>
<res-ref-name>jdbc/sbifoodmart2</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

Les fichiers de configuration modifis, il faut maintenant importer et dployer le datamart au


sein de la plateforme de Business Intelligence.
Pour ce faire, il est ncessaire de dmarrer SpagoBI et daller sur la page du moteur de QBE
par le navigateur ladresse http://localhost:8080/SpagoBIQbeEngine/ .

figure 24 : Page daccueil du moteur QBE de SpagoBI

Aprs avoir cliqu sur le logo, il est ncessaire de se logger en tant quadministrateur de
SpagoQBEEngine.
Ces administrateurs et leur mot de passe sont dfinis dans le fichier
exo-home/webapps/SpagoBIQbeEngine/WEB-INF/conf/autorization.xml
Il est noter que les mots de passes sont crypts dans ce fichier. Pour les gnrer, Engineering
Ingegneria Informatica a prvu un utilitaire (QbeEnginePasswordGenerator.sh sous Unix,
QbeEnginePasswordGenerator.bat sous Windows) tlcharger cette adresse :
http://forge.objectweb.org/project/download.php?group_id=204&file_id=7921
Voici son interface, trs simple :

figure 25 : Interface du gnrateur de SpagoBIQbeEngine

Il est not que le script .bat ne fonctionne pas sous Windows mais uniquement sous unix
avec une erreur non bloquante lors de son lancement.
Maintenant logg en administrateur, nous pouvons charger notre datamart, en lui donnant un
nom logique qui correspond celui de largument name de la balise connection
ajoute dans le fichier
exo-home/webapps/SpagoBIQbeEngine/WEB-INF/conf/data_access.xml.
et en allant le chercher sur le disque laide du bouton parcourir :

figure 26 : Chargement du datamart dans SpagoBIQbeEngine

Une fois cette tape effectue, le datamart Foodmart2 apparat en haut de lcran :

figure 27 : Ajout du datamart dans SpagoBIQbeEngine

Le datamart peut donc tre lanc depuis cette page. Pour cela, il convient de cliquer sur son
icne correspondante reprsentant un loupe (la crois sert supprimer le datamart).
Il nous est alors demand le dialect de la source de donne (mySQL, postgreSQL,
Oracle,)

figure 28 : Slection du dialect du nouveau datamart

Un clique sur la disquette et lon peut faire des requtes graphiques sur notre base de donnes.

6.3 Fonctionnement
Linterface QBE se prsente ainsi :

figure 29 : Interface du moteur de QBE

On aperoit toutes les tables (qui rentrent dans la fentre) de notre base de donnes freebo ,
qui laissent apparatre leurs champs lorsquelles sont cliques.
Cette premire tape est appele Field Selection comme lindique longlet (haut de la
page slectionn.
On trouve ensuite des tapes facultatives dans linterrogation de la base :
conditions : conditions sur les champs de donnes slectionns.
Ordering : pour classer ses rsultats
Grouping : pour les grouper
View Query : pour voir la requte SQL gnre par le moteur
Save Query : pour la sauvegarder
Ensuite, ltape obligatoire : Execute Query pour gnrer les rsultats associs la requte de
lutilisateur.
Ceux-ci saffichent alors lcran :

figure 30 : Affichage des rsultats dune requte QBE

Ici on affiche toutes les filires de la base dont le type est iut .
Comme on peut le voir, il est possible de les exporter sous plusieurs formats connus tels
que pdf, xls, xml,
La dmonstration que nous venons de voir seffectue depuis la page du moteur QBE de
SpagoBI et sous le login dun administrateur QBE.
Ce parat vident, cest quun utilisateur lambda puisse effectuer une telle opration depuis
linterface principale de SpagoBI et sous son login ou du moins un appartenant au type
utilisateur ( Users ).
Pour ce faire, il est ncessaire de dfinir un document de type datamart au sein de
SpagoBI.
Une fois connect sur SPAGOBI en biadmin / biadmin (profil technicien), il faut aller sur
longlet document and tree management , slectionner les documents de type QBE ,
montrer les templates en cliquant sur Show document templates . Les diffrents templates
saffiche, il convient alors de tlcharger celui modifier. Cest dans ce fichier xml que lon
remplacera les lignes existantes par celle-ci :
<QBE>
<DATASOURCE name="Foodmart2"
dialect="org.hibernate.dialect.PostgreSQLDialect" />
<DATAMART
name="Foodmart2"/>
</QBE>

en rapport avec le nouveau datamart exploiter .


Il faut prsent charger ce fichier modifi grce au bouton parcourir , puis sauvegarder.

figure 31 : Interface de modification des templates QBE

Ainsi, un utilisateur (et non un technicien), logg sous staff_gen/staff_gen peut accder aux
fonctionnalit du moteur QBE depuis linterface principale de SpagoBI.

figure 32 : Aperu de lInterface Utilisateur du moteur QBE dans SpagoBI

7 Problmes rencontrs :
7.1 Difficults et problmes rencontrs
- Linstallation manuelle de SpagoBI en ligne de commandes nous a pos des
problmes sur les diffrents systmes sur lesquels nous avons essay : Windows XP,
Linux et Mac OS souvent avec des erreurs diffrentes. Heureusement, en avril 2007,
Engineering Ingegneria Informatica proposait un installeur graphique de la plate-forme
Open Source.
- Nous avons parl de nos difficults faire des requtes graphiques au sein de
SpagoBI (QBE) sur la base de donnes que M. Spriet a install sur notre serveur l'IUP.
La taille de la base de donnes manipuler tant consquente (800 Mo), cela a entran
une portabilit dlicate et des temps de chargement assez long pendant la manipulation.
Lencodage des caractres du fichier de Dump de la base a galement du tre modifi.
Nous avons du procder sur des bases d exemples de nos crues pour toutes les phases de
tests et dapprentissages.
- Pour installer la base de donne sur une machine Windows, il est ncessaire que le
disque soit partitionn en NTFS, ce qui exclu les autres modes.
- Talend Open Studio a pos un problme bloquant sur un composant (tmap), ce que
nous avons signal sur le forum officiel. Il sagissait dun bug reconnu par lquipe de
dveloppement, il nous a fallu chang de version de logiciel (lien sur le forum :
http://www.talendforge.org/forum/viewtopic.php?id=476) pour passer de la M3 la RC1.
- Trouver les bonnes versions des solutions intgres SpagoBI, par exemple
SpagoBIBirtEngine ne tourne quavec Birt version 2.0.1. et cela nest pas indiqu
implicitement.
- La solution tant jeune et en pleine volution, les points manquants et dfaillants sont
encore nombreux et en cours de rsolutions.
- De plus la communaut Internet tant peu dveloppe et trs peu active, les cas de
blocage furent nombreux et mirent du temps se rsoudre.
-

Difficult vidente sauto former .

- La ralisation de ce fichier pour la base de donne du projet freebo, nous a engendr 8


erreurs pour huit classes distinctes. Il a donc fallu supprimer ces classes (ainsi que les
fichiers de mapping xml associs) du projet pour pouvoir crer le .jar. Dans le cas
contraire, le .jar que lon importe dans SpagoBI gnre une erreur bloquante qui affiche les
deux caractres ]> au sein de la page web en lieu et place des tables et champs de la base
de donnes.

7.2 Forums
Voici les sujets que nous avons cre o dont nous avons particip dans diffrents forums:
- Forum officiel de SpagoBI (http://forge.objectweb.org/forum/?group_id=204) :
Sujet : Problem with the jndi server definition
http://forge.objectweb.org/forum/forum.php?thread_id=3448&forum_id=862
Sujet : how to change the QBE datasource
http://forge.objectweb.org/forum/forum.php?thread_id=3402&forum_id=862
Note : ce sujet est rest sans rponse.
Sujet : Errors when launching spagoBI
http://forge.objectweb.org/forum/forum.php?thread_id=3354&forum_id=862
- Forum officiel de Talend Open Studio (http://www.talendforge.org/forum/) :
Sujet : How to connect 2 databases
http://www.talendforge.org/forum/viewtopic.php?id=406
Sujet : DBConnection problem
http://www.talendforge.org/forum/viewtopic.php?id=429
Sujet : tmap editor error
http://www.talendforge.org/forum/viewtopic.php?id=476
Sujet : A beginning error with DBConnections
http://www.talendforge.org/forum/viewtopic.php?id=475
- Forum de Hardware.fr (http://forum.hardware.fr/)
Sujet : Problme d'encodage de caractres
http://forum.hardware.fr/hfr/OSAlternatifs/Codes-scripts/probleme-encodage-caracteresujet_63206_1.htm
Note : ce sujet fait suite au problme dencodage du fichier dump de la base freebo.
- Forum de Developpez.com (http://www.developpez.net/forums/)
Sujet : Comment installer birt sous MacOs X
http://www.developpez.net/forums/showthread.php?p=2067015#post2067015
Sujet : Hibernate et le QBE
http://www.developpez.net/forums/showthread.php?p=1953381#post1953381
Sujet : [SpagoBI] Recherche de documentation
http://www.developpez.net/forums/showthread.php?p=1953122#post1953122

Sujet : Si qqun connait spagoBI


http://www.developpez.net/forums/showthread.php?p=1952741#post1952741
Sujet : Recherche ETL pour SPAGOBI
http://www.developpez.net/forums/showthread.php?t=283818

8 Organisation du travail

Semaines du 21 janvier au 5 fvrier


o Analyse comparative technique des solutions SpagoBI et Pentaho
7 fvrier :
o Choix de la solution avec monsieur Spriet
Semaine du 12 au 18
o Proposition de planning
o Prvision pilotage
o Dveloppement de la Page Web du projet.
Semaine du 19 au 25 fvrier
o Installation Tomcat et java JDK nos domiciles.
o Recherche dinformations pour le choix de lETL, loutil dextraction de bases
de donnes (la partie principale de notre projet)
o Entre Kettle (le plus rpandu) et Talend Open Studio (en voie dintgration
avec la plate-forme SpagoBI) nous avions dabord pens utiliser Kettle,
puisque Kettle marche avec du java et Talend Open Studio avec du Perl.
o Mais le 28 fvrier, nous avons appris que Talend Open Studio venait de sortir
une version qui supporte java. Donc le choix de lETL sest port sur Talend
Open Studio.

Semaine du 25 au 4 Mars
o Installation Tomcat et SpagoBI nos domiciles

Semaines du 4 Mars au 6 Avril


o Tentatives d'installation d'eXo-Tomcat pour SpagoBI sur le serveur de l'IUP.
o Prise en main de Talend Open Studio (outil d'ETL) et de Birt (gnrateur de
rapport).

Semaines du 10 Avril au 11 mai


o Prise en main de Birt pour la cration de reports sur des donnes
implmentes au sein d'un SGBD (postgreSQL dans notre cas) dexemples
personnaliss.
o Tests pour le fonctionnement de la partie qbe (Query by example) de
SpagoBI pour pouvoir faire des requtes graphiques en ligne sur une base
postgreSQL.
o Installation et prise en main d'Hibernate (plugin Eclipse de framework de
mapping objet/relationnel)
o Conception dun datamart ncessaire pour le fonctionnement de SPAGOBI sur
notre base de donnes.

Semaines du 12 Mai au 28 Mai

o Essais pour faire fonctionner le qbe sur la base de donnes de M Spriet se


trouvant sur Harry (ncessit de faire un dump de la base).
o Dveloppement final du site Web du projet.
o Essais pour pouvoir prsenter au sein de SpagoBI des rapports concernant la
base de donnes de M Spriet.
o Cration de templates et de reports avec BIRT sur des donnes
implmentes au sein de la base de donnes fournie (postgreSQL dans notre
cas).
o Ajout de ces reports dans SPAGOBI (test sous XP et MacOS X).
o Facultatif : installation de SpagoBI sur le serveur de l'IUP avec Talend Open
Studio et BIRT (ncessit de l'installation d'un serveur X sur le serveur).

9 Conclusions
Le domaine de la Business Intelligence regroupe des fonctionnalits trs demandes dans le
domaine de linformatique. Les outils de ce type sont complexes, lourd mettre en place et le
plus souvent payants. Mais depuis quelques temps, certains logiciels, limage de SpagoBI,
proposent des solutions open source et gratuites. Ces produits sont encore jeunes mais tout
fait utilisables et voluent grands pas.
La dcouverte, linstallation et lutilisation de SpagoBI nous a permis de voir quil tait
possible de remplir lobjectif de notre projet travers cette solution. Une fois installe et
configure, cette plate-forme de Business Intelligence nous a prouv qu travers celle-ci,
nous pouvions crer des groupes dutilisateurs, interroger nimporte quelle base de donnes
graphiquement et dresser des rapports prdfinis sur les donnes qui voluent au sein de la
base.
Ainsi, les utilisateurs non-informaticiens peuvent accder en ligne comme ils lentendent aux
donnes disperses dans le systme dinformations et les mettre en forme pour les exploiter.
Ce rapport prsentes toutes les marches suivre pour
- installer et paramtrer SpagoBI
- extraire des informations partir de plusieurs bases de donnes (ETL)
- dfinir de nouvelles connexions vers dans nouvelles bases de donnes pour pouvoir les
interroger graphiquement en ligne au sein de SpagoBI (Hibernate, QBE)
- dfinir des rapports prdfinis, intgrs dans SpagoBI qui voluent avec les donnes
physiquement implmentes (BIRT)
Nous avons du faire face la complexit et la taille de la solution dvelopper.
Malgr le fait que nous nous intressions seulement la partie cration graphique de rapports,
nous avons conclu quil tait indispensable daborder les diffrentes tapes dun projet de
Business Intelligence pour pouvoir excuter le QBE.
Cela a entran des contraintes de temps dapprentissage consquent qui ont fait quau niveau
de l'organisation et de la gestion du projet nous avons du passer par une longue phase
dapprentissage en parallle pour comprendre les concepts fondamentaux de la solution.
Par ailleurs, parmi les orientations qui peuvent tre envisages :
SpagoBI donne la possibilit dutiliser le scheduler intgr TOS afin dautomatiser laccs
aux bases de donnes.
Une tude des besoins de lutilisateur devrait permettre loptimisation de lexploitation de la
base de donnes pour explorer les possibilits quoffrent TOS et pour spcifier son
intgration.
De mme pour construire une librairie Birt et des templates (que nous avons mentionn
prcdemment).
Concernant la dfinition des utilisateurs, nous avons la possibilit de crer de faon complte
et dtaille des groupes dutilisateurs afin dadapter clairement les accs aux besoins des
utilisateurs. Et ainsi fournir un schma complet des utilisateurs.
Une plate-forme libre de Business Intelligence peut difficilement se rduire du QBE et du
reporting et lon peut trs bien imaginer terme remplacer une solution propritaire. Ce qui
savre fortement intressant et mrite dtre tudi plus largement.

10 Annexes :
10.1 Notice dinstallation SPAGOBI
Il est recommand dinstaller dabord Tomcat avec exo-Portal, puis linstallation graphique de
SpagoBI.
Ensuite les installations de Birt, Hibernate ( plug-ins Eclipse ) et Talend Open Studio.
Toutes les sources et les notices se trouvent dans les liens suivants.

10.2 Versions et liens des fichiers utiles


10.2.1

Documentation :

Installation Graphique : HowToUseSpagoBIInstaller--1.9.2.pdf


http://forge.objectweb.org/project/download.php?group_id=204&file_id=7927
Installation manuelle : SpagoBI_eXoTomcat_Installation_Manual_1.4.3.pdf.zip
http://forge.objectweb.org/project/download.php?group_id=204&file_id=7704
Configurer SpagoBI : SpagoBI_How_To-1.6.pdf
http://forge.objectweb.org/project/download.php?group_id=204&file_id=7661
Pour dbuter avec SpagoBI : QuickStart-0.9.2.pdf.zip
http://forge.objectweb.org/project/download.php?group_id=204&file_id=7660
Petite aide visuelle pour SpagoBI : petite_aide_visuelle_spagobi.pdf
http://www.altic.org/actualite/98.shtml
Livret blanc de Talend Open Studio (Installation et prise main):
Documentation sur BIRT (site officiel) :
http://www.eclipse.org/birt/phoenix/
Documentation BIRT (site rfrence franais) :
http://www.eclipsetotale.com/articles/BIRT.html

10.2.2

Fichiers ncessaires au fonctionnement de SpagoBI :

- exo-portal-1.1.4-tomcat.zip
http://forge.objectweb.org/project/download.php?group_id=151&file_id=8171
- Espace de tlchargement de SpagoBI et de ses moteurs :
http://forge.objectweb.org/project/showfiles.php?group_id=204

- SpagoBIInstaller-1.9.2-04062007.zip
http://forge.objectweb.org/project/download.php?group_id=204&file_id=7970
- SpagoBIQbeEngine-bin-1.9.2-03302007.zip
http://forge.objectweb.org/project/download.php?group_id=204&file_id=7921
- OpenOffice :
http://download.openoffice.org/index.html
- JDK :
http://developers.sun.com/downloads/
- Birt 2.0.1
http://download.eclipse.org/birt/downloads/build.php?build=R-R1-2_0_1-200602221204
Note : Nous vous conseillons de prendre birt-report-designer-all-in-one-2_0_1.
- Eclipse
http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.2.2200702121330/eclipse-SDK-3.2.2-macosx-carbon.tar.gz
- Hibernate (JBossIDE-1.5-ALL.zip dzipper)
http://sourceforge.net/project/showfiles.php?group_id=22866&package_id=72248&release_i
d=382687