SQL server reporting service is a complete and extensible reporting platform that contains an integrated set of programmatic interfaces, processing components and tools. The basis of the multilayered architecture of SSRS is processing components which interacts with each other for retrieving data, process layout, render and deliver a report to the final destination. SSRS supports the below components:
Processors: To assure the integrity of SSRS and supply an infrastructure which allows developers to add new functionalities (extensions). Processors themselves are not extendable in this release of SSRS.
Extensions: Assemblies which are invoked by the processors execute a particular processing functionality, like data retrieval. Developers can write custom extensions also.
The Reporting Services Architecture –a brief
For a comparatively new product, Reporting Services has a very composite architecture. The complete Reporting Services architecture consists of developmental tools, administration tools, and report reviewers. The number of ways is there to get Reporting Services programmatically, including SOAP and WMI interfaces.
An overview of Report Server Modes
The processing engines (processors) are the center of the report server. These processors support the integration of the reporting system and cannot be amended or extended. Extensions too are processors, but they execute very particular functions. Reporting services consists of one or more extensions by default for every type of supported extension. Customized extensions can be added to a report server. This enables to extend a report server to support features which are not supported out of the box; custom functionality examples may include support for single sign-in technologies, report output in application formats which are not already managed by the default rendering extensions, and report delivery to an application or a printer.
A single report server illustration is defined by a comprehensive compilation of processors and extensions which offer end-end processing, from managing the initial request to the presentation of a finished report, with the help of its subcomponents, the report server processes report requests and prepares reports that are available for on-demand access or planned distribution.
Functionally, a report server allows report authoring practice, report providing, and experiences of delivering a report for a different data sources and extensible authentication and schemes of authorization. In additional to this a report server includes a report server databases which store a published reports, shared sources of data , shared datasets, report parts, shared subscriptions and schedules, report defining source files, model definitions, collective reports, snapshots, parameters and the other resources.
A report server also allows experiences of administration for the configuration of report server to process the requests of reports, handle the history of snapshots and maintain permissions for reports, data sources, datasets, and subscriptions.
Reporting services report server maintains two forms of deployment for report server such as:
- Native mode: consisting of the native mode with SharePoint’s web parts. Here a report server runs as an application server which offers all the processing and managing abilities, especially with reporting services components. A configuration of native mode report server can be done through a reporting services configuration manager and SQL Server Management Studio.
- SharePoint integration mode: Here a report server is deployed as a part of a SharePoint server farm. Install and configure SharePoint form using commands of PowerShell or SharePoint content management pages.
In SQL Server 2016, a report server cannot be switched from one mode to another mode. If the type of report server which is used by the environment is to be changed, the desired mode of report server has to be installed and then copy or move the report items or report server database from the earlier versioned report server to the new report server. This process is referred as ‘migration’. The steps required for migration depends upon the mode of migration to and the version it is migrating from.
In this mode, a report server is a stand-alone application server which offers all viewing, managing, processing and delivery of reports models and reports. This mode is a default mode for report server examples. A native mode report server can be installed which is configured while installing setting up or it can be configured for native mode operations once a setup is complete.
The below diagram illustrates the three-tier architecture of a reporting Services Native mode installation. The report server database and data sources in the data tier are shown.
The report server components in the middle tier and the client applications and built-in or custom tools in the presentation tier. The requests flow and the data between the server components and which components send and retrieve the content from a data store is shown.
Report server is implemented as a Microsoft Windows service, called the “Report Server Service”, which hosts a web service, a background processing, and the other operations. The service console application lists the service as SQL Server Reporting Services (MSSQLSERVER).
The third party developers create additional extensions to restore or extend the processing ability of the report server. To know more about the programmatic interfaces accessible to application developers refer the above diagram.
Native mode with web parts of SharePoint
Reporting services offers two web parts which can be installed at an instance and registered on a Windows SharePoint services 2.0 or later on, or SharePoint portal server 2003 or afterwards. From a SharePoint site, Web Parts can be used to discover and view reports which are stored and processed on a report server which runs in a native mode. These were introduced in the former releases of Reporting Services.
In this a report server should run within a SharePoint server farm. The report servers processing, rendering and management features are represented by a SharePoint application server operating the Reporting Services SharePoint shared service and one or more Reporting Services service applications. A SharePoint site offers the front-end access to report server operations and the content.
SharePoint mode needs
- SharePoint Foundation 2010 or SharePoint Server 2010.
- A suitable version of the Reporting Services Add-on for SharePoint products 2010.
- A SharePoint application server with its Reporting Services shared service deployed and at least one reporting services service application.
Report processing and schedule and delivery process
The report server contains two processing machines which perform the prior and intermediary report processing, and scheduled and delivery functions. The report processor recovers the report definition or model, combines the layout information with the data from the data processing extension, and delivers it in the requested formats. The scheduling and deliverance process processes reports generated from a schedule and delivers them to their final destinations.
Report Server Database
A report server is the stateless server which stores all the properties, objects and the metadata in a SQL server database. The stored data consists of published reports, collective reports, report models and the folder hierarchy which addresses all the items managed by a report server. A report server database provides internal storage for a single reporting services deployment for multiple report servers which are a part of a scale-out installation. If a report server is configured to run within the larger installation of a SharePoint product or technology, the report server utilizes the SharePoint databases additional to the report server database. For more information on data stores used for reporting services, installations refer the report server Database (SSRS Native Mode).
Authentication, Restoring, Data, and Delivery Functionalities
The report server supports: authentication extensions, data processing extensions, report processing extensions, rendering extensions, and delivering extensions. A report server needs minimum one authentication extension, data processing extension and rendering extension. Delivering and report processing extensions are discretionary, but mandatory if want to support the report distribution or custom controls.
Reporting services offers the extensions by default so that all the server features can be used without having to build up the custom components.
For More Information on SSRS Register Now