DBMS

Platinum ProReports 1.4

By Marc Demarest
DBMS, April 1996

Most client-based report writers carry with them traces of their history as the tools of data center SQL programmers. But they are now becoming the tools of more or less non-technical end users. Balancing the control and complexity associated with SQL pr ogramming and the ease of use associated with end-user desktop publishing is a difficult task. ProReports from Software Interfaces Inc. (recently acquired by Platinum Technology Inc.) sets out to do just that and, on the whole, succeeds.

The Market

The report writer market is extremely crowded these days, and any report writer competes for market share on the basis of five types of functionality:

Platinum ProReports bills itself as a "next-generation data access and reporting tool" based primarily on its superlative capabilities in data access and ease of administration. Its ease of use and data publishing capabilities are, in general, excellent in a market filled with easy-to-use data publishing tools. Its desktop integration capabilities are limited to simple data exchange using the cut-and-paste capabilities of the underlying client operating system. Its Windows client, for example, supports neither DDE, OLE, nor application integration via VBA.

ProReports' data access and administrative capabilities make it a star. The ProReports client application is explicitly designed to work against multiple databases on different servers simultaneously: data sets from multiple sources can be integrated int o a single report. (See Figure 1.) In addition, the ProReports client creates a report specification that can, when a firm has purchased the ProServer product, be sent to a server for execution on either an ad hoc or regular basis. This moves the report processing workload off of the relatively weak client workstation and onto relatively powerful server platforms. Finally--and most important--ProReports contains a wealth of powerful configuration and customization features (all we ll-documented). These allow database and system administrators to configure and deploy ProReports across multiple intelligent desktops with shared configuration and metadata information. The version I tested, ProReports 1.4, is an update release. Accordi ng to its release notes, version 1.4 fixes a variety of minor bugs and feature limitations and adds a few new capabilities, such as toolbars.

Specifications

ProReports clients are available for Macintosh, Windows 3.x, Windows NT, and X-Windows on a variety of Unix platforms, with a Windows 95 client imminent. The Windows 3.x client, which I tested, requires a 386 processor or better, at least 8MB of main mem ory, and virtual memory configured to twice the physical memory or better. Although written to Win32s, the version 1.4 Windows product does not work properly under Windows 95. ProReports performed well on a 486/66 MHz system with 16MB of memory, and very well on a Pentium 100 MHz system with 16MB of memory.

The client supports ODBC, the native client/server APIs for Informix, CA-OpenIngres, Oracle, Rdb, DB2 and Sybase, as well as SequeLink and IBI's EDA/SQL. This makes it possible to connect ProReports, using a middleware/network combination, to virtually a ny data source in the typical firm.

The ProReports server is a separate component that is required to take advantage of some of the ProReports client's advanced features, such as report shipping. The ProReports server is available on a number of Unix platforms, including HP and Sun.

Configuration and Customization

ProReports is really not designed to be installed and configured on single client workstations, one at a time, by non-technical end users. As its well-designed, well-illustrated installation and configuration manual indicates, the ProReports client is de signed to be installed in a multi-user environment by LAN administrators and DBAs. This ensures that multiple instances of the client application get most or all of their configuration from shared configuration files stored on a LAN file server.

ProReports allows administrators and DBAs to configure and customize ProReports in several important ways:

These features combine to produce a powerful set of configuration tools for LAN administrators and DBAs. These tools are particularly useful in environments in which end users routinely execute SQL against multiple production databases with complex, cryp tic OLTP schema, rather than against one or a few DSS data warehouses and marts with denormalized legible schema. As more and more firms adopt data warehousing models for their DSS infrastructures, some of ProReports' configuration features will become r edundant as things such as column and table filtering and naming are handled in the DSS schemas themselves. Similarly, as more and more metadata management tools, such as Prism's Warehouse Manager, appear on the market, it is likely that ProReports will have to interoperate with those metadata repositories rather than manage its own metadata privately. Nevertheless, by not requiring that its proprietary metadata reside in a relational database, ProReports offers an interesting alternative to data access tools that burden already-creaking OLTP systems. ProReports places the proprietary metadata in a DBMS on the very systems against which the application executes dynamic SQL. This architecture, in effect, doubles or triples the inbound query load against those servers. IS should know better than to let users perform queries against OLTP systems; that's what data marts are for. Also, although proprietary metadata access may not increase the DBMS server load, it is also not shareable and thus imposes extr a administrative burdens.

