Finissons le tour d'horizon rapide de JasperReport et Birt en décrivant les limitations.

On peut trouver son bonheur dans ces deux outils mais, quelques contraintes, parfois fortes, viennent douter de l'utilisation systématique de ces api.

Birt

  • très grosse api : lourde à intégrer, temps d'appropriation important;
  • utilisation exclusive (ou presque) d'Eclipse
  • tableaux simplistes : très difficile de faire des tableaux à la "Excel";
  • pas d'intégration de cartes

JasperReport

  • peu de documentation;
  • tableaux simplistes : impossible de faire des tableaux à la "Excel";
  • pas d'intégration de cartes;
  • extension difficile
  • pas de svg
Birt peut être étendu côté graphique : le chartEngine est conçu pour être évolutif. Il utilise batik, l'api de la fondation Apache pour le svg, qui offre de l'interaction aux graphiques. Mais ajouter un nouveau type de graphique relève du tour de force tant l'api semble épaisse.

Ces outils de reporting sont performants, ils demandent de l'investissement, parfois beaucoup (pour Birt) à la fois pour comprendre le fonctionnement des api mais surtout pour étendre les capacités si celles ci sont ne pas suffisantes.

Je cherchais un outil de reporting pour construire des tableaux de bord contenant des tableaux, graphiques et cartes. Par tableaux, j'entends des tableaux à la "Excel": fusion de colonnes, le constructeur du tableau définit lui même dans chaque cellule ce qu'il y a (texte ou formule). Par cartes, j'entends afficher une représentation cartographique d'un territoire suivant des valeurs données.
JasperReport ne permet pas de construire les tableaux et les cartes, j'ai eu du mal à trouver le bon paramétrage pour définir plusieurs sources de données. Birt offre plus de possibilités : moins orienté "listing", plus proche d'une mise en page de tableau de bord mais semble lourd à étendre. Les tableaux peuvent sans doute être construits mais une requête par cellule devrait être exécutée.