Question

Je souhaite intégrer JasperReports à une application Web existante pour la génération de rapports. La Webapp repose sur une base de données existante, ancienne et complexe, qui ne convient vraiment pas aux rédacteurs de rapports. Elle permet également de rédiger des rapports directement.

Ce que je veux regarder, c’est écrire une sorte de wrapper autour de notre couche d’accès aux données existante ( écrite pour rendre notre vie plus facile parler avec la base de données ancienne et complexe susmentionnée ). Quelqu'un at-il déjà écrit des sources de données personnalisées pour JasperResports, ou fait quelque chose de ce genre?

Mis à jour

Je suppose que ma question n'était probablement pas claire - ce qui est probablement dû au fait que mes exigences ne sont pas claires non plus. Je souhaite fournir aux utilisateurs finaux un moyen quelconque d'utiliser, par exemple, iReport pour créer des rapports sur la base de données, puis d'utiliser JasperReportServer pour la planification / l'affichage des rapports. Cependant, la base de données est vraiment très méchante et n’a jamais été conçue pour être utilisée de cette façon. Nous avons une couche d'accès autour de cela que la webapp utilise pour lui parler. Je souhaite que les utilisateurs finaux restent totalement éloignés de la base de données, et l'idée d'une source de données personnalisée utilisant la couche d'accès semblait une bonne option. Cependant, j'ai trouvé très peu de documentation sur la façon de le faire. C’est peut-être bien plus facile que je ne le pense, et j’essaie simplement de rendre une chose simple et mortelle trop compliquée.

Mis à jour

Merci pour les réponses. Je ne pense pas que mon problème ait été résolu, mais je pense que les réponses ont contribué à éclairer la phase des exigences.

Était-ce utile?

La solution

Chaque modèle JasperReports peut avoir deux sources de données différentes. Vous pouvez l’accrocher directement à une base de données à l’aide d’un pilote jdbc ou, dans votre cas, fournir une collection de beans java (POJO), généralement une liste.

Le modèle JasperReports est similaire à une définition de méthode. Il porte un nom, c’est-à-dire un objet et des paramètres JR compilés (source de données et liste des paramètres d’entrée de certains des types Java les plus répandus).

Ma suggestion est d'utiliser l'outil iReport. Ouvrez un exemple fourni avec le paquet JasperReports, analysez-le et ajustez-le. Ce n'est pas si compliqué.

MISE À JOUR

Autoriser les clients à créer des modèles JasperReports, à compiler et à ajouter du chemin de classe signifie que vous devrez trop ouvrir votre système. Généralement, les clients décrivent le rapport souhaité et le ou les développeurs créent la source de données et conçoivent le modèle. JasperReports peut avoir des paramètres. Si ces paramètres sont exposés via l'interface utilisateur, les utilisateurs peuvent modifier le comportement des rapports lors de l'exécution.

Si vous devez réellement permettre plus de flexibilité, utilisez l’API fournie par JasperReports pour la création de modèles. J'imaginais des DLS simples pour que les utilisateurs avancés communiquent avec votre système en créant des rapports à la volée.

Autres conseils

Les rapports Jasper vous permettent d’utiliser un "JavaBean " la source de données. Vous pouvez charger vos données dans n’importe quelle structure Java Bean et construire les rapports correspondants. Fonctionne bien.

Voir la " source de données personnalisée " section ici .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top