The ProReports documentation does a thorough job of explaining all of the configuration options available to DBAs and administrators, and provides good examples for more complex features such as join filtering, which uses IF-THEN-ELSE preprocessing logic to permit conditional join statement construction. What the documentation does not provide is a step-by-step process that DBAs and administrators can follow to determine which groups of end users need which types of configuration options. Instead, the p rocess and details of implementing an enterprisewide installation of ProReports with, say, 10 distinct groups of end users, each with personal local parameter files, preference files shared with the group, and global MDL files, is left entirely to the di scretion of the DBA and LAN administrator. The product would clearly benefit by having the manual conclude with a detailed discussion of a real-world installation example.

Operation

ProReports gets good marks in the desktop data publishing area, providing all of the desktop data publishing capabilities you'd expect to find in a Windows report writer. Features include full Windows font and color support, boxes and lines, embedded gra phics (in .bmp, .tif, .pcx, and .gif formats), and embedded text.

Creating and editing basic report formats in ProReports is easy, particularly when you stay close to the database schema and confine the report to database columns and calculated columns. When an end user is working exclusively with database columns and calculated columns, rather than with the result set returned by a complex SQL statement, a report can be designed, populated, and saved or printed in about 10 minutes.

The basic report-writing tools contain a number of useful features, including the ability to construct a report format and then view a partially populated report (rather than a complete report) to test the report's formatting and look-and-feel when popul ated. The tools also have the ability to filter report data on either the client or server side of the connection. The calculated column creation facility is extremely easy to use, and it virtually assures that end users create correct formulas for calcu lations. The crosstab facility is one of the best I've seen, and provides a set of easy-to-use tools for building complex crosstabbed reports. Users can interactively manipulate the crosstab.

However, there are some annoying limitations to the report creation facilities -- for example, the report layout facility does not follow the standard Windows convention that allows a user to select multiple fields and apply formatting constraints to all the fields at once. In addition, there are no facilities for creating graphics from the report data sets. Created reports can be saved in both ProReports' proprietary format and in a variety of flat-file database formats, including Lotus 1-2-3, Excel, a nd SAS data file format.

ProReports does not hide either SQL or its own proprietary expression language from end users, but end users building simple reports would have to go looking for SQL to find it. The query builder within ProReports does do a good job of representing the d atabase to end users and allowing them to construct queries by dragging and dropping column names. The query builder's calculated column capabilities are also superior. But joins, when not preconfigured, were often constructed improperly (which is a prob lem common to many SQL access tools). The use of ProReports' powerful expression language requires some knowledge of basic programming constructs such as IF-THEN-ELSE and paradigms such as inheritance (something that is probably beyond the capability of end users who are not familiar with, say, the Excel macro language or Visual Basic for Applications).

There seems to be a tension in the ProReports report design interface between providing ease of use, and exposing all of the details of ProReports' capabilities to the end user. For example, although the query governor features are designed to be set via a centralized configuration, the details of the query governor are exposed in the end-user interface. A great deal of ProReports' functionality is beyond the needs of the typical knowledge worker, but essential for the data center SQL programmer who hab itually develops very complex ad hoc reports on demand. The product would benefit substantially from a redesign that separated the client into two versions: a lightweight client for run-of-the-mill, simple reporting that provides excellent OLE integratio n with other Windows applications, and a full-featured client interface for DBAs and database programmers who need ProReports' complete battery of features to construct complex analytic reports.

