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
Challenges that make reporting hard
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:
The development team, ...