dossier odb is beta 2
Post on 12-Oct-2015
39 Views
Preview:
DESCRIPTION
TRANSCRIPT
-
2009/2010 LICENCE PRO-SIL : PROJET TUTORE
Groupe : Yahsine,Resnay, Kojo, Amadou, Alain
Tuteur : Moez Essaidi
-
Ad Hoc reporting
Page 1
SOMMAIRE
I) CAHIER DES CHARGES .......................................................................................................................2
Lobjectif du projet : ..................................................................................................................................... 2
Environnement du projet :........................................................................................................................... 2
Lquipe: ...................................................................................................................................................... 2
Les moyens mis en place :............................................................................................................................ 3
II) AD HOC REPORTING, DFINITIONS ...................................................................................................8
III) ETUDE DE LEXISTANT .................................................................................................................. 10
IV) ODBIS VS LES PRODUITS EXISTANTS ............................................................................................ 11
V) ETAT DE LART ................................................................................................................................ 12
VI) SPECIFICATIONS FONCTIONNELLES .............................................................................................. 18
VII) SPECIFICATIONS TECHNIQUES...................................................................................................... 28
VIII) ANALYSE ET CONCEPTION ............................................................................................................ 32
IX) DEVELOPPEMENT ........................................................................................................................ 42
X) SITE ET SUPPORT ............................................................................................................................ 48
XI) CONCLUSION ............................................................................................................................... 50
-
Ad Hoc reporting
Page 2
I) CAHIER DES CHARGES
L o b j e c t i f d u p r o j e t :
Ralisation de fonctionnalits dun module de adhoc reporting.
Ce type de logiciel doit permettre des utilisateurs non informaticiens dune entit de paramtrer et raliser des rapports selon leurs critres. Le rapport affichera des donnes sous une reprsentation qui peut tre un mlange de texte et de graphiques.
E n v i r o n n e m e n t d u p r o j e t :
Utilisation doutils open source.
Architecture JEE.
Interfaces web pour la cration et la consultation des rapports, dashboard et sources de donnes.
C e t r a v a i l s e s t d r o u l e e n p l u s i e u r s p h a s e s :
Etude de lexistant Odbis Beta1. Etablissement de ltat de lart et tude des produits existants et de leurs diffrents
packages open source. Spcifications fonctionnelles. Spcifications techniques. Etablissement du planning. Etude et conception du module.
L q u i p e :
5 personnes : Yahsine, Resnay, Kojo, Amadou et Alain Un responsable de projet est nomm afin dorganiser le travail et les relations avec le
tuteur. Les connaissances en JEE sont nulles au dpart du projet. Les connaissances en technique du web ne sont pas identiques et faibles de toute manire.
-
Ad Hoc reporting
Page 3
L e s m o y e n s m i s e n p l a c e :
Un groupe Google est cr afin de pouvoir disposer dune zone collaborative ou on peut dune part lancer des discussions sur diffrents thmes et dautre part avoir une zone commune pour partager des documents.
Notre tuteur mettra en cours de projet celui-ci sur SourceForge qui est une plateforme dhbergement de projet open source. Les sources que nous produirons et ceux de la version Beta1 seront disposition dans un dpt SVN.
Nous installons sur nos machines lenvironnement de dveloppement Eclipse en version JEE.
Une version stand alone de la Beta1 est galement installe afin que nous puissions voir comment fonctionnent les lments dj raliss.
Une base de donne PostgreSql et un serveur Web Tomcat doivent tre galement installs pour que cela fonctionne.
En ce qui concerne la gestion du projet par elle-mme et afin de ne pas avoir installer une application de plus, nous avons cr un compte sur PlanZone pour le groupe et nous avons demand lextension de ce compte afin que le nombre maximum dutilisateurs puisse permettre aux autres groupes den profiter. Il sagit dune gestion de projet en ligne et nous pourrons ainsi essayer de mettre en pratique ce que nous verrons dans les diffrents cours ce sujet.
Ce logiciel est accessible par une barre installe en plugin dans Firefox :
-
Ad Hoc reporting
Page 4
Exemple du Planning du projet Odbis :
Dtails des actions dune activit :
-
Ad Hoc reporting
Page 5
Exemple daffichage sur une activit :
-
Ad Hoc reporting
Page 6
L e t r a v a i l e n q u i p e , l a r p a r t i t i o n d e s t c h e s :
Notre premire runion avec notre tuteur a lieu le 23 Novembre 2009. Aprs avoir clarifi les besoins,
il est convenu deffectuer des recherches individuelles pour que chacun sapproprie le projet et
lexistant pour tre capable de revenir avec des questionnements.
a) Nous convenons de la date du 02/12/09 pour la remise sur le groupe Google dun document
individuel concernant ltude des fonctionnalits :
Fonctionnalits Membre de lquipe
Les donnes Martial
Administration Yashine
Dasboard Resnays
Rapports Alain
Requtes Amadou
b) En ce qui concerne ltat de lart, le travail de recherche et de rdaction est rparti de la mme
manire :
Produit tudier Membre de lquipe
Pentaho Martial
LogiXml Yashine
Pentaho Resnays
Birt Alain
Jasper Report Amadou
c) En fonction des comptences, les tches seront rparties comme suit :
Spcialit Membre de lquipe
Modlisation et Bdd Martial
IHM et Site Yashine
Code Java Resnays
Modlisation Alain
Support Amadou
-
Ad Hoc reporting
Page 7
d) Calendrier rcapitulatif des faits principaux durant le projet
Date Avancement
14/12/2009 Dcision dune runion systmatique le Jeudi
15/12/2009 Mise disposition des documents dcrivant les fonctionnalits
18/12/2009 Essai daffichage de rapport en .rptdesign trouv sur le net
22/12/2009 Inscriptions sur SourceForge
22/12/2009 Installation du plugin dEclipse pour Subversion
06/01/2010 Etude de lIHM de Intelliview
07/01/2010 Carte du site
08/01/2010 Apprentissage lutilisation de SVN
19/01/2010 Etude des modles objet des systmes de charting afin de dfinir le ntre. Cela comprend, Excel, Google Chart, Trinidad.
21/12/2010 Travail sur le modle CWM
29/01/2010 Les premiers lments de code produits partir de la modlisation sont dlivrs.
31/01/2010 Les palettes de couleur sont mises sur SVN
03/02/2010 Site du projet en ligne pour test
08/02/2010 Phase de rtro-conception avec BoUml sur Birt Core Module
14/02/2010 Le code de la premire itration de la DataTable est dpos
15/02/2010 Mise sur Svn du code du chart engine et celui permettant de tester.
20/02/2010 Simplification du modle DataTable pour la premire itration
01/03/2010 Prparation de la soutenance, expos et document daccompagnement
-
Ad Hoc reporting
Page 8
II) AD HOC REPORTING, DFINITIONS
A d h o c :
Ad hoc est une expression latine signifiant cette fin . Elle est gnralement utilise pour indiquer
quune solution est conue pour traiter un problme spcifique, non-gnralisable et quelle nest pas adapte d'autres buts. On rencontre souvent ce terme lorsque lon parle dorganismes, comits, ou de commissions crs au niveau national ou international pour une tche spcifique. Dans d'autres
domaines, cela peut concerner par exemple un protocole de rseau sur mesure et avoir parfois une co-
notation indiquant une solution improvise utilisant des moyens de fortune (cela ne concerne pas notre
domaine dtude).
R e p o r t i n g :
Le reporting est utilis pour prsenter priodiquement des rapports sur les activits et rsultats d'une
entit, ceci afin den informer les responsables, gestionnaires ou toute personne (interne ou externe) concerne par ces activits.
Ces rapports vont rpondre des interrogations types : Que se passe-t-il ? , Que va-t-il se
passer ? , ou Pourquoi cela sest-il pass ? . Les informations utilises afin de construire ces rapports sont extraites dentrepts de donnes qui peuvent tre multiples et locaux ou dports.
La technique inclut les moyens mis en uvre pour offrir lutilisateur une prsentation facilement lisible ou imprimable.
A d h o c r e p o r t i n g :
Beaucoup dapplications logicielles sappuient sur une base de donnes accessible par un ensemble limit de requtes et de rapports. Typiquement, ces lments sont prprogramms et optimiss.
A loppos, le ad hoc reporting permet aux utilisateurs de crer eux-mmes des requtes par lutilisation dinterface graphique et sans avoir besoin de passer par lutilisation du langage SQL. Comme de tels systmes ont tendance dgrader svrement les performances du systme, on les utilise
plutt de paire avec un data warehouse.
Comme dautres outils tels le data warehousing et le data mining, le ad hoc reporting est une branche de la business intelligence.
-
Ad Hoc reporting
Page 9
D f i n i t i o n i s s u e s d e W i k i p e d i a :
Business Intelligence : Linformatique dcisionnelle (en anglais : DSS pour Decision Support System ou encore
BI pour Business Intelligence) dsigne les moyens, les outils et les mthodes qui permettent de collecter,
consolider, modliser et restituer les donnes, matrielles ou immatrielles, d'une entreprise en vue d'offrir une
aide la dcision et de permettre aux responsables de la stratgie d'entreprise davoir une vue densemble de
lactivit traite.
Ce type dapplication utilise en rgle gnrale un entrept de donnes (ou datawarehouse en anglais) pour
stocker des donnes transverses provenant de plusieurs sources htrognes et fait appel des traitements par
lots pour la collecte de ces informations.
Data warehouse : Le terme entrept de donnes (data warehouse) dsigne une base de donnes utilise pour collecter et stocker de manire dfinitive des informations volatiles provenant d'autres bases de donnes. Chaque
information collecte se voit affecter une date, ou un numro de version pour viter de recouvrir une information
dj prsente dans la base de donnes et permettre de suivre l'volution de cette information au cours du temps.
Parfois les informations des diffrentes bases de donnes d'une entreprise sont collectes dans un seul entrept
de donnes, ou alors il existe diffrents entrepts de donnes en fonction du sujet ou du mtier en rapport avec
chaque information (datamart).Les informations collectes serviront faire des statistiques, des recherches et des
rapports. Les entrepts de donnes sont utiliss notamment en informatique dcisionnelle.
-
Ad Hoc reporting
Page 10
III) ETUDE DE LEXISTANT
O d b i s B e t a 1 :
Ce module utilise diffrentes technologies et chacun va essayer pendant les deux premires semaines de
comprendre ce quil peut.
Cela comprend ltude de la structure du projet dans Eclipse aussi bien que le fonctionnement des diffrents lments et du Serveur Tomcat.
Notre tuteur nous a fourni une version standalone qui est une archive .war directement installable.
Ltude de lexistant ce niveau consiste voir comment est implmente une application web de ce type au niveau du serveur et le rle des diffrents fichiers.
Dun autre cot le fonctionnement de cette maquette nous a permis de nous forger une ide de base du besoin client et des fonctionnalits attendues. Cette tape tait donc ncessaire pour pouvoir aborder les
spcifications.
-
Ad Hoc reporting
Page 11
IV) ODBIS VS LES PRODUITS EXISTANTS
ODBIS se veut tre diffrents des autres produits de business intelligence que nous avons pu tudier et
ceci sur les points suivants :
Software As Service intgrant lensemble des fonctionnalits ncessaires aux utilisateurs partir
dune mme application Web sans tre forc dutiliser diffrents modules.
Utilisation dApi standards.
Intgration du mta modle CWM permettant lchange de mtadonnes avec nimporte quelle
autre application ou dpt de donnes dun environnement distribu de WareHousing.
Architecture multicouche bas sur Spring qui apporte dans le projet toutes les fonctionnalits au
niveau de la scurit.
Architecture SaaS dOdBis
-
Ad Hoc reporting
Page 12
V) ETAT DE LART
Q U E L Q U E S P R O D U I T S E X I S T A N T S
PENTAHO:
La suite BI de PENTAHO est un produit open source qui fournit une large gamme de solutions :
reporting, analyse de donnes, tableaux de bord et intgration de donnes (ETL).
FONCTIONALITES IMPLEMENTEES:
REPORTING :
Fournit des tats de synthse dans des formats populaires tels que le pdf, XLS, HTML et
texte. Le reporting de Pentaho est bas sur le projet JFreeReport.
ANALYSE :
Fournit des possibilits tendues d'analyse qui inclut des vues de table pivot bases sur
JPivot (JPivot est un client OLAP disposant d'une interface Web), des affichages graphiques
avancs (en utilisant SVG ou Flash), des widgets de tableau de bord, le data mining, un
portail et l'intgration de workflow. En plus, les services de tableurs de Pentaho permettent
lutilisateur daller fouiller et sortir des charts en utilisant Excel.
DASHBOARDS :
Tous les composants, par exemple reporting ou analyse, peuvent contribuer au contenu des
tableaux de bord de Pentaho. Ce service fournit des composants daffichage rutilisables
(widgets) comme des cadrans(dial), indicateurs (gauge) ou des graphiques(charts) qui
peuvent tre inclus dans des applications JSPs, ou dans les portails conformes la norme
JEE JSR-168.
DATA MINING :
Incorpore Weka, qui est une collection d'algorithmes dapprentissage machine ddis au
data mining. Ces algorithmes sont combins avec des technologies OLAP pour permettre
l'analyse intelligente de donnes. Les outils de data mining peuvent, en analysant des
donnes historiques, crer des modles prdictifs et distribuer cette information en utilisant
les services de reporting et d'analyse de Pentaho.
-
Ad Hoc reporting
Page 13
INTEGRATION DES DONNEES :
Elle est ralise par un outil d'ETL appel Kettle, acquis par Pentaho. L'outil fournit
l'interface utilisateur graphique pour la dfinition de la tche et une grande flexibilit pour le
traitement des donnes.
JASPERREPORTS:
Jasper Reports est une librairie open source qui permet de gnrer des rapports partir de sources de donnes.
Pour utiliser les rapports il faut dabord crer un modle (template) de reprsentation de ces donnes qui une fois compil et rempli avec des donnes fournira une sortie de type variable :
impression
fichier PDF
fichier HTML
fichier XLS
fichier CSV
fichier XML
La source de donnes est indique dans le fichier XML de description.
Cette librairie ninclut pas dinterface graphique utilisateur qui faciliterait la conception, il faut donc soit gnrer le modle directement par programme partir de lAPI, soit utiliser un diteur, ou bien utiliser un outil GUI de style IREPORT. Cette option est illustre par la figure ci-dessous :
-
Ad Hoc reporting
Page 14
BIRT:
BIRT (Business Intelligence and Reporting Tools) est un projet open source de la fondation Eclipse qui permet de raliser des rapports dans des formats multiples dont HTML et PDF.
a) BIRT utilise pour effectuer le rendu des rapports deux types de fichiers :
1. un fichier de donnes XML. 2. un modle (template) reprsentant la forme du rapport au format rptdesign (propritaire BIRT).
b) Au niveau du design, BIRT peut tre utilis de deux faons :
Sous Eclipse via un plugin permettant la conception des tats et de gnrer le rapport.
En runtime utilisant du code java install sur un serveur JEE qui utilise lApi Design Engine. Cette dernire mthode ne permet que de lancer la gnration du rapport.
c) Pour laffichage, on peut utiliser lutilitaire Birt Viewer qui est un servlet installer dans Tomcat.
-
Ad Hoc reporting
Page 15
Dtails des API de BIRT
Diagramme des composants les plus importants de BIRT
-
Ad Hoc reporting
Page 16
B i b l i o t h q u e s o p e n s o u r c e d e C h a r t i n g
JFreeChart
JFreeChart est une librairie open source en Java permettant de gnrer des graphiques tels que :
Les camemberts (2D et 3D)
Les histogrammes (normal et empil, avec effet 3D)
Les graphiques de types courbes ou nuages de points
Les sries chronologiques ou style candle.
Les graphiques combins
Les diagrammes de Pareto
Les digrammes de Gantt
ICharts
JCharts est un utilitaire 100% Java produisant divers types de graphiques. Il a t conu et
ralis de A Z par des volontaires, pour afficher des graphiques par le biais de Servlets, de
pages JSP et d'applications Swing.
CeWolf
CEWOLF peut tre utilis dans les applications web Servlet/JSP, pour incorporer des
graphiques complexes de toutes sortes (ligne, camembert, histogramme, chart, tracs, etc.).
La Page JSP qui contient le graphique n'est encombr par aucun code Java. Toute la
configuration est dcrite par des balises XML.
JccKit
JCCKit (pour Java Chart Constuction Kit) est une petite librairie Java (< 100Ko) trs flexible
permettant la cration de graphiques et tracs scientifiques.
JChart2d
Il s'agit d'un gadget swing (JComponent), utilis pour rendre de manire prcise, l'affichage
dynamique de tupples en strip-chart. Il a t conu pour les travaux d'ingnierie o la
prcision est plus importante que l'esthtique du rendu. Les points forts sont la configuration
trs minimaliste, les chelles et lgendes automatiques, le processus d'excution est scuris.
LApi est bien documente et claire.
-
Ad Hoc reporting
Page 17
DataVision
DataVision est un outil de reporting Open Source similaire Crystal Reports. Les tats
peuvent tre conus dans un diteur graphique par glisser-dposer de composants. Les tats
sont excuts, affichs et imprims depuis l'application, ou exports en HTML, XML, PDF,
LaTex2e, DocBook, ou en fichiers textes dlimits par tabulation ou virgule. Les fichiers
exports en LaTex2e et DocBook peuvent ensuite tre utiliss pour produire des sorties en
PDF, texte, HTML, PostScript et plus.
ART
ART est un outil web portable, trs lger, de requte de reporting. Trs facile personnaliser,
il produit des graphiques et exporte ses sorties dans divers formats par le biais de plugins.
JGraphT
JGraphT est une librairie Java open source de production de graphiques. Il fournit des objets
issus de la thorie des graphes.
JGraphT supporte divers types de graphiques. La visualisation des graphiques utilise la librairie Jgraph.
QN Plot
QN PLOT fournit des composants Swing permettant de crer des graphiques. Les
graphiques permettent le rendu d'un grand jeu de donnes en temps rel.
Les coordonnes sont de type BigDecimal, permettant une prcision variable
Les performances sont leves
Toutes les classes sont thread-safe
La mise lchelle des graphes seffectue automatiquement.
-
Ad Hoc reporting
Page 18
VI) SPECIFICATIONS FONCTIONNELLES
Le module concevoir doit permettre aux utilisateurs de travailler en ligne la ralisation de rapports
personnaliss sans utiliser doutils spcifiques sur le poste client.
Lapplication doit pouvoir allier la simplicit dtablir des rapports la puissance de crer des rendus
qui peuvent tout de mme tre complexes.
Il doit sappuyer sur des standards open source et correspondre larchitecture dfinie par la norme
JEE. Il sagit entre autre dun ensemble de standards pour le dveloppement darchitectures multi-tiers.
Cest plus un ensemble de spcifications quun produit. La communaut se repose sur les concepteurs
pour adhrer ces spcifications. Toute implmentation de cette spcification doit donc contenir un
ensemble dextensions du framework standard de base.
Elaborer un module de Ad Hoc Reporting
Editer les Requtes
Editer des Rapports
Editer des DashBoards
Administrer le module
Editer les Sources de Donnes
-
Ad Hoc reporting
Page 19
C A H I E R D E S C H A R G E S F O N C T I O N N E L
FONCTIONALITES DE LEDITEUR DE RAPPORTS
But :
Le ad hoc reporting permettant aux utilisateurs de crer eux-mmes des requtes par lutilisation dinterface graphique, ceux-ci doivent avoir la possibilit de prsenter les donnes extraites galement de manire non standard.
Lutilisateur doit pouvoir crer, visualiser et modifier un rapport. Celui-ci peut tre construit partir de diffrents composants (widgets) communiquant de linformation pertinente lutilisateur consommateur du rapport ou de rapports dj existants qui sont alors inclus.
Il est intressant de pouvoir enregistrer un rapport comme un modle afin de pouvoir tre rutilis
comme base de cration.
Lditeur de rapport doit mettre disposition dautres outils de la suite BI, des informations sur la reprsentation des donnes sous un format standard. Le XML semble tout fait conseill. Deux formats
de ce type sont majoritairement utiliss : rptdesign de BIRT et jrxml de JasperReport.
Elaborer un module de Ad Hoc Reporting
Editer les Requtes
Editer des Rapports
Editer des DashBoards
Administrer le module
Editer les Sources de Donnes
-
Ad Hoc reporting
Page 20
ORGANIGRAMME FONCTIONNEL
1.1 Slectionner une source de donnes
2.1 Visualiser dans lditeur
3.1 Inclure un rapport dans un rapport
4.1 Exporter un rapport dans un format standard
5.1 Synchroniser la gnration dun rapport avec la source de donnes
1.2 Slectionner un type de rapport existant
2.2 Visualiser dans les conditions de lutilisateur
3.2 Inclure le contenu dun fichier extrieur
4.2 Importer un rapport.
5.2 Prvoir la publication dun rapport
1.3 Slectionner les lments qui composent le rapport
3.3 Modifier le contenu.
1.4 Tester le rapport
1.5 Enregistrer comme modle
CARACTERISATION DES FONCTIONS
Ref Fonctions Critres Flexibilit
Construire un rapport
1.1 Slectionner une source de donnes Liste des sources de donnes impratif
1.2 Slectionner un type de rapport pr-existant. Liste des formats disponibles Liste des formats dj dfinis Ngociable
1.3 Slectionner les lments qui composent le rapport
Liste des Widgets disponibles impratif
1.4 Tester le rapport Ecran Bouton de dclenchement Format de visualisation
impratif
1.5 Enregistrer comme modle Choix du groupe de modle Choix du nom ngociable
Visualiser un rapport
2.1 Visualiser dans lditeur Ecran Bouton de dclenchement impratif
2.2 Visualiser dans les conditions de lutilisateur Affichage direct dans un navigateur ngociable
Modifier un rapport
Editer des rapports
Construire
Visualiser
Modifier
Echanger
Plannifier
-
Ad Hoc reporting
Page 21
3.1 Inclure un rapport dans un rapport Format du rapport Chemin daccs au rapport Positionnement du rapport
ngociable
3.2 Inclure le contenu dun fichier extrieur Chemin daccs au fichier Positionnement du contenu ngociable
3.3 Modifier le contenu. Elments concerns Nouveau contenu Nouvelle prsentation
impratif
Echanger Des rapports
4.1 Exporter un rapport dans un format standard Choix du format Chemin du document de sortie Trs ngociable
4.2 Importer un rapport. Chemin du document dentre Choix du format Trs ngociable
Planifier un rapport (plutt du domaine de ladministration)
5.1 Synchroniser la gnration dun rapport avec la source de donnes
Choix du rapport Choix du type de synchronisation
Trs ngociable
5.2 Prvoir la publication dun rapport Choix du rapport Choix du type de publication Choix du type de date Choix de la priodicit
Trs ngociable
-
Ad Hoc reporting
Page 22
FONCTIONALITES DE LEDITEUR DE Requtes
But :
Le ad hoc reporting permettant aux utilisateurs de crer eux-mmes des requtes par lutilisation dinterface graphique, ceux-ci doivent avoir la possibilit dutiliser soit le langage SQL, soit de construire la requte de manire interactive en slectionnant les attributs intervenants, ceux afficher,
les filtres, etc
ORGANIGRAMME FONCTIONNEL
1.1 Slection des champs
2.1 Saisir les paramtres
3.1 Nommer la requte
4.1 Slectionner la requte modifier
5.1 Choisir le format
1.2 Gestion des conditions
2.2 Lancer la requte 3.2 4.2 Editer comme en 5.2 Slectionner le chemin
1.3 Gestion des classements
2.3 Visualiser les donnes extraites
3.3
CARACTERISATION DES FONCTIONS
Ref Fonctions Critres Flexibilit
Elaborer une requte
1.1 Slectionner les objets (tables/vues) Listes des objets (tables/vues) de la source Impratif
Elaborer un module de Ad Hoc Reporting
Editer les Requtes
Editer des Rapports
Editer des DashBoards
Administrer le module
Editer les Sources de Donnes
Editer des requtes
Elaborer
Tester
Enregistrer
Modifier
Exporter
-
Ad Hoc reporting
Page 23
concerns
1.2 Slectionner les champs Liste des champs de chaque objet Impratif
1.3 Indiquer les critres de slection Filtre sur les valeurs des champs ou sur des fonctions
impratif
1.4 Indiquer un ordre de tri Options de tri sur un champ de la requte Impratif
Tester une requte
2.1 Saisir les paramtres Choix des valeurs Impratif
2.2 Lancer la requte Bouton/lien dexcution Impratif
2.3 Visualiser les donnes extraites Tableau dun chantillon des n ( dfinir) premiers enregistrements.
Impratif
Enregistrer une requte
3.1 Nommer la requte Choix du nom (par rapport ceux qui existent dj). Bouton/Lien denregistrement
Impratif
Modifier une requte existante
4.1 Slectionner la requte modifier Liste des requtes sauvegardes Impratif
4.2 Editer la requte comme au n1 Impratif
Exporter une requte
5.1 Choisir le format Liste des formats dexports Ngociable
5.2 Slectionner le chemin Chemin daccs aux rpertoires Bouton/Lien dexport
Ngociable
-
Ad Hoc reporting
Page 24
FONCTIONALITES DE LEDITEUR DE DONNEES
But :
Dfinir, lorigine des donnes exploites par le rapport et la faon de se connecter au service qui les
procure.
Les sources de donnes peuvent tre des bases de donnes, des fichiers xml, des fichiers csv etc.
ORGANIGRAMME FONCTIONNEL
1.1 Slectionner le type de la source
2.1 Slectionner la connexion dupliquer
3.1 Slectionner la connexion 4.1 Slectionner la connexion
1.2 Indiquer les paramtres de connexion
2.2 Cloner la connexion 3.2 Modifier comme en 1 4.2 Supprimer
1.3 Tester la connexion 2.3 Modifier comme en 1 3.3
1.4 Sauvegarder la connexion
1.5
Elaborer un module de Ad Hoc Reporting
Editer les Requtes
Editer des Rapports
Editer des DashBoards
Administrer le module
Editer les Sources de Donnes
Editer des donnes
Crer unesource
Dupliquer source
Modifier source
Supprimer une source
-
Ad Hoc reporting
Page 25
CARACTERISATION DES FONCTIONS
Ref Fonctions Critres Flexibilit
Crer une source de donnes
1.1 Slectionner le type de source Liste de types de sources Impratif
1.2 Indiquer les paramtres de connexion Choix des valeurs Contextuel selon le type choisi
Impratif
1.3 Tester la connexion Bouton/Lien Impratif
1.4 Sauvegarder la connexion Bouton/Lien Impratif
1.5
Crer une source de donnes selon un modle (create as)
2.1 Slectionner la source existante Liste des sources de donnes Impratif
2.2 Dupliquer la source slectionne Bouton/Lien Impratif
2.3 Modifier la source comme en 1. Impratif
Modifier une source de donnes
3.1 Slectionner la source Liste des sources existantes Impratif
3.2 Modifier la source comme en 1 Impratif
3.3
Supprimer une source de donnes
4.1 Slectionner la source Liste des sources existantes Impratif
4.2 Supprimer la source Bouton/Lien Impratif
-
Ad Hoc reporting
Page 26
FONCTIONALITES DE LEDITEUR DE DASHBOARDS
But :
Les tableaux de bord sinscrivent dans une approche de pilotage.
Cela ce traduit par la surveillance de l'activit, dans sa capacit remplir ses objectifs stratgiques. Les
tableaux de bords sont des formats agrgs de prsentation de contenu. Ils mettent en scne les
indicateurs cls et les objectifs stratgiques en les confrontant. Trs visuel, le tableau de bord permet de
savoir rapidement si l'entreprise est en avance ou en retard sur son plan stratgique
Les tableaux de bord permettent d'avoir accs des donnes totalement agrges en prsentant des
tendances, des carts par rapport aux objectifs fixs. Suite la remonte de ces indicateurs, une analyse
plus fine pourra tre labore par des oprationnels plus impliqus localement.
Un mot cl rencontr dans cette forme de reporting est KPI : Key Performance Indicators.
Comme dans les autres sous-modules, les utilisateurs doivent pouvoir dterminer eux-mmes
lagencement des composants graphiques servant visualiser les indicateurs. Ils auront au pralable pu choisir ces indicateurs en indiquant les champs, critres et paramtres qui
serviront produire les donnes qui seront affiches.
Elaborer un module de Ad Hoc Reporting
Editer les Requtes
Editer des Rapports
Editer des DashBoards
Administrer le module
Editer les Sources de Donnes
-
Ad Hoc reporting
Page 27
ORGANIGRAMME FONCTIONNEL
1.1 Identification 2.1 Liste des charts disponibles
3.1 Prsentation par dfaut
4.1 Liste des types 5.1 Indiquer la priodicit
1.2 Champ de la mesure
2.2 Liste des styles 3.2 Dplacement des indicateurs
4.2 5.2
1.3 Critres 2.3 Liste des palettes 3.3
1.4 Paramtres
CARACTERISATION DES FONCTIONS
Ref Fonctions Critres Flexibilit
Choix des indicateurs
1.1 Identification Choix des valeurs Impratif
1.2 Champ de la mesure Liste des champs Impratif
1.3 Critres Choix des valeurs Impratif
1.4 Paramtres Choix des valeurs Impratif
1.5
Choix de laffichage
2.1 Liste des charts disponibles Liste de choix Impratif
2.2 Liste des styles Liste de choix Impratif
2.3 Liste des palettes Liste de choix Impratif
Positionnement des indicateurs
3.1 Prsentation par dfaut Liste de choix Impratif
3.2 Dplacement des indicateurs Choix de valeurs Impratif
3.3
Choix du type de rendu
4.1 Liste des types Liste de choix Impratif
4.2
Choix de la priodicit
5.1 Indiquer la priodicit Liste de choix Impratif
5.2
Editeur de dashboards
Choix des
indicateurs
Choix type affichage
Positionnement
Choix type de
Rendu
Choix priodicit
-
Ad Hoc reporting
Page 28
VII) SPECIFICATIONS TECHNIQUES
E n v i r o n n e m e n t :
1. La plate-forme de dveloppement est Microsoft Windows XP ou Linux. 2. Les outils utiliss sont principalement : Eclipse, Subversion, StarUml, BoUml 3. En ce qui concerne les bibliothques graphiques ddies : jFreeChart 4. Le dploiement de lapplication a t test sur Tomcat 6.0.20 avec PostgreSql 8.4
-
Ad Hoc reporting
Page 29
A r c h i t e c t u r e J E E
Dans notre cas nous sommes uniquement en prsence dun serveur web, il ny a aucun serveur
dapplication.
-
Ad Hoc reporting
Page 30
EIS : Entreprise Information system
La partie IHM de la couche prsentation va tre prise en charge par des pages HTML ou des JSP
(compiles au niveau du serveur Web).
La partie contrleur tant assure par des Servlets
Servlet, dfinition :
Une servlet est un composant Web java gr par un container et qui gnre du contenu dynamique.
Comme d'autre technologies Java bases sur les composants, les servlets sont des classes indpendantes
de la plateforme et sont compiles en bytecode qui peut tre charg et excut dynamiquement sur un
serveur web. Les containers, quelquefois appels moteurs de servlet, agissent comme des extensions du
serveur web. Les servlets interagissent avec les clients Web par l'intermdiaire des requtes/rponses
gres par le container de servlets.
Le traitement dun formulaire par une servlet suit le schma suivant :
1. Rcupre ou demande les donnes 2. Enregistre ou transmet les donnes 3. Rpond la requte
La partie container du serveur web va grer le dcodage des types MIME, le cycle de vie des servlets et
peut galement grer les aspects scurit.
-
Ad Hoc reporting
Page 31
A r c h i t e c t u r e g n r a l e d u P r o j e t O D B I S
-
Ad Hoc reporting
Page 32
VIII) ANALYSE ET CONCEPTION
Dans cette partie du document, nous allons reprendre le dcoupage en thme tabli lors de la description
des fonctionnalits pour laborer les dtails qui permettront, en passant par ltablissement de
diagrammes de classes, de passer la phase de codage.
Ltude des cas dutilisation nest que partielle et le primtre dtude dtaille est restreint ldition
de rapport en se concentrant sur ce qui concerne la gnration des graphiques (Charts) et des tableaux
(DataTable).
L e s c a s d u t i l i s a t i o n :
UC > Arrive sur le site
-
Ad Hoc reporting
Page 33
UC > CHOIX PAR LUTILISATEUR DE LEDITION DUN RAPPORT
UC > EDITION RAPPORT > MAQUETTE F 1.1 ET 1.3 > SELECTION SOURCE DE DONNEES
-
Ad Hoc reporting
Page 34
UC> EDITION RAPPORT > MAQUETTE F 1.1 ET 1.3 > SELECTION DUN COMPO> CHART
UC > EDITION RAPPORT > MAQUETTE F 1.1 ET 1.3 > SELECTION DUN COMPO.> DATATABLE
Slection dun DataTable
Slection des donnes dans la
DataSource
Choix du Style de rendu
-
Ad Hoc reporting
Page 35
UC > EDITION RAPPORT > DIAGRAMME DE SEQUENCE
-
Ad Hoc reporting
Page 36
UC > CHOIX PAR LUTILISATEUR DE LEDITION DES REQUETES
USE CASES > EDITION DUNE REQUTET > MAQUETTE F 1.3
-
Ad Hoc reporting
Page 37
C o n c e p t i o n , d i a g r a m m e s d e c l a s s e s :
BaseEntity : afin qu'une classe POJO puisse tre persistante, elle doit tre dclare en utilisant
l'annotation @Entity et possder un attribut Id. Le rle de cette classe abstraite est d'apporter aux classes
concrtes cette caractristique (champ priv et accesseurs). C'est un peu comme Object pour les classes
Java.
NameEntity : elle apporte un nom et une description.
DataSource (javax.sql Interface DataSource): interface reprsentant une "source de donnes". Cette
"source de donnes" est en fait une simple fabrique de connexions vers la source de donnes physique.
Son utilisation permet de sadapter des changements comme par exemple le dplacement dune base
dun serveur vers un autre.
Charts et Dataset : afin de crer un graphique en utilisant JFreeChart, on doit utiliser un Dataset qui
possde une rfrence sur une DataSource pour aller chercher les donnes. Le DataSet est ensuite utilis
afin de crer un JFreeChart laide dune ChartFactory
Fig : Diagramme de classe des packages org.odbis.domain et
org.odbis.domain.metadata
-
Ad Hoc reporting
Page 38
Fig : Diagramme des classes du package org.odbis.domain.reporting
Les objets de type Chart permettent dincorporer dans un rapport un graphique de type variable
(camembert, courbes, histogramme etc..).
Les objets de type DataTable permettent de reprsenter des donnes sous formes tabulaires.
-
Ad Hoc reporting
Page 39
Fig : Diagramme des classes du package org.odbis.services
-
Ad Hoc reporting
Page 40
D I A G R A M M E D E D E P L O I E M E N T
-
Ad Hoc reporting
Page 41
M o d l e d e s d o n n e s d e l a b a s e P o s t G r e S q l
-
Ad Hoc reporting
Page 42
IX) DEVELOPPEMENT
S t r u c t u r e d u n p r o j e t A p p l i c a t i o n W e b
Une application web base sur les technologies Java doit se prsenter au niveau du serveur sous une
forme hirarchique standardise:
Cette hirarchie doit tre implante au niveau du rpertoire contenant les applications de notre serveur
dapplication Tomcat, sur mon ordinateur par exemple :
Rpertoire Contenu
/wwwAlain Rpertoire racine de notre application, cest ici que seront stockes les pages (X)HTML et JSP.
/wwwAlain/images On rangera dans le rpertoire images toutes les images auxquelles
on fera rfrence dans nos pages
/ wwwAlain /WEB-INF Ce repertoire contient toutes les resources qui ne sont pas la
racine. Cest ici entre autres que lon va trouver notre descripteur de deployment. Il faut noter quaucun fichier situ ce niveau nest accessible pour tre rendu cot client, Tomcat ne le rend pas visible.
/ wwwAlain /WEB-INF/classes Cest le repertoire qui contient les servlets et les classes utilitaires. Si nos classes sont organises en packages la structure interne de WEB-INF/classes le refltera par des sous rpertoires.
/ wwwAlain /WEB-INF/lib Ce rpertoire contient les fichiers Java Archive dont dpend notre
application. Par exemple, cest lendroit o on placer un JAR
-
Ad Hoc reporting
Page 43
contenant un driver JDBC. En rgle gnral on y trouvera les
fichiers situs dans le rpertoire src/lib de nos projets sous Eclipse.
Un serveur dapplication peut hberger plusieurs applications, chaque application expose son contenu
grce son descripteur de dploiement.
Ce contenu apparat dans lexplorateur de projet qui, en fonction de la perspective utilise (JavaEE dans
notre cas), affiche les diffrentes composantes dcrites dans le fichier web.xml
Perspective Java Perspective JEE
-
Ad Hoc reporting
Page 44
S t r u c t u r e d u p r o j e t O d b i s d a n s E c l i p s e
-
Ad Hoc reporting
Page 45
Dtails du fichier descripteur de dploiement web.xml, seuls on t conservs les lments les plus
significatifs pour nous.
On peut voir que par exemple toute les requtes concernant des pages *.xhtml seront prises en charge
par le servlet identifi par Faces Servlet qui fait rfrence la classe javax.faces .webapp.FacesServlet.
Au niveau du context, on peut voir galement que lapplication fera appel contextConfigLocation qui
reprsente la configuration dcrite dans le fichier xml situ /WEB-INF/config/web-application-
config.xml.
-
Ad Hoc reporting
Page 46
C o d a g e d e s C h a r t s e t D a t a T a b l e
Les Charts et DataTable
Ils peuvent tre rendu laide de plusieurs palettes de couleurs qui sont dfinies par le type
ChartColor.
public class ChartColor extends Color {
public final static Color copper = new Color(173, 108, 80);
public final static Color frostedAlmond = new Color(204, 184, 159);
public final static Color paleGold = new Color(183, 140, 95);
Ainsi que les palettes : public static Paint[] simplyElegant() {
return new Paint[] { copper, frostedAlmond, paleGold, antelope,
purplePassion, silverBlue, silverMink, mahogany };
}
Le rendu des Datable est effectu sous la forme dun lment Table HTML
public class TableRender{
private String width;
private String html;
private DataTable table;
..
private void buildHtml(){
StringBuilder sb = new StringBuilder();
sb.append("");
for(List row :table.getRows()){
sb.append("");
//ajoute les colonnes
for(String cell :row)
{
sb.append("");
sb.append(cell);
sb.append("");
}
sb.append("");
}
sb.append("");
this.html = sb.toString();
-
Ad Hoc reporting
Page 47
La Servlet effectuant le charting:
public class ChartServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private DataSetProvider provider=new DataSetProvider();
private ChartEngine chartEngine=new ChartEngine();
protected void doGet(HttpServletRequest request, HttpServletResponse
response) throws ServletException, IOException {
String type=request.getParameter("type");
// creation du chart...
if(type.equalsIgnoreCase("pie")){
this.createChartPie(request, response);
}else if(type.equalsIgnoreCase("barV3D")){
this.createChartbarV3D(request, response);
}else if(type.equalsIgnoreCase("XYArea")){
this.createChartXYArea(request, response);
}
}
//Insertion de limage gnr dans le flux de retour vers le client
public void createChartPie(HttpServletRequest request,
HttpServletResponse response)throws ServletException, IOException {
response.setContentType("image/png");
String titlePie="Repartition des notes";
OutputStream outPie = response.getOutputStream();
String[][] pieDataSetQuery=provider.getPieDatasetQuery();
JFreeChart pieChart =
chartEngine.createPieChart(titlePie,pieDataSetQuery);
ChartUtilities.writeChartAsPNG(outPie, pieChart, 300, 300);
request.setAttribute("pie", pieChart);
outPie.close();
}
-
Ad Hoc reporting
Page 48
X) SITE ET SUPPORT
H e b e r g e m e n t d e s s o u r c e s e t s i t e d u p r o j e t
Site Source forge o les sources du projet sont hbergs dans un dpt SVN :
Site du projet www.odbis.com
-
Ad Hoc reporting
Page 49
-
Ad Hoc reporting
Page 50
XI) CONCLUSION
Nous allons passer en revue les diffrents points techniques et mthodologiques que nous avons
rencontrs lors de ce projet et dcrire les enseignements que nous avons pu en tirer en les mettant en
relation avec les diffrentes matires au programme.
Si les acquis techniques sont du domaine de limmdiat (quoiquil y existe un phnomne d
laccumulation), les acquis mthodologiques seront obtenus davantage par ltude postriori du
droulement du projet ou chacun pourra voir ce qui a ou non fonctionn.
A ) L e s u j e t
Pour la plupart dentre nous les concepts de business intelligence, adhoc reporting ne voulaient pas dire grand-chose lors de notre arrive en formation.
Le projet Odbis nous a fait dcouvrir un secteur de linformatique dentreprise, les outils dcisionnels, et cela nous a permis entre-autre dutiliser quelques logiciels de dmo et dacqurir un minimum de connaissance technique et de vocabulaire dans ce domaine.
Le sujet nous a attir car il tait le reflet dun besoin industriel et quil utilisait des technologies inscrites notre programme.
B ) L e s t e c h n o l o g i e s u t i l i s e s
JEE
La courbe dapprentissage a t trs plate car elle comprend la prise en main avec plus ou moins de matrise des lments suivants:
1. Java 2. Dtails de JEE
Diffrents types de serveurs
Servlet
Persistance
Framework
Structure des projets
Implmentation des applications 3. XML 4. Nombreux framework 5. Vocabulaire important acqurir. 6. Nombreuses utilisations de design pattern inconnus au dbut du projet et de toute faon non
maitriss.
-
Ad Hoc reporting
Page 51
Une majeure partie de ces diffrents lments a t vue en cours et nous avons donc pu tirer un plus
grand profit dans les cas o le cours a eu lieu aprs notre propre exploration.
Bien qu'il nintgre pas de serveur d'application, le projet Odbis a permis de voir concrtement un exemple d'implmentation d'architecture JEE.
SVN et la gestion des versions
Lors des cours, chacun a pu travailler sur sa machine avec son IDE de dveloppement. Dans le cadre
d'un projet rel, chaque dveloppeur travaille sur un module et le gestionnaire de versions permet de
centraliser, d'homogniser et de synchroniser le code produit pendant le cycle de dveloppement.
Nous avons appris extraire et rintgrer des sources sur le repository, par contre laspect partage des sources lorsque plusieurs dveloppeurs travaillent en mme temps sur un module na pas pu tre abord faute de temps et du manque de matire produite.
C ) S p c i f i c a t i o n s
Le travail de recherche sur les outils de reporting et ltude de leur documentation a apport une forte valeur ajoute. Pour certains qui ont t jusqu leur installation et ltude de leur utilisation, le bnfice a t encore plus important.
Dune manire gnrale nous avons tous amlior notre capacit chercher de linformation ( travers la multitude de sources existant sur le web) et arriv en faire ressortir l'essentiel. Cela a rsult en une
monte en comptence proportionnelle au temps investi.
Le cahier des charges tant trs rduit, ltape des spcifications a reprsent une exprience quelque peu droutante puisque pour la plupart nous tions plus habitus faire ce que lon nous demande qu nous interroger sur le que va-t-on faire ? .
D ) G e s t i o n d u p r o j e t
La mise en place de loutil PlanZone et son utilisation dans plusieurs groupes a permis de mettre en application les concepts vus en cours de gnie logiciel.
Par contre, nous navons pas dispos dassez de temps pour pratiquer son utilisation au quotidien. Les aspects techniques du projet ont pris le pas sur laspect gestion. Un projet un peu moins exigeant nous aurait srement permis dtre plus prs de la ralit du travail en entreprise.
Le mode de dveloppement itratif choisi tait nouveau pour nous tous.
-
Ad Hoc reporting
Page 52
E ) M o d l i s a t i o n
Etude et manipulation de diffrents outils UML :
La recherche du bon outil nous a beaucoup aids par la suite sur d'autres modules comme le GL4.
La mise en pratique a permis de faire le rapprochement avec le cours dUML et d'aborder le passage du diagramme des classes aux tables relationnelles.
Le passage des cas dutilisation vers les diagrammes de squence avec ltablissement au fil de leau de linventaire des classes participantes sest peu peu impos comme plus naturel. Nous avons pu observer enfin la dure ralit : tant que ce nest pas modlis, ce nest pas codable.
Nous avons utilis la rtro-conception pour inclure dans nos modles des composants externes et avons
pu dans certains cas renforcer notre comprhension de concepts vus dans les cours de Java.
Mtadonnes et modle CWM :
Nous avons commenc aborder ce mta modle qui permet aux diffrentes applications de la Business
intelligence de communiquer laide dune grammaire commune. Cest ce que lon appelle un teasing et certains auront peut-tre le loisir dapprofondir ce modle. Dans le cadre dOdbis, nous avons cess de linclure dans notre modlisation assez rapidement car il y avait trop de connaissances acqurir pour obtenir un minimum de matrise.
Dveloppement itratif:
Comme il a t dit plus haut, le mode de dveloppement itratif choisi tait nouveau pour nous tous.
Nous avons pu dcouvrir lusage que nous devions faire voluer limplmentation mais aussi partir de
buts simplifis par rapport aux spcifications. Lenrichissement itratif du modle, en faisant trs simple
au dpart, a t une dcouverte.
-
Ad Hoc reporting
Page 53
F ) L o p e n s o u r c e
Le projet Odbis nous a fait dcouvrir l'envers du dcor .
Nous avons tous t jusqu lors, plus ou moins consommateurs d'outils et utilitaires open source et souvent gratuits. Ce projet a permis de voir une certaine manire d'initier et de construire un projet open
source. (Etat de l'art, conception, modlisation, etc..., jusqu' la mise disposition du livrable final)
Le fait dtre impliqu dans un tel projet a soulev chez certains des questionnements qui nous ont amens claircir la diffrence entre Logiciel Libre et Open Source :
Lopen source est davantage un mouvement de dveloppeurs qui vise perfectionner la qualit du code source et le logiciel libre est issu dun mouvement qui se concentre sur les liberts accordes lutilisateur.
Si on fait le rapprochement avec les informations obtenues lors du cours ERP5, la transparence de lOpen Source permet dvaluer la qualit ( condition quon prenne le temps de le faire) en accdant aux sources, listes de bugs, suivi de celles-ci, etc mais elle nimplique en rien que le logiciel est de qualit.
Enfin nous avons pu effleurer la problmatique des licences lors de la publication dun logiciel puisque celui-ci devra tre diffus avec une licence et cela implique dtudier en dtails les diffrents composants utiliss pour le dveloppement et leur licence.
Il faut dterminer si ces licences sont compatibles avec les utilisations prvues.
Voir sil ny a pas de problme de licence contaminante (par exemple tout logiciel avec au moins un composant sous licence GPL doit tre diffus sous licence GNU GPL.)
top related