JasperReports

From Wikipedia, the free encyclopedia

JasperReports
Developed by JasperSoft
Latest release 3.0.0 / March 19, 2008
OS Cross-platform
Available in Multilingual
Genre Enterprise Reporting
License GNU Lesser General Public License
Website JasperReports

JasperReports is an open source Java reporting tool that can write to screen, to a printer or into PDF, HTML, Microsoft Excel, RTF, ODT, Comma-separated values and XML files.

It can be used in Java-enabled applications, including J2EE or Web applications, to generate dynamic content. It reads its instructions from an XML or .jasper file.

Contents

[edit] Features

JasperReports is an open source reporting library that can be embedded into any Java application. Features include:

  • PDF, HTML, Microsoft Excel, RTF, ODT, CSV and XML files. The engine allows report definitions to include charts, with the rendering provided by the JFreeChart library which supports many chart layouts, such as Pie, Bar, Stacked Bar, Line, Area, Scatter Plot, Bubble, and Time series.
  • Multiple sources can be merged together.[1] The data can be retrieved from defined data sources such as JDBC, CALS Table Models, JavaBeans, EJBQL, XML, Hibernate, and Comma-separated values, and additional data sources can be added to the JasperReports framework by plugging in a custom JRQueryExecuter. An extension is available to use Oracle PL/SQL stored procedures as a data source.[2]
  • Scriptlets may accompany the report definition[1], which the report definition can invoke at any point to perform additional processing. The scriptlet is built using Java, and has many hooks that can be invoked before or after stages of the report generation, such as Report, Page, Column or Group.
  • Sub-reports[3]

For users with more sophisticated report management requirements, reports designed for JasperReports can be easily imported into the JasperServer - the interactive report server. JasperServer Project Page

[edit] JasperSoft

JasperSoft
Type Software engineering
Founded 2005
Headquarters
Key people Paul Doscher, founder
Industry business intelligence
Products JasperSoft BI[4]
Website jaspersoft.com

Teodor Danciu began work on JasperReports JasperReports Project Page in June 2001, the sf.net project was registered in September 2001[5] and JasperReports 0.1.5 was released on November 3rd 2001 [1].

JasperReports Version 1.0 was released on July 21, 2005[6].

The code was originally licenced under a copyleft JasperReports License[5] and later moved to LGPL.

In April 2005, Paul Doscher, formerly of Business Objects, formed JasperSoft by acquiring the copyright of JasperReports from Teodor Danciu[7], hired him, and as of July 2005 had raised $23.3m in capital[8]. As a result, JasperSoft is able to provide commercial software around the JasperReports product, and negotiate contracts with software developers that wish to embed the JasperReports engine into a closed source product.

JasperSoft's main related product is JasperServer JasperServer Project Page, a Java EE web application that provides advanced report server capabilities such as report scheduling and permissions. It is available under an open source license for use in conjunction with open source infrastructure such as MySQL and JBoss, or a commercial license for enterprise deployments involving commercial databases and application servers.

JasperSoft has leveraged their JasperServer product to enter the OnDemand BI space with a reporting platform for salesforce.com, Jasper4Salesforce. Jasper4Salesforce Product Page Jasper4Salesforce provides BI around data stored within salesforce.com. Jasper4Salesforce is marketed through salesforce.com's AppExchange application marketplace. Jasper4Salesforce AppExchange Marketplace Page

JasperSoft is a gold partner with MySQL[9], and JasperReports was included in the PostgreSQL distribution Bizgres version 0.7.[10][11][12]

[edit] JRXML

JasperReports are defined in an XML file format, called JRXML, which can be hand-coded, generated, or designed using a tool. The file format is defined by a Document Type Definition (DTD), providing limited interoperability.[13]

The main difference between using XML and a .jasper file is that the XML file should be compiled in runtime using the JasperCompileManager class.

[edit] Third party tools

