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 ServerReporting ServicesReport ServerReporting Services architecture.

Reporting Services Components Summary

Component

Brief Description

Programmatic interfaces

Provides access to SSRS functionality through SOAP and HTTP requests.

Report Processor

Facilitates a set of report generation operations from data retrieval to rendering. Report Processor invokes other components, such as data extensions to assist with report generation.

Data-processing extensions

Retrieves report's data from a data source. Developers can develop additional custom data-processing extensions.

Command-line utilities

Three utilities, designed to assist with scripting of administrative tasks, installed automatically during the Reporting Services install.

Rendering extensions

Transform the report's intermediate format (a combination of report's layout and data) into a device-specific format, such as HTML. Developers can create new rendering extensions.

Report Server database

Stores report definitions, report metadata, report history, cached reports, snapshots, resources, security settings, encrypted data, scheduling and delivery data, and more.

Report Server temporary database

Stores intermediate processing products, cache, and data.

Scheduling and Delivery Processor

Monitors for events (such as timed subscription), collaborates with Report Processor to render a report, and delivery extensions to deliver scheduled reports to a location specified in the subscription.

Delivery extensions

Deliver reports to specific devices, such as email or a file system. Developers can create new delivery extensions.

Report Manager

Provides web-based report access and management capabilities. Default URL that invokes Report Manager is http://<server>/reports.

Report Model Designer

Generates report models for use in Report Builder.

Report Builder

Provides drag-and-drop, easy-to-use report design functionality. Report Builder is an ad hoc end-user report authoring and publishing tool executed on a client computer.

Report Designer

Allows developers to develop complex reports. Report Designer is a comprehensive report authoring and publishing tool, hosted in Business Intelligence Development Studio or Visual Studio.

Security extensions

Enable authentication and authorization of users and groups. Developers can (excluding SQL Server Express edition) create new security extensions.

SQL Server Management Studio

Provides administrators with Windows form-based, integrated environment to manage SQL Server components including SSRS. From the report management perspective, Management Studio has similar functionality to Report Manager, but provides additional capabilities, such as consolidated web-farm management.

Reporting Services Configuration Tool

Provide administrators with functionality to start and stop Report Server Windows service and reconfigure report servers. This is a Windows forms application.

WMI provider

Provides a set of WMI interfaces to manage settings of a Report Server and assists with SSRS instance discovery on a network.

Performance monitoring objects

Provide a view of SSRS Windows and web service performance.



The Reporting Services Architecture(briefly)

For a relatively new product, Reporting Services has a quite complex architecture. The full Reporting Services architecture includes development tools, administration tools, and report viewers. There are a number of ways to get to Reporting Services programmatically, including SOAP and WMI interfaces.