1. A non-transitory computer readable storage medium storing instructions for execution on a computer, comprising instructions to: receive a collection of composite objects; create an aggregate dataset that includes a portion of contents of object instances in the collection of composite objects, wherein the instructions to create an aggregate dataset comprise instructions to generate the portion of contents of object instances by reflection, wherein reflection comprises obtaining type information of object instances in the collection of composite objects; pass the aggregate dataset to a report server using an application program interface, wherein the report server has a primary data source and the aggregate dataset operates as a secondary data source; receive a report schema specifying how data for a report is to be processed and formatted; bypass the primary data source and utilize the aggregate dataset as a report data source to retrieve data; process the data into a report in accordance with the report schema; and format the data in the report in accordance with the report schema; wherein: a template is constructed for the aggregate dataset; the template is duplicated for object instances in the collection of composite objects; and each duplicate template is populated with a value of a simple data type found in an object instance in the collection of composite objects.