Introduction à BIRT

Présentation du projet BIRT

(source : eclipsetotale.com)

Le projet BIRT, Business Intelligence and Reporting Tools, propose un système de création de rapports pour les applications Web. Comme tous les projets développés dans le cadre de la fondation Eclipse, BIRT est open-source et libre d'utilisation. Ce projet est particulièrement actif et on peut trouver de nombreux exemples. Les deux principaux composants de BIRT sont un outil de conception de rapports basé sur Eclipse et un moteur d'exécution installable sur un serveur d'applications J2EE.

L'utilisation de BIRT peut se résumer de la façon suivante : 1.png

  • Chaque rapport est décrit dans un fichier (au format XML). L'éditeur associé à ce type de fichier permet de construire graphiquement le rapport.
  • Le but d'un rapport est d'afficher des données. Pour chaque rapport, l'outillage de BIRT propose une vue 'Explorateur de données' qui permet la définition d'une ou plusieurs 'sources de données' (une base de données relationnelle par exemple) et d'un ou plusieurs 'jeux de données' extraits de la source de données (les champs renvoyés par une requête SQL). Les 'jeux de données' représentent les données à afficher.
  • L'édition du rapport se fait en mode graphique en insérant les différents composants graphiques proposés (texte, image, tableau, liste, graphique, ...). Les valeurs affichées par ces composants peuvent être soit statiques, soit extraites des 'jeux de données', soit dynamiques en utilisant des formules prédéfinies et des scripts écrits en JavaScript.
  • A tout moment, le concepteur du rapport peut demander son exécution directement à partir des menus de BIRT. La prévisualisation peut se faire au format HTML, PDF, DOC, XLS, PPT ou POSTSCRIPT.
  • La mise en exploitation se fait en déployant le rapport sur un serveur d'applications J2EE dans lequel le moteur d'exécution BIRT a été installé. Le rapport sera alors accessible par une URL dont les paramètres permettent notamment d'indiquer le format de génération.

Introduction à BIRT Designer

Création d'un rapport

BIRT ne nécessite pas la création d'un projet Eclipse d'un type particulier. Les fichiers peuvent se trouver dans un projet existant. Un type de projet nommé 'projet d'état' est tout de même proposé. La création d'un nouveau rapport se fait en indiquant le nom et l'emplacement du fichier.

2.png

L'assistant de création permet de sélectionner un modèle prédéfini de rapport.
(A noter que la liste des modèles est extensible)

3.png

Une fois créé, le rapport est disponible dans la zone d'édition.
Le mode d'édition par défaut permet de manipuler graphiquement le contenu du rapport. L'éditeur offre en plus la possibilité d'éditer le masque des pages, les éventuels scripts associés au rapport et le code XML du rapport. (La syntaxe des fichiers BIRT est définie dans la documentation du BIRT Report Object Model.)

4.png

Définition des jeux de données

Chaque rapport est associé à un ou plusieurs jeux de données dont le but est de définir la structure des données manipulables dans le rapport et la façon dont BIRT doit les récupérer. Avec BIRT 2.0, les jeux de données peuvent être obtenus à partir de 4 types de sources différents : une base de données relationnelle accessible par JDBC, un fichier XML, un fichier 'plat' (fichier texte, fichier .csv, ...) ou un script renvoyant les données (écrit en Java ou JavaScript). Techniquement, la dernière solution permet d'accéder à tout type de données mais nécessite le développement de code particulier.

Extraction à partir d'une base de données

BIRT prend en charge la connexion à la base de données et l'extraction des données, pour ce faire il faut préciser d'une part les informations de connexion et d'autre part la requête SQL à utiliser.

5.png

L'étape suivante consiste à créer un 'jeu de données' associé à la source de données et à indiquer la requête SQL correspondante. L'assistant de création d'un jeu de données permet la visualisation de la structure des tables et l'édition de la requête SQL.

6.png

Extraction à partir d'un fichier XML

La définition d'un jeu de données à partir d'un fichier XML passe par la création d'une source de données indiquant l'emplacement du fichier XML puis par un assistant qui va analyser la structure du fichier XML et permettre la sélection des éléments XML à inclure dans le jeu de données. L'assistant permet de définir pour chaque champ du jeu de données une expression XPath qui sera utilisée par BIRT pour extraire les données du fichier XML.

7.png

Extraction à partir d'un fichier plat

Pour définir un jeu de données extrait d'un fichier plat, il faut indiquer le fichier (.txt, .csv, ...) et les colonnes à intégrer dans le jeu de données.

