Reporting Services Architecture in SQL Server 2005
- Report Server Web and Windows Service
- Programmatic Interfaces
- Report Processor
- Command-Line Utilities
- Reporting Services Extensions
- Report Server Databases
- Scheduling and Delivery Processor
- Report Builder NEW in 2005
- Report Model Designer NEW in 2005
- Report Designer
- Report Manager
- SQL Server Management Studio NEW in 2005
- Reporting Services Configuration Tool NEW in 2005
- RSPrintClient Control NEW in 2005
- Performance Monitoring Objects
- Summary
- WMI Provider
Report Server Web and Windows Service
Programmatic Interfaces
Report Processor
Command-Line Utilities
Reporting Services Extensions
Report Server Databases
Scheduling and Delivery Processor
Report Builder NEW in 2005
Report ModelDesigner NEW in 2005
Report Designer
Report Manager
SQL Server Management Studio NEW in 2005
Reporting Services Configuration Tool NEW in 2005
RSPrintClient Control NEW in 2005
WMI Provider
Performance Monitoring Objects
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).
Figure 3.1 Report ServerReporting ServicesReport ServerReporting Services architecture.
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.
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.
Similar to any .NET web service, SSRS web service is invoked ("wakened up") via Internet Information Server (IIS) and executes in the ASP.NET worker process (aspnet_wp.exe). "Wake up" events are facilitated by programmatic interfaces.