Object oriented models are sometimes hard to handle for a report writer. A
report writer accesses the schema of the objects and retrieves the database
structure. Knowledge of this structure is used to guide the reporting design
process. However this structure may not be apparent in the schema, because the
schema is too coarse. Therefore, the schema must be refined.
The reasons are:
- The stored model is a physical model. The logical model is implicit in the
methods of the objects where it is not accessible to the reporting tool.
- The information for a report is often distributed over many objects. As a
result, this information may be hard to locate in the schema.
- Often-on non-standard access methods are used. These are not available to
the report writer. E.g., implementors may use their own homegrown lookup
methods.
- Inheritance sometimes hides important information. If a collection or link
is only defined for the base class, then the report writer cannot deduct the
actual type of the objects. This is worst in Java collections which are all
only defined as java.lang.Object. This means that nothing is known at
all about the actual objects. Therefore, Java collections must always be
refined.