Extraction à partir d'un script

Les données peuvent être récupérées par programmation. BIRT permet d'associer du code Java ou JavaScript aux différents évènements qui ponctuent la génération d'un rapport. En définissant un jeu de données de type script le développeur va pouvoir faire appeler par BIRT du code lors de la phase de construction du jeu de données. Le code JavaScript est à saisir dans l'onglet 'Script' de l'éditeur de rapport. Le code Java est à placer dans des classes implémentant des interfaces prédéfinies par BIRT, une propriété optionnelle du rapport permet d'indiquer la classe Java qui gère les événements.

Manipulation d'un jeu de données

Une fois défini le jeu de données apparaît dans la vue 'Exploration des données'.

8.png

Les propriétés du jeu de données sont éditables, il est notamment possible de rajouter des champs calculés :

9.png

La prévisualisation des données est possible directement dans l'éditeur des propriétés du jeu de données :

10.png

Conception d'un rapport

La conception d'un rapport se fait graphiquement en utilisant l'éditeur proposé par BIRT.
BIRT propose plusieurs types de composants graphiques à insérer dans un rapport, la vue 'Palette' affiche la liste des types de composants. La vue 'Outline' affiche l'arborescence des composants du rapport. Cette vue est synchronisée avec l'éditeur : la sélection d'un composant dans cette vue le sélectionne dans l'éditeur graphique et vice versa.

11.png

Chaque composant du rapport possède ses propres propriétés qui sont éditables dans la vue nommée 'Editeur de propriétés'.

12.png

Les valeurs affichées par les composants 'Texte dynamique' ainsi que certaines propriétés des composants peuvent être associées à des expressions Javascript. BIRT propose un assistant pour saisir ces formules.

13.png

Exemple 1 : la valeur d'un composant de type 'Texte dynamique' peut être calculée.

14.png

Exemple 2 : le composant table dispose de nombreuses fonctionnalités, il est notamment possible de définir des expressions pour déterminer si une ligne doit être mise en surbrillance.

15.png

Pendant la génération d'un rapport, BIRT déclenche des évènements sur chacun des composants. L'onglet 'Script' de l'éditeur permet au développeur d'associer du code JavaScript aux évènements. Ce code peut notamment agir sur les valeurs à afficher ou sur la mise en forme des composants.

16.png

Outre les composants permettant d'afficher les données sous forme textuelle (Texte, tableau, liste), BIRT intègre la possibilité d'ajouter des graphiques dans un rapport. L'assistant de création de graphiques offre de nombreuses possibilités :

  • choix entre plusieurs types de graphiques
  • paramétrage du rendu du graphique (Polices, couleurs, style 3D ou 2D, position du texte...).
  • sélection des données à afficher. Ces données peuvent provenir directement du jeu de données ou être calculées.
  • choix du format graphique : PNG, GIF, JPG, SVG ou BMP.

17.png

Exécution d'un rapport

Pendant la phase de développement, le rapport peut être exécuté via l'onglet 'Aperçu' de l'éditeur qui affichera le résultat au format HTML.

18.png

La mise en exploitation se fait en installant le 'BIRT Report Engine' dans un serveur d'applications J2EE. Le 'Report Engine' contient une application Web nommée 'BIRT Viewer', accessible par URL, et capable de générer les rapports en fonction des paramètres passés dans l'URL. Les pages suivantes présentent l'installation du BIRT Viewer et son utilisation.
Le BIRT Report Engine peut aussi être livré avec une application Java autonome dans ce cas le développeur devra utiliser les API du Report Engine pour demander la génération d'un rapport.

Conclusion

BIRT propose un outillage complet, intégré dans Eclipse, pour concevoir des rapports. Dans cet article ont été présentés les mécanismes de bases de BIRT. De nombreuses fonctionnalités plus avancées sont proposées: maître/détail, support des feuilles de styles, sous-rapport, insertion de liens hypertextes, internationalisation... Parmi les apports les plus importants de la version 2.0 on retiendra les notions de 'librairies' et de 'modèles de rapport' qui permettent de réutiliser des portions de rapports et favorisent la séparation des rôles entre les différents participants à la création d'un rapport.

Le site officiel fournit des exemples et des tutoriaux couvrant une grande partie des fonctionnalités de BIRT.

La communauté BIRT dispose d'un forum très actif : http://www.birt-exchange.com/forum/
Vous trouverez la documentation officielle ici : http://www.birt-exchange.com/documentation/BIRT_231/wwhelp/wwhimpl/js/html/wwhelp.htm#href=format.7.1.html.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.