Pointer Corporation

The Information Technology Architects

Project Management and Database Solutions ...
From the Desktop to the World

Reporting Strategies for Oracle Databases

Using Three Alternative Approaches


In a multi-tier architecture, you have the user interface in the front tier, business rules and application server in the middle, and finally the database engine and its associated services in the back end.  To produce a report in such an environment, you basically have three different alternatives:

  1. Using application reporting tools that are part of your front-end technology;
  2. Using database reporting tools that come with Oracle;
  3. Using independent (3rd party) tools.

Let's explore these alternatives in more detail.

  1. Your front-end reporting tools, as the name suggests, simply come with whatever you have running in the user interface.  This could be Access, Visual Foxpro, Visual Basic, or any other technology.  Front-end tools typically give you the most powerful and diverse reporting alternatives.  Here are some examples:
    • Access reports are fully object-oriented and programmable.  They also offer extremely powerful features such as "subreports" which basically allow you to embed one report within another.
    • Visual Foxpro reports, although not programmable like Access, have the power and speed of Visual Foxpro's database engine behind them.  In a wide area network where different sites could be thousands of miles apart, the processing speed virtually becomes the name of the game.  Also, in situation where you're not reporting off of a perfect data warehouse and there's on-the-fly pre-processing to be done before a report, Visual Foxpro is a perfect choice.
    • Visual Basic reports, due to their widespread popularity, offer a diverse array of 3rd-party add-ons.  As such, if you have all sorts of unique little things in your report requirements, chances are that a Visual Basic add-on will be most helpful to you.

    The draw-back of all of these tools, however, is that you are utilizing a rich-client methodology and as such, you are adding to the load of the client machine with each new report.  Therefore, depending on the number of reports you're planning to develop, you may want to keep the reports away from your data entry / OLTP (on-line transaction processing) system and instead put all of them in their own application.

  2. Oracle Application Server now comes with two reporting tools of its own: DISCOVERER (for ad-hoc reports and queries) and REPORTS SERVICES (for Web-based reporting and distribution).  With these tools, you have fewer capabilities (although more advanced in some cases).  For example, the REPORTS SERVICES allow you to "burst" the reports that have been subdivided by a GROUPING selection and then send each piece to a different destination electronically.  At the same time, using native Oracle features allows you to maintain a thin client architecture and you don't have to overload your data entry / OLTP system.
  3. The most popular of the 3rd party reporting tools is Crystal Reports, so let's talk about it as a representative of this category.  Here's a quote from a computer magazine published in April 2002: "Crystal Reports has likely been the cause of more developers losing their hair prematurely than any other software product in the history of mankind."  Well, I happen to disagree with this quote.  Especially with last week's release of the new Crystal Reports version 9, a wealth of new features has been introduced:
    • Report Application Server (RAS) for the Web
    • Unlimited SQL control in data connectivity
    • Component reuse
    • Java, .NET and COM support

Nevertheless, you still have to justify it in light of other alternatives mentioned above.  You also have to decide whether to integrate Crystal Reports into your existing applications or use it as a stand-alone tool.

In each of these alternatives, there are other considerations that are beyond the scope of this article.  Purchasing and licensing costs, the learning curve of your IT staff, and interrelationships of multiple heterogeneous systems are among the primary factors that you need to consider.

Ben Aminnia, president of Pointer Corporation is a database architect with over 20 years of experience.  He's also the president of Los Angeles SQL Server Professionals Group www.sql.la and a board member of Los Angeles .NET Developers Group www.ladotnet.org.     

 

Copyright © 2008 Pointer Corporation