14.6. The Reporting Components

The reporting system typically accesses the database directly through views, stored procedures, and dynamic queries. Under a custom reporting solution, it would be a good idea to use the components in the other layers in the architecture. Most implementations these days use an off-the-shelf reporting product of some description because of the advances in reporting applications and the sophisticated features they offer. These reporting applications introduce an additional layer of complexity and learning curve, but the costs of using them typically outweigh the costs of developing a custom solution.

I also mentioned previously that reports are sometimes executed against a replicated version of the data store. The reporting components (stored procedures, views, and queries) can also be used for incident investigation, which in most cases would be executed against the live database in the event of a live priority issue. I'll discuss these in more detail in the next chapter.

The requirements specified that the solution should use the following business reports:

  • New Accounts

  • Activated Accounts

  • Average Activation Time

  • Aged Accounts

  • Closed Accounts

The reporting components in this instance are nothing more than a set of stored procedures with queries that will be executed against the database. The stored procedures will provide the basic selection of information for the reports to be produced.

Get Design – Build – Run: Applied Practices and Principles for Production-Ready Software Development now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.