Wednesday, July 9, 2008

How are reports processed on a Report Server in SSRS 2008?

In SSRS 2008 reports are processed on the Report Server instance (not IIS) configured during installation and uses the two special relational databases as the backend, ReportServer and ReportServerTempdb.

Reports are procesed when they are requested by the user. These requests can take the following forms:

On-demand ->
User accessing report triggers report processor on the report server or, user working on a model-based report triggers report processor.

Demand for a cached report->
User accessing a cached copy triggers this type of processing if cached copy has expired.

From schedulig and delivery processor->
Schedules and delivery events trigger this type of processing.

In all these cases the published report definition file is retrieved. This file defines both data and formatiing information. The data from the data processing extension is merged with the formatting information to produce the report in an intermediate format. The rendering extension takes this report in the intermediate format, processes it and produces the report rendered in a device specific format. During this process it may also process information that were not processed earlier like expressions in the report.

In the case of report being requested due to user working with a model, the steps are similar except that the model is interrogated to provide report and model data.

In essence core processors, the several specialized extensions, and the backend work together to produce a finished report.

No comments: