SQL Server Reporting Services (SSRS) is a comprehensive and extensible reporting platform, which includes an integrated set of processing components, programmatic interfaces, and tools. This chapter discusses the SQL Server Reporting Services (SSRS) architecture in detail.

SSRS is a comprehensive and extensible reporting platform, which includes an integrated set of processing components, programmatic interfaces, and tools. Processing components are the basis for the multilayered architecture of SSRS and interact with each other to retrieve data, process layout, render, and deliver a report to a target destination. SSRS supports two categories of components:

Processors— Ensure integrity of SSRS and supply an infrastructure that enables developers to add a new functionality (extensions). Processors itself are not extendable in this release of SSRS.

Extensions— Assemblies that are invoked by processors and perform specific processing functionality, such as data retrieval. Developers can write custom extensions.

Reporting Services architecture diagram is depicted in Figure 3.1; components are described in more details later in this chapter. Arrows on the diagram show a data flow between components "within" and "outside" of SSRS (external tools, applications, services, and utilities).

Report Server Web and Windows Service

The Report Server is implemented as a symbiosis between a web service and Windows service. Services work together to host, process, and deliver reports.

Note

In SSRS 2005, Report Server supports multiple instances on a single computer.

When SSRS Windows service starts, it initially loads basic supporting assemblies (such as a SQL data provider and interface library), but it does not load extensions. In this release, SSRS Windows service handles encryption and decryption and serves as a host for the Scheduling and Delivery Processor. The Scheduling and Delivery Processor uses a PollingInterval configuration setting to monitor SSRS catalog's Event table for "events" (such as timed subscription). Events instruct SSRS to "wake up" and start processing.