2010-07-28 19 views
9

nous parlons ici de trois produits principaux: JasperReports: qui est juste une bibliothèque pour générer des rapports et le remplir iReport: qui est un outil graphique pour élaborer des modèles utilisés par la bibliothèque ci-dessus JasperServer: qui est une application complète avec l'interface web pour la gestion des rapports avec les utilisateurs des autorisations et d'autres caractéristiques,Quelle est la meilleure approche pour utiliser JasperReports?

documentation est vraiment pas bon, je veux utiliser le meilleur des produits ci-dessus pour intégrer JasperReports à ma demande (Spring/Hibernate), donc s'il vous plaît conseils w chapeau est la meilleure approche pour ce faire,

1- rapports de conception à l'aide iReport en utilisant la génération SQL embarquée, et faire comme un projet distinct de la mienne, j'ai essayé d'utiliser Hibernate ou Spring au sein iReport mais aussi je fait face à beaucoup de problèmes et aucune documentation claire pour cette partie

2- attach avec mon projet, d'utiliser le même Hibernate configuration, déjà créé des entités

3- essayez d'utiliser JasperServer qui semble compliqué, et exposer les rapports que webservices

ou toute autre approche meilleure garantie, je sais que cela dépend de la façon dont mon projet traite, mais j'ai une pénurie de temps, donc cela dépend de l'approche ayant de meilleures documentations ou tutoriels.

Répondre

6

Vous pouvez écrire votre propre cadre Jasper dans un module ou un sous-projet. Vous pouvez gérer les définitions de rapport séparément des requêtes et les nourrir avec les données produites par votre code. De cette façon, toutes les données et la gestion restent dans votre projet où il est plus facile à suivre ou à modifier (par exemple, lorsque vous avez seulement besoin de modifier un aspect de la requête, d'ajouter un filtre ou de le réécrire). De même, vous pouvez utiliser des données de rapport pour autre chose (par exemple ajouter une sortie CSV ou XML).

+0

votre approche semble meilleure, mais pourriez-vous calrifier 'Vous pouvez gérer les définitions de rapport séparément des requêtes et les nourrir avec les données produites par votre code' plus –

+2

Créer et maintenir jrxmls avec iReport. Dans votre code, chargez les données dont vous avez besoin (SQL/Hibernate/_anything_) et appelez 'JasperFillManager.fillReport()' –

+1

Ok, que ce que j'ai réalisé de la première réponse, mais vous le clarifiez, je pense que c'est la meilleure approche jusqu'à maintenant, Cordialement, –

3

Voir http://en.wikipedia.org/wiki/JasperReports pour la partie «Qu'est-ce que c'est?» De votre question.

J'ai rencontré les mêmes problèmes en envisageant d'utiliser les rapports Jasper dans mon application, j'ai fini par l'abandonner complètement.

En tout cas, jetez un coup d'oeil à ce post pour plus d'informations sur les différents frameworks de rapports pour Java. Generating Reports - What works for you?

Je recommande vivement que vous jetez un oeil à BIRT http://www.eclipse.org/birt/phoenix/

Je l'ai utilisé avec les deux Spring et Hibernate, et n'ont pas se plaindre à ce jour.

+0

donc c'est vraiment que jasperReports est un produit si compliqué ou quoi, je pense qu'il se classe au sommet des autres outils de reporting, je vais vérifier Birt, merci pour votre réponse –

+0

J'ai trouvé que l'utilisation de jasper avec Spring est un peu difficile. Maintenant, je vais utiliser les rapports BIRT. – vigamage

0

Pour JasperReports pouvez-vous acheter de la documentation. Vous obtiendrez un livre et un exemple de code qui peut vous aider beaucoup. Je viens de regarder le site Web (il y a quelque temps, j'ai travaillé avec JasperRepors, actuellement aucun rapport à faire), ils ont aussi une application de conception professionnelle maintenant: http://www.jaspersoft.com/jasperreports-professional.

+1

ok l'idée d'acheter des livres est acceptable, mais acheter des produits commerciaux n'est pas, parce que notre choix pour jasperReports était parce que c'est un produit open source gratuit, merci pour l'aide –

+3

Je dois ajouter: un produit open source * peut * être encore commercial. C'est là créé ou maintenu pour gagner de l'argent. Comme JBoss, Spring, Apache et bien d'autres. J'espère que vous n'avez pas la politique "non commerciale" juste parce que l'open source est censé être libre comme dans la bière. – Gerbrand

1

Je ne peux pas commenter les deux autres approches, mais nous utilisons Jasperserver et cela semble plus approprié si vous voulez utiliser un portail avec lequel les gens accèderont à leurs rapports. Avec ceci, vous créez des rapports dans ireport et les publiez sur le portail.Les personnes se connectent au portail pour accéder à leurs rapports. Je ne pense pas que vous utiliseriez Jasperserver si vous l'intégrez simplement dans votre application.

1

J'ai commencé à utiliser JasperServer-pro récemment et je l'aime bien. Pour autant que je sais qu'il semble y avoir beaucoup d'options dans la manière de l'intégrer avec les applications existantes: -

1 -Déployez comme serveur autonome, et utiliser l'API WebService pour appeler en pour générer et renvoyer vos rapports (ceux-ci doivent être prédéfinis, soit par iReport ou propre éditeur de rapports AdHoc JasperServer.

2- Déployer en tant que serveur autonome, et faire URL appels via un navigateur hors coups de pied pour tirer des rapports (encore une fois prédéfini)

3 - (Pro-only) - Téléchargez le programme d'installation WAR BIN et rebaptisez-le.

4 - Télécharger la source code pour JasperServer et construire à partir du sol

5 - Télécharger le code source /pots JasperReports et empruntent les pièces que vous souhaitez utiliser dans votre code source.