A touch of JClass for charts, reports

Editor’s note: Product Reviews are independent reviews written by software development professionals, from in-the-trenches coders to big-picture architects, who offer ADT readers warts-and-all portraits of the tools and technologies they use themselves.

Quest Software, Inc.
Irvine, Calif.

Building Java applications that generate customized graphs and charts for plotting business metrics or that dynamically produce printable PDF and RTF documents presents a unique challenge to any software development team. Creating the kinds of complex, interactive charts and reports that Quest Software’s JClass products are capable of —out of the box—would require a downright Herculean effort.

JClass is a family of Java component library products designed to facilitate the rapid, dynamic generation of complex charts, graphs, and printable documents from within Java 2 Standard Edition (J2SE) and Java 2 Enterprise Edition (J2EE) applications. Quest, based in Irvine, Calif., provides these capabilities in two product lines: JClass DesktopViews and JClass ServerViews.

DesktopViews is a collection of Java components designed to provide the functionality required to build client-side applications with rich interface requirements. It comes with a range of components, including a charting component for J2SE applications (JClass Chart), an interactive, three-dimensional data presentation component (JClass Chart 3D), and a Java grid for creating tables and forms (JClass Livetable).

ServerViews is a set of server-side Java components for creating dynamic charts, Adobe Acrobat PDF, and Microsoft Word-compatible RTF documents from J2EE applications to the browsers of an entire network of users. The product includes a pure J2EE set of components for generating interactive charts (Server- Chart), and a pure J2EE component for generating PDFs and RTFs on the fly, (ServerReport).

Getting Started JClass requires you to register your server with Quest’s Web site. This process produces a license file, which you need to complete the install. I ran into a snag getting the online form to accept my PC’s hostname and number of CPUs. In the end, Quest’s customer support personnel had to create the license file manually and send it to me via e-mail. On the upside, the experience served to highlight Quest’s considerable support prowess. The software is available via download from the company Web site, or on a CD, which comes with installation instructions and a developer’s manual. I highly recommend purchasing the hard-copy version with the manuals. For those needing a degree of customization not available in the core product and willing to shell out extra greenbacks, a JClass license is available with source code.

REVIEW SUMMARY Overview: JClass is a family of Java-componen tlibrary products designed to facilitate the rapid, dynamic generation of complex charts, graphs and printable documents from within Java 2 Standard Edition (J2SE) and Java 2 Enterprise Edition (J2EE) applications.

Bottom Line: Top-shelf Java component libraries for dynamic chart and report generation. Highly recommended.

System Requirements: DesktopViews is compatible with JDK 1.4. Quest advises users of 1.4 or later, and users who are experiencing drawing problems, to upgrade to the latest drivers for their video cards. ServerViews works with any platform that supports 100% Pure JavaBeans components and Java 2. JClass integrates with several major IDEs, most notably IBM’s WSAD and Borland’s JBuilder. Eclipse, my IDE of choice at the moment, isn’t on the list of supported IDEs, which is disappointing but understandable, given JClass’ target corporate market. Each JClass library provided a clearly defined API, allowing me to generate reasonably complex material in relatively short order.

The ServerViews products are designed for use in application server environments and ship with design features for popular application servers, and it supports industry-standard file formats like Macromedia Flash and Adobe PDF. The product includes JClass ServerChart for business, financial and scientific charts and graphs, generated on the server; and JClass ServerReport, for server-side PDF and RTF generation for automated reports.

Just as its name implies, ServerChart’s role is to dynamically generate charts for use in server-driven J2EE applications; it allows you to generate 16 different types, from simple bar and plot charts to elaborate polar and area radar charts. The API provides well-defined granularity of control over each aspect of the final chart output. For example, Xand Yaxis, coloration, fonts and appearance of legends are all easily defined. Charts can be output in any image format commonly used within Web pages.

ServerReport, which is mostly similar to the ServerChart library, makes short work of dynamically generating PDF or RTF reports. These reports can even contain charts drawn by ServerChart, which is a nice bit of synergy. Interestingly, the report- creation space is more competitive than that of charts, with players such as the venerable Adobe (progenitor of the PDF format), Crystal Reports, and Brio, as well as opensource offerings such as iText, battling for market share. ServerReport certainly holds its own here, featuring the same well-defined levels of control as other JClass products.

Both of the SeverViews products come with designer applications. ServerReport Designer and ServerChart Designer are J2SE-based desktop apps that the developer can use to create templates for reports or for generic templates to use with the chart libraries. Templates are reusable across the spectrum of file types, which means that the same template you build to create stacked area charts in JPG will work for charts in GIF or PNG. The templates themselves are just XML files that get populated with metrics and other information through one of the aforementioned methods. The sheer volume of features associated with the ServerViews libraries takes some time to digest. The designer utilities lend themselves as great tools for perusing the various features available within each JClass package. Despite the ease of use of each Designer tool, the interfaces have that old-school, non-native-Java-desktopapp feel to them. This is somewhat understandable, considering that JClass has been on the market almost as long as Java itself. But I’ve been spoiled by some of the newer Swing and SWT apps, especially IBM’s SWT-based WSAD and Eclipse IDEs. So I’d have to say that the designer utilities could use a facelift to alleviate some awkwardness in the interface.

The DesktopViews offerings are more varied and, in many ways, more powerful than their ServerViews brethren, which is not unexpected, given J2SE’s rich-client capabilities. JClass Chart and Chart 3D are roughly the equivalent of the ServerChart library, though with more interactivity features, such as the ability to rotate charts on an axis. Chart is built atop a custom MVC framework, making application tiers more approachable and manageable. If your application’s requirements call for charting business metrics or on-the-fly creation of PDFs, the JClass products are well worth a look. 

• Clearly defined APIs and excellent documentation make integration with your app painless
• Broad range of supported image and document formats
• Source available if needed

• Designer utilities, while easy to use, could use a refresh
• Support for additional Java IDEs, such as Eclipse, NetBeans or JDeveloper, would be great JClass is a family of Java component library products that facilitate the rapid, dynamic generation of complex charts, graphs and printable documents.

About the Author

Jason Halla is an enterprise J2EE architect with a Fortune 500 company in Indianapolis, and moderator of Devshed's popular Java, PHP and XML forums. He can be reached at [email protected]

Upcoming Events