Jasper Reports è una libreria open source che consente di creare dei report utilizzando la piattaforma Java. Il progetto è nato per mano di Teodor Danciu nel 2001, per il semplice motivo che a quel tempo esistevano solo soluzioni commerciali molto costose (come l’onnipresente CrystalReports) e eccessivamente complicate. I punti di forza della sua nuova libreria furono evidenti a tutti da subito:
- semplice da usare, ma allo stesso tempo molto flessibile;
- open source;
- liberamente utilizzabile in progetti commerciali (utilizza infatti la licenza LGPL).
L’enorme successo avuto dalla sua “creatura” fino ad oggi non può che dargli ragione su tutta la linea!
Come funziona
Jasper Reports non fa altro che prendere dei dati e creare con essi un documento (in formato PDF, HTML, Excel e molti altri), formattato in base alle istruzioni presenti in un template; i template sono dei file XML la cui sintassi è -ovviamente- pubblica e standardizzata. Il fatto di avere un formato testuale e aperto (al contrario dei formati binari e chiusi della “concorrenza”) ha fatto sì che nascessero da subito alcuni report designer, ovvero applicazioni desktop da usare per definire facilmente la struttura e l’aspetto dei report. Il più famoso e completo ad oggi è sicuramente iReport, anche grazie alla stretta collaborazione che c’è sempre stata fra Teodor Danciu e Giulio Toffoli, il creatore di iReport.
Un semplice report
Vediamo quindi come creare il nostro primo report. Per prima cosa bisogna scaricare iReport dal sito ufficiale:
http://jasperforge.org/projects/ireport
Ci sono varie versioni per Windows, Mac o Linux. Consigliamo tuttavia di scaricare la versione “Other platforms – Generic ZIP distribution for all the other platforms”, che ci consente di utilizzare l’applicazione senza doverla installare; molto comodo se, come succede spesso nel mondo dell’IT, bisogna mettere mano a dei report utilizzando una vecchia versione di iReport e non si vuole “inquinare” il proprio PC con installazioni conflittuali.
Lanciando l’applicazione ci troveremo di fronte ad una finestra di benvenuto con varie opzioni. Cliccare ora su “Passo 2: crea un nuovo report” (vedremo in un altro articolo come creare nuove connessioni). Si aprirà la prima pagina di un wizard con varie opzioni, di queste scegliamo Report e poi Simple Blue (in fondo) poi clicchiamo sul pulsante Launch report wizard.
Nella seconda pagina ci viene chiesto dove salvare il template, mentre in quella successiva quale connessione utilizzare per i dati. iReport fornisce in partenza un database di esempio (basata sul database all-Java HSQLDB), molto utile per familiarizzare con l’applicazione. Scegliamo questa connessione e inseriamo nell’area di testo la seguente query SQL:
SELECT PRODUCT."ID" AS PRODUCT_ID, PRODUCT."NAME" AS PRODUCT_NAME, PRODUCT."COST" AS PRODUCT_COST FROM "PUBLIC"."PRODUCT" PRODUCT ORDER BY PRODUCT."NAME" ASC
È possibile utilizzare anche un semplice ma efficace Query designer, premendo sul pulsante Design query.
Cliccare ancora su Avanti e selezionare tutti i campi tramite il pulsante >>.
Cliccare su Avanti per due volte, saltando la pagina relativa ai raggruppamenti (argomento che tratteremo più avanti), infine cliccare su termina.
A questo punto nello spazio di lavoro comparirà il nuovo report; l’aspetto può ricordare quello di un normale documento di un word processor, in realtà è un oggetto piuttosto complesso e articolato, dato che ogni sua parte può essere modificata dinamicamente. Comunque, il gran pregio di iReport è di riuscire a darci un’idea molto precisa dell’aspetto finale che avrà il report generato, dato che viene utilizzando il paradigma noto come WYSIWYG, ovvero “What You See Is What You Get”, traducibile poco letteralmente come “Ciò che vedi a video è molto simile a ciò che verrà prodotto”.
Per vedere il report in azione basterà quindi cliccare sul pulsante Anteprima (appena sopra il report) per vedere il risultato della query SQL formattato in maniera impeccabile!
Sviluppi
Nei prossimi appuntamenti vedremo come agganciare i report ad un vero database, oltre che qualche trucco per realizzare report di livello professionale.
Linkografia
- JasperForge, hub di tutti i progetti collegati a Jasper Reports;
- Intervista a Teodor Danciu sulla nascita ed evoluzione di Jasper Reports;
- dettagli sulla licenza LGPL.