Reports are handled in AOA in a manner very similar to Dialogs, where controls are placed visually on a page. However, they are even a little less WYSIWYG than a Dialog Page as they are very much driven by the data content of a major LOD defined relative to the Report. For those who are familiar with the W3C standards, XSLT and XSL FO, a Report definition in AOA looks very much like a logical version of an XSLT definition of XSL FO against an XML file, even though the architecture of the Report definition preceded XSL FO by a considerable time period.
Not surprisingly, then, an AOA Report definition generates an XML/XSLT combination to format a report as a PDF when running under the web. In fact, what is very important to understand is that the same Report definition that produces a report through the generation of XML and XSLT in a web execution-time environment also produces a report in MS Windows using an internal report driver utilizing MS Windows functionality. Again, it is an implementation of the general AOA concept that if an application is defined at the logical, design level, then that application can be generated into a variety of physical environments without change.
The Report defines the mapping of data in the prime object of the report (as well as other secondary objects) using the triad of View Name, Entity Name and Attribute Name, the same as does a Dialog. This differs some from the hierarchical XML mapping used in XSLT. This is to simply processing and gain more reusability, as explained earlier in this presentation. (Part of a painted report is shown to the right, along with a subwindow displaying the mapping for a control. Note its similarity to mapping for a window or web page.)
One important point to note, which is a difference between a Report definition and its relative the Dialog, is that a Report has no Operations defined relative to it. It only formats the data that already exists in an object. This is because any work flow processing involving a Report is defined in the Dialog Operation that triggers it and any data formatting necessary to create data to be formatted is defined in the primary object of the Report.