Performance

The end-to-end, query-to-result-set processing time for any client/server data access environment is mostly a function of network, middleware, and server performance, not of the performance of the client application itself. Even when using the relatively slow ODBC interfaces ("relatively slow" compared to lower-level middleware APIs and alternative proprietary middleware APIs for dynamic SQL), a typical client application accounts for less than 15 percent of the wall-clock response time in a data access environment.

The ProReports client, when run against local (disk-resident) databases such as Paradox and Access using ODBC interfaces, exhibits better-than-average performance. It reads approximately 500 rows per second from an Access 2.0 database, and 600 rows per s econd from a dBASE IV database on a Pentium 100 MHz system with PCI IDE drives and 16MB of RAM.

Documentation

ProReports 1.4 comes with three manuals: an installation and configuration guide, a basic user's guide, and an advanced user's guide. The installation and configuration guide provides good examples of configuration option details, but it needs to include an actual deployment example so that DBAs and LAN administrators can clearly understand how they can use ProReports' configuration features and what performance and administrative trade-offs are associated with particular configuration choices.

Splitting the user's guide into basic and advanced volumes makes sense given the wide range of end-user functionality that the client application provides. The basic user's guide begins with a tutorial on creating reports, and covers what are probably th e essential report-creating tasks: building the basic report structure; adding raw computed columns; creating breaks, summaries, and detail areas; and printing or exporting the report. The manual does occasionally resort to technical jargon, but, on the whole, it provides good coverage of most of the basic areas of report creation, with easy-to-understand examples.

The advanced user's guide discusses a mixed bag of ProReports features, including its crosstab capabilities (something I expect most end users will use), report templates (which are used like style sheets to underpin the format of a particular report), a nd ProReports' proprietary expression language (which is similar to a spreadsheet macro language and can be used to post-process returned data sets in a variety of interesting ways). The advanced volume also covers SQL and ProReports' multidatabase query capabilities, which suggests that the ProReports designers expect most end users to build reports that are not based on complex queries but rather on simple table extracts with calculated columns where necessary.

Considering the problems associated with designing and deploying large-scale decision support systems, ProReports elegantly addresses one of the most pressing operational problems associated with intelligent desktops: scaling the number of desktops runni ng any client data access tool from a handful to several hundred. As the number of client applications increases, the operations and management (O&M) problems associated with keeping the clients properly configured increase. There are also difficulties w ith keeping everyone up to date on changes in the databases being accessed. ProReports provides centralized configuration capabilities to remedy this problem.

ProReports lives up to its own marketing literature. ProReports is a true enterprise-ready client/server data access and reporting tool, credible as a desktop database publisher, and particularly strong from configuration and O&M perspectives. With its n ext release, which should include Windows 95 compliance as well as better desktop object model integration, ProReports is a serious contender for end-user reporting. It is also an obvious choice when large-scale deployment issues are a concern. Any firm considering large-scale deployment of a report writer should take a serious look at ProReports.


Figure 1.


Figure 1. The ProReports client architecture is designed to work against multiple databases on different servers simultaneously.


Figure 2.


Figure 2. The Query Governor settings in the Preference Files control how SQL statements from any client are parsed and analyzed, as well as the maximum size of result sets that the client can retrieve.


Marc Demarest is the director of strategic marketing and head of the Internet Technologies Group for Sequent Computer Systems Inc., located in Beaverton, Oregon. You email Marc at marc@sequent.com or demarest@hevanet.com.
Subscribe to DBMS and Internet Systems -- It's free for qualified readers in the United States
April 1996 Table of Contents | Other Contents | Article Index | Search | Site Index | Home

DBMS and Internet Systems (http://www.dbmsmag.com)
Copyright © 1996 Miller Freeman, Inc. ALL RIGHTS RESERVED
Redistribution without permission is prohibited.
Please send questions or comments to dbms@mfi.com
Updated Monday, November 4, 1996.