2010-07-28 12 views
9

Qui stiamo parlando di tre prodotti principali: JasperReports: che è solo una libreria per generare report e riempirlo iReport: che è strumento GUI per sviluppare modelli utilizzati dalla libreria sopra JasperServer: che è la piena applicazione con interfaccia web per la gestione rapporti con gli utenti le autorizzazioni e le altre caratteristiche,Qual è l'approccio migliore per utilizzare JasperReports?

documentazione non è veramente buono, voglio usare il meglio dei prodotti di cui sopra per integrare JasperReports con la mia domanda (Spring/Hibernate), in modo da per favore consiglio w il cappello è l'approccio migliore per fare questo,

1- progettare report utilizzando iReport utilizzando generazione SQL incorporato, e renderlo come un progetto separato dal mio, ho cercato di usare Hibernate o Spring all'interno iReport ma anche io affrontato un sacco di problemi e chiara documentazione per questa parte

2- fissarlo con il mio progetto, per usare la stessa configurazione Hibernate, entità già create

3- tenta di utilizzare JasperServer che sembra essere complicata, e quindi espongono rapporti come webservices

o qualsiasi altro approccio migliore, garantito, so che dipende dal modo in cui il mio progetto sta trattando, ma ho carenza di tempo, quindi dipende dall'approccio con migliori documentazioni o tutorial.

risposta

6

È possibile scrivere il proprio framework Jasper in un modulo o sottoprogetto. È possibile mantenere le definizioni dei report separatamente dalle query e alimentarle con i dati prodotti dal codice.

In questo modo tutti i dati e la gestione rimangono nel progetto in cui è più semplice da tracciare o modificare (ad esempio quando è necessario modificare un aspetto della query, aggiungere un filtro o riscriverlo per ottenere prestazioni migliori). Inoltre, in questo modo è possibile utilizzare i dati del report per qualcos'altro (ad esempio, aggiungere CSV o output XML).

+0

il tuo approccio sembra migliore, ma potresti per favore califfare 'Puoi mantenere le definizioni dei report separatamente dalle query e alimentarle con i dati prodotti dal tuo codice' more –

+2

Crea e mantieni jrxmls con iReport. Nel tuo codice, carica i dati di cui hai bisogno (SQL/Hibernate/_anything_) e chiama 'JasperFillManager.fillReport()' –

+1

Ok quello che ho capito dalla prima risposta, ma tu rendi più chiaro, penso che sia l'approccio migliore fino ad ora, saluti, –

3

Vedere http://en.wikipedia.org/wiki/JasperReports per la parte "Ciò che è" della domanda.

Ho affrontato gli stessi problemi nel prendere in considerazione l'uso di rapporti Jasper nella mia domanda, ma alla fine ho rinunciato completamente.

In ogni caso, dare un'occhiata a questo post per ulteriori informazioni sui diversi framework di report per Java. Generating Reports - What works for you?

di cuore consiglia di dare un'occhiata a BIRT http://www.eclipse.org/birt/phoenix/

ho usato sia con la primavera e Hibernate, e non hanno alcun lamentano finora.

+0

quindi è davvero così che jasperReports è un prodotto così complicato o cosa, penso che sia in cima agli altri strumenti di reporting, controllerò Birt, grazie per la tua risposta –

+0

che ho trovato usando i report jasper con spring è un po 'difficile. Ora userò i report BIRT. ma non riesco a trovare un modo per compilarlo usando java e generare un pdf – vigamage

0

Per JasperReports è possibile acquistare la documentazione. Riceverai un libro e un codice di esempio che può essere di grande aiuto. Ho appena guardato il sito Web (è stato qualche tempo fa che ho lavorato con JasperRepors, al momento non ho alcuna segnalazione da fare), ora hanno anche un'applicazione di progettazione professionale: http://www.jaspersoft.com/jasperreports-professional.

+1

ok l'idea di acquistare libri è accettabile, ma l'acquisto di prodotti commerciali non è, perché la nostra scelta per jasperReports era perché è un prodotto open source gratuito, grazie per l'aiuto –

+3

Devo aggiungere: un prodotto open source * può * essere ancora commerciale. Questo è lì creato o mantenuto per guadagnare denaro. Come JBoss, Spring, Apache e molti altri. Spero che tu non abbia la politica "non commerciale" solo perché l'open source dovrebbe essere libero come nella birra. – Gerbrand

1

Non riesco a commentare gli altri due approcci, ma stiamo utilizzando Jasperserver e questo sembra essere più appropriato se si desidera utilizzare effettivamente un portale con cui le persone accedono ai propri report. Con questo, si creano report in ireport e li si pubblica sul portale.Le persone accedono al portale per accedere ai loro rapporti. Non penso che useresti Jasperserver se lo stavi semplicemente incorporando nella tua applicazione.

1

Ho iniziato a utilizzare JasperServer-pro di recente e tbh mi piace molto. Per quanto ne so sembra che ci siano un sacco di opzioni in termini di integrazione con le applicazioni esistenti: -

1 -Deploy come server autonomo, e utilizzare l'API WebService di rimettere in per generare e restituire i rapporti (questi devono essere predefiniti, sia tramite iReport o proprio AdHoc report Editor di JasperServer.

2- Deploy come server autonomo, e fare URL chiamate tramite un browser dato il via per tirare sui rapporti (di nuovo predefinito)

3 - (solo Pro) - Scaricare il programma di installazione WAR BIN e rinominarlo.

4 - Scarica il codice sorgente per JasperServer e costruirlo da zero

5 - Scarica i Codice sorgente/barattoli JasperReports e prendere in prestito le parti che si desidera utilizzare nel codice sorgente.