The Pentaho Reporting engine offers unique functionality not found in competing embeddable solutions:
- Does not require a JDK at runtime. While you do need a Java Development Kit installed on your development machine, you do not need a JDK to run a program that embeds the Pentaho Reporting engine -- just a standard Sun Java Runtime Environment.
- All processing is done in memory. No temporary files are created by the Reporting engine. A program that relies on the Pentaho Reporting engine for report generation can run on a diskless system.
- Potentially backwards-compatible to JDK 1.2. The Pentaho Reporting architect has given special consideration to users and developers on legacy systems. While Pentaho focuses its in-house development and QA efforts on JRE 1.6.0, it is possible to use the Reporting engine in older JREs by adding JDBC and JNDI libraries.
- Dynamically and automatically adjustable components. The Pentaho Reporting engine detects JARs that add functionality at runtime, so you can add new JARs to expand the engine's capabilities, or remove unnecessary JARs to reduce your application's memory and disk space footprint.
- Low memory footprint. A Pentaho Reporting-based application can run with as little as 64MB of memory (though 128MB would dramatically increase report processing speed).
- Totally configurable through runtime parameterization. Every style, function, query, and report element is fully customizable by passing parameters to the Reporting engine when you render a report.
- OpenFormula integration. OpenFormula is an open standard for mathematical formulas. You can easily create your own custom formulas, or you can customize the ones built into the Pentaho Reporting engine with this clearly and freely documented standard.
- Simple resource management. Using the OpenDocument Format (ODF), the Pentaho Reporting engine bundles all report resources, including the data source connection information, query, and even binary resources like images into one canonical file. This simplifies physical resource management and eliminates relative path problems.