Concepts de BIRT

Les sources de données “Data sources”

La conception d’un rapport peut nécessiter plusieurs sources de données issues de différents systèmes de stockage et accessibles par différents protocoles :

  • Fichiers plats (CSV)
  • sources de données JDBC (MySQL, …)
  • documents XML
  • services Web

BIRT vous permet aussi de développer vos propres sources de données alimentées par des objets Java ou Javascript.

Cependant, il est fortement recommandé de collecter, consolider et stocker vos données de reporting dans un seul type de sources de données (source de données MySQL par exemple, avec peut-être plusieurs connexions à la base de données). Multiplier les sources de données dans un rapport entraînera des problèmes de performances et de maintenabilité. Il est conseillé d’utiliser au maximum deux types de sources de données différents dans le même projet de reporting BIRT (par exemple : JDBC et CSV).

Configuration d’une source de données:

../_images/10000000000003DE000001E25067D84F.png

Les jeux de données “Data sets”

Vous avez la possibilité d’extraire des échantillons de données d’une base de données ou d’un important fichier CSV. Le « data set » BIRT vous permet de sélectionner des données spécifiques depuis des sources de données plus ou moins complexes.

Les différents « data sets » propres à un rapport contiennent toutes les données nécessaires pour construire les éléments visuels du rapport (tableaux, graphiques,...).

../_images/100000000000053D00000175C278E199.png

Liens de données “Data binding”

Une fois les « data sets » créés, les données doivent être formatées dans le rapport. Pour obtenir un graphique ou un tableau contenant des données, il est nécessaire de réaliser un lien de données entre un “data set” et un composant graphique qui peut être un tableau ou un objet graphique.

Le lien de données copiera la structure du « data set » dans la configuration du composant visuel présenté dans le rapport. Il n’est pas nécessaire de copier la structure complète d’un « data set », seules les colonnes nécessaires peuvent être copiées. Le lien de données est réalisé lors de l’ajout d’un nouveau composant :

../_images/1000000000000226000001CF01C06F25.png

Si la structure du « data set » est modifiée, il est nécessaire de mettre à jour manuellement la structure du composant graphique pour appliquer les modifications.

../_images/1000000000000350000001F5878A240B.png

Paramètres du rapport

Les paramètres de rapports sont des variables globales spécifiques à chaque rapport. Initialisées juste avant la génération du rapport, ils permettent de faire varier le contenu d’un rapport. Par exemple:

  • Spécifier deux paramètres de date qui permettent de générer les rapports sur différentes périodes de reporting
  • Dans le cas d’un rapport Centreon MBI, préciser en paramètre un groupe d’hôte pour lequel le rapport sera généré

Ainsi, un même rapport pourra présenter différentes statiques en fonction des paramètres.

Mise en page du rapport

Grille

Le composant grille « grid » est principalement utilisé pour l’agencement des composants graphiques dans un rapport.

Bonne pratique : placer chaque composant graphique du rapport dans une cellule d’une grille.

../_images/10000000000003560000017FAF18FEC1.png

Tableau

Structure d’un tableau

Le tableau « table » permet d’afficher des statistiques organisés par lignes et colonnes.

Le tableau nécessite une liaison de données avec un « data set » permettant ainsi l’affichage de contenu dynamique.

../_images/10000000000002D9000000636D5BE18A.png
  • En-tête (header row) : affiche le titre de la colonne ou des statistiques calculées à partir du contenu listé dans les lignes de détail. Cette ligne peut être répétée à chaque début de nouvelle page si le tableau s’étend sur plusieurs pages.
  • Détail (detail row) : Cette ligne est répétée pour chaque ligne (occurence) du « data set » auquel est lié le tableau.
  • Pied du tableau (footer row) : Inséré en fin du tableau, cette ligne permet également de calculer des statistiques en fonction des données listées dans les lignes de détail.

Groupement et agrégation de données

Un « data set » peut retourner beaucoup de lignes. Il est alors utile de pouvoir les trier, organiser et créer des sous-ensembles grâce aux fonctionnalités de groupage de données. Chaque groupe ajoutera 2 lignes :

  • En-tête du groupe (group header): initialise et identifie chaque sous-ensemble. Permet également de réaliser des calculs statistiques liés à ce sous-ensemble de données
  • Pied du groupe (group footer) : indique la fin de chaque sous-ensemble. Permet également de réaliser des calculs statistiques liés à ce sous-ensemble
../_images/10000000000005F2000001A26D1A36C8.png

Graphiques

La création d’un graphique (ou diagramme) se fait en 3 étapes:

Choix du type de graphique

../_images/10000000000004390000025A137B95A5.png

La liaison de données

Le « data binding » avec un diagramme peut être réalisé de deux manières :

  • Lier directement un « data set » au graphique
  • Insérer le graphique dans une cellule de tableau permettant ainsi la liaison de données par héritage avec le « data set » du tableau »
../_images/10000000000003CF00000251408B7FE1.png

L’héritage des données du composant parent est nécessaire lorsque l’on souhaite réutiliser les groupes et agrégations réalisées dans le composant parent. Les fonctions d’agrégations et de groupage sont beaucoup plus limitées dans le composant graphique.

Mise en forme

../_images/10000000000004190000025ABC2D698F.png

Les bibliothèques BIRT

Un rapport peut contenir un grand nombre d’objets. Il peut être nécessaire de ré-utiliser des composants développés pour un rapport spécifique dans de nouveaux rapports. Pour éviter de re-développer un même composant dans plusieurs rapports, il est possible de stocker ce composant dans une bibliothèque partagée et instancier cet élément chaque fois qu’il est nécessaire.

Les bibliothèques BIRT (fichiers *.rptlibrary) contiennent des objets qui seront partagés entre plusieurs rapports. Avantages :

  • gain de temps sur le développement de rapport
  • maintenance simplifiée : La mise à jour d’un composant dans la bibliothèque sera appliqué à tous les rapports utilisant ce composant
  • un composant issu d’une bibliothèque peut être surchargé dans un rapport afin d’en modifier l’apparence ou les paramètres

Principe de fonctionnement :

  • chaque projet de rapport a un dossier spécifique contenant toutes les ressources partagées et accessible via un chemin relatif (images, bibliothèques, CSS, …)
  • l’explorateur de ressources de Eclipse BIRT permet de naviguer dans ces ressources et important les composants nécessaires grâce à un « glissé déposé » dans le rapport
  • les composants importés des bibliothèques sont identifiés dans le rapport à l’aide d’une icône spécifique
../_images/10000000000003340000018F33DF4032.png

Les modèles BIRT

Le modèle de rapport (fichier .rpttemplate) est très différent de la bibliothèque BIRT. L’objectif du modèle est de fournir un point de départ pour la création d’un nouveau rapport. Le modèle peut contenir:

  • une mise en page spécifique
  • les en-têtes et pieds de page (« master pages » )
  • les sources de données
  • les « data sets »
  • des composants graphiques
  • des scripts

Chaque composant utilisé systématiquement dans chaque nouveau rapport peut être stocké dans un modèle. Ces composants peuvent également provenir d’une bibliothèque BIRT.

Le rapport créé à partir d’un modèle ne garde aucun lien avec le modèle utilisé : le contenu d’un modèle est dupliqué dans le nouveau rapport. Ainsi, une modification apportée au modèle n’aura pas d’impact sur les rapports déjà créés à partir de ce dernier.