Chapter 21. Implementing Reports

Coupling is the enemy.

Reporting is a necessity within every organization and within virtually every business application. Your project stakeholders will define some requirements that are best implemented as operational functionality, such as the definition and maintenance of customer information, and other requirements that are best implemented as reports. This chapter explores critical report-implementation issues. For example, should you build reports within your application or separately within another specialized reporting facility? Should you implement using object technology or with reporting tools?

For our purposes, a report is the read-only output of information, potentially including both "raw" base data and calculated/summarized values. Reports can be rendered in a variety of manners — printed, displayed on a screen, or saved as an electronic file. Reports can be created in batch or in real time. A customer invoice is a report and so is a quarterly sales summary by division.

This chapter explores the following topics:

  • The role of the agile DBA

  • Database deployment architecture

  • Reporting within your application

  • Reporting outside your application

  • Database design strategies

  • Implementation strategies

  • Challenges that make reporting hard

The Role of the Agile DBA

Agile DBAs take an active role in the report implementation. Figure 21.1 shows the primary tasks that agile DBAs will be involved with, including:

Develop database architecture.

The development team, ...

Get Agile Database Techniques: Effective Strategies for the Agile Software Developer 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.