SSRS Architecture

Microsoft SQL Server Reporting Services is a server-based report-generating software system that allows administrators to share reports with users or integrate the reports into internal or web applications based on access permissions and user groups. It is used as a solution to build custom reports from a variety of data sources, such as Flat files, SQL databases, and other external sources.

We will talk about SSRS architecture in this article. On a broad scale, it can be broken down into three parts.

  • Report Server
  • Report Server and Report Server Temporary Databases
  • Report Builder/Report Designer/SQL Server Data Tools

The fundamental engine or primary service of SSRS is the Report Server. This is the repository/host for all reports developed using SQL Server Data Tools, Report Designer, or Report Builder.

Installing and configuring SQL Server reporting services is straightforward. The installation wizard is simple to use and has a very small number of steps. To build its own databases, in which its metadata would be stored, it needs to connect to an existing database engine.

The report can be exported in a number of file formats once it has been created. A handful of the file types in the list are shown below.

The report can be shared with users or groups or integrated into internal or external web applications once the RDL file has been added to the reporting services.

The report can be scheduled to be generated, processed, delivered, or distributed in the required file format on a particular day, week, or period.

A user can switch between ascending and descending order for the rows in a table or for the rows and columns in a matrix by using interactive sorting.

The SSRS visibility settings enabled interactive reporting. When the report is initially run, the report developer can specify which data is displayed and which data is hidden. The toggle options then enable the end user to go down to more detail inside the same report by clicking the +/- sign.

Access management is one of SSRS’s functions. Certain users or roles can be given access to reports in order to read, change, or take ownership of them. Access may be granted on a folder, parent, or root level or on a report-to-report basis.

The architecture of SQL Server Reporting Services is depicted in the diagram below. The arrow lines in this picture depict the data flow between elements inside and outside of SQL Server Reporting Services.

ssrs_architecture

Report Designer / Report Builder

This component has drag-and-drop capability and simple report design features. Ad-hoc end-user report publishing software called Report Builder runs on a client computer.

Simple and complicated reports can be created using the Report Designer tool. Report Designer is a publishing tool that can be found in either Visual Studio or Business Intelligence Development Studio (BIDS).

Report Manager:
Easy access to web-based reporting is provided via the web service SSRS. The Report Manager’s default URL is http://server>/reports.

Report Server Components:
It is further separated into two categories, namely –

  • Processors
  • Extensions

The report server in SQL Server Reporting Services uses extensions to modularize the types of input or output it accepts for authentication, data processing, report rendering, and report delivery.

Security extensions
are used to authenticate and authorize users and groups to a report server. The default security extension is based on Windows Authentication.

Data Processing extensions are used to query a data source and return a flattened row set. Reporting Services uses different extensions to interact with different types of data sources.

Rendering extensions transform data and layout information from the Report Processor into a device-specific format. Reporting Services includes seven rendering extensions: HTML, Excel, CSV, XML, Image, PDF, and Microsoft Word.

Report processing extensions can be added to provide custom report processing for report items that are not included with Reporting Services. By default, a report server can process tables, charts, matrices, lists, text boxes, images, and all other report items.

The background processing application uses delivery extensions to deliver reports to various locations. Reporting Services includes an e-mail delivery extension and a file share delivery extension. The e-mail delivery extension sends an e-mail message through Simple Mail Transport Protocol (SMTP) that includes either the report itself or a URL link to the report. Short notices without the URL link or report can also be sent to pagers, phones, or other devices. The file share delivery extension saves reports to a shared folder on your network.

Report Server Databases:
These are the databases that keep track of resources, report definitions, security preferences, delivery information, and other things.

Data sources:
Data from relational and multidimensional data sources are retrieved via reporting services.

Hope you find this article helpful.

Leave a Reply