There are many tools providing JasperReport JasperReports Project Page capabilities:

  • iReport, iReport Project Pagean open source standalone graphical program that provides report designer capabilities, and is able to run reports using all data source supported by the JasperReports engine.[3] iReport is actively maintained by JasperSoft.[14]
  • SWTJasperViewer, an open source reusable component that can be embedded in any SWT/JFace application such as Eclipse.[15]
  • five Eclipse plug-ins that provide report designing and debugging capabilities, including:
    • an open source iReport plugin for Eclipse
    • a commercial Eclipse plug-in called JasperAssistant.[16] The JasperAssistant plug-in is built using SWTJasperViewer.[17]
  • WebReportBuilder, an open source Java J2EE web application that allows web based developers and non developers to create basic and advanced Reports based on JasperReports to be used as a Web Report Server.
  • OpenReports, a Java EE web application that provides advanced report server capabilities with support four open source reporting engines: JasperReports, JFreeReport, JXLS, and Eclipse BIRT.[18]

[edit] IDE Integration

Many prominent Java IDEs provide instructions for users wishing to integrate JasperReports into a project. JasperReports Project Page

[edit] Further reading

  • David Heffelfinger (July 2006). JasperReports for Java Developers. Packt Publishing Limited. ISBN 1904811906. 
  • Brian D. Eubanks (November 15, 2005). "Chapter 6. Graphics and Data Visualisation", Wicked Cool Java: code bits, open-source libraries, and project ideas. No Starch Press, pp144-146. ISBN 1593270615. 

[edit] Code refactoring

JasperReports has been the focus of several academic papers on code refactoring

[edit] References

  1. ^ a b Erik Swenson (09/20/02). Reports made easy with JasperReports. JavaWorld.com. Retrieved on 2007-01-11.
  2. ^ OracleStoredProcedures sub-project
  3. ^ a b Christian Brell, Tobias Kieninger (January 2007). "Freie Reporting-Tools im Vergleich". JavaSpektrum. 
  4. ^ Zack Urlocker (July 23, 2007). JasperSoft BI Suite 2.0. InfoWorld weblog. Retrieved on 2007-07-30.
  5. ^ a b An Interview with Teodor Danciu of JasperReports. RootPrompt (February 16, 2005). Retrieved on 2007-01-11.
  6. ^ JasperReports 1.0 released. theserverside. Retrieved on 2007-01-11.
  7. ^ Can an open source project get acquired? One just did.. zdnet blogs (April 25th, 2005). Retrieved on 2006-12-28.
  8. ^ "Open source BI grabs more VC attention", Computer Business Review, 21st July 2005. Retrieved on 2007-01-11. 
  9. ^ MySQL AB :: Jaspersoft (2006-06-27). Retrieved on 2007-01-11.
  10. ^ Bizgres 0.7 Released. bizgres.org (August 3, 2005). Retrieved on 2007-01-11.
  11. ^ Gavin Clarke. "Bizgres gets down to business with open source BI stack", RegDeveloper, 3rd August 2005. Retrieved on 2007-01-11. 
  12. ^ Jutta Horstmann (November 10, 2005). Migrating to Open Source Databases: The Data Warehouse Case Study. Retrieved on 2007-01-11.
  13. ^ David R. Heffelfinger. JasperReports Tutorial/Getting Started Guide. Retrieved on 2007-01-11.
  14. ^ David R. Heffelfinger. Review: iReport Designer for JasperReports. Retrieved on 2007-01-11.
  15. ^ SWTJasperViewer: plugin details. Eclipse-Plugins.info (25-Nov-2004). Retrieved on 2007-01-11.
  16. ^ Anadi Misra (May 31, 2006). Generating reports with Jasper Reports. Retrieved on 2007-01-11.
  17. ^ JasperAssistant: Plugin details. Eclipse-Plugins.info (12-Dec-2006). Retrieved on 2007-01-11.
  18. ^ Brian Burridge (April 8th, 2005). JasperReports and OpenReports. Retrieved on 2007-01-11.
  19. ^ Ricardo Olivieri (17 Nov 2004). Generating online reports using JasperReports and WebSphere Studio. IBM developerWorks. Retrieved on 2007-01-11.
  20. ^ Craig Conover and Marina Sum (September 1, 2006). Integrating and Using JasperReports in NetBeans. Sun Developer Network. Retrieved on 2007-01-11.

[edit] Further reading

[edit] External links