ReportMill is the only reporting tool designed specifically for Java application reporting. This contrasts with traditional database reporting tools that provide interfaces to work "in-conjunction" with Java applications. ReportMill's approach is significantly more efficient in terms of integration, configuration, development, processing and cost.

ReportMill is also the only Java reporting tool to offer both PDF and Flash generation to produce documents in internet standard formats that are paginated, printable and archivable (PDF) and portable, scrollable and interactive (Flash).

Finally, ReportMill is the only Java reporting tool designed around the familiar page-layout paradigm, and offering XML based template design. The page layout interface offers unprecedented freedom in template design, making it intuitive for anyone that has used any page layout application, such as PageMaker or MacDraw.

Integration and Configuration

Just about every reporting solution available comes in the form of a separate server process - requiring separate installation and configuration, sometime requiring specific hardware. This architecture complicates deployment, adds to administration costs and introduces additional points of failure.

ReportMill's single jar file packaging makes it trivial to integrate. Simply copy the ReportMill jar onto the deployment machine or merge it with your own application jar. After that, developers can turn any Java dataset into PDF or Flash reports with one line of code! With ReportMill's aggressive evaluation program, most customers add their first report to their application in a matter of hours.

Development and Processing

Most Java applications manage Java datasets for each user or "session". The most common reporting requirement is to turn the current user or session dataset into a printable report. All traditional database reporting tools force the developer to repackage that dataset as an SQL query and pass it to the separate reporting process. The separate process establishes a redundant connection to the database and re-fetches redundant data from the database, at a cost of bandwidth, time and memory. Even then, traditional reporting tools only have access to the raw database data - any custom business logic that exists in the Java application must be re-written in a proprietary macro language, in each and every template, with no source code control, code-reuse or debugger support.

ReportMill uses the magic of Java reflection to harvest report data directly from any Java dataset, including EJBs, custom Java objects, Java collections classes or even a Java JDBC result set. This method of report generation is not only an order of magnitude more efficient in terms of data retrieval, but it also allows you to leverage your investment in the same business logic used in your JSPs and Swing GUIs. Additionally, this method also leverages the security inherent in your current Java model.

PDF and Flash

ReportMill is the only reporting package available that generates both PDF and Flash. By relying on common, internet standard file formats, ReportMill eliminates the need for costly and troublesome plug-ins. PDF is uniquely suited for documents that are paginated, printable and archivable. Flash is uniquely suited for documents that can be viewed just about anywhere and are scrollable and interactive.

Page Layout Interface and XML-Based Design

Traditional reporting packages complicate template design by forcing developers to start with database connection information, progressing to table selection, foreign key/primary key mapping, query definition and more. Even then developers are left with the "document strips" model of template design, where the developer is forced to configure "strips" representing report, page and table headers/details/summaries to eventually construct a final document.

ReportMill's page layout application makes it easy to immediately start adding page headers and footers, cover and summary pages and more. This architecture makes it possible to create reports not possible with other tools, including forms based on existing PDF documents, templates with multiple tables/graphs/crosstabs, templates with advanced graphics features and more.

Also, ReportMill's XML based design, makes it possible to design templates for any conceivable Java datasource, by starting with any XML description (ReportMill offers API to generate XML from any Java dataset as well). This makes it possible for anyone to do template design without access to a database or the Java application.


ReportMill has distinguished itself in a sea of Crystal Reports re-writes with a bold new architecture and philosophy uniquely suited for the needs of sophisticated Java developers. The distinctions above clearly show why ReportMill is the only real option for Java application reporting.