Friday, 24 May 2013

SSRS Architecture?

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
ComponentBrief Description
Programmatic interfacesProvides access to SSRS functionality through SOAP and HTTP requests.
Report ProcessorFacilitates 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 extensionsRetrieves report's data from a data source. Developers can develop additional custom data-processing extensions.
Command-line utilitiesThree utilities, designed to assist with scripting of administrative tasks, installed automatically during the Reporting Services install.
Rendering extensionsTransform 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 databaseStores report definitions, report metadata, report history, cached reports, snapshots, resources, security settings, encrypted data, scheduling and delivery data, and more.
Report Server temporary databaseStores intermediate processing products, cache, and data.
Scheduling and Delivery ProcessorMonitors 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 extensionsDeliver reports to specific devices, such as email or a file system. Developers can create new delivery extensions.
Report ManagerProvides web-based report access and management capabilities. Default URL that invokes Report Manager is http://<server>/reports.
Report Model DesignerGenerates report models for use in Report Builder.
Report BuilderProvides 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 DesignerAllows 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 extensionsEnable authentication and authorization of users and groups. Developers can (excluding SQL Server Express edition) create new security extensions.
SQL Server Management StudioProvides 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 ToolProvide administrators with functionality to start and stop Report Server Windows service and reconfigure report servers. This is a Windows forms application.
WMI providerProvides a set of WMI interfaces to manage settings of a Report Server and assists with SSRS instance discovery on a network.
Performance monitoring objectsProvide 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.