Last modified on 21 January 2021, at 15:08

SSRS Reporting

Revision as of 15:08, 21 January 2021 by MKR (Talk | contribs)

SSRS, short for SQL Server Reporting Services, allow the creation of completely customizable data reports using SQL data. Templates are designed using the Report Designer, which will then be filled up dynamically by the data from the SQL Server. For Ubik, this technology allows the creation of customer-specific reports from data of the Ubik system.

System Architecture

To get SSRS running, a Windows server is required, and access to the data source (SQL Server) is necessary. The SSRS service needs to be accessible from the UBIK Web Server and/or UBIK Enterprise Service, depending on the customizing. The same server hosting the UBIK Web Service and/or the Ubik Enterprise Server (if hosted on an extra server) can be used for hosting SSRS as well.

Report Templates

Template stuff, will be done with images

Report Creation from UBIK Customizing

There's a Report Generation plugin available for Ubik: UBIK.Interface.Module.SSRS. Two ways of generating a report are exposed, one using the Report class and one using the ServerReportRender class.

Report Class

The Report class creates a report via the ancient SSRS ReportExecution2005 SOAP endpoint. While this method works fine for most use cases, for very large reports (> ~1.5 GB in our experience), the report service will stop with an error. If such a case is encountered, the other service documented below should be used instead.

ServerReportRenderer Class

Web viewer controls
Web viewer controls

The ServerReportRenderer uses a different and more modern approach to render the data: It calls the URL of the web viewer and tells it what to do via the parameters, just like the user would by clicking buttons in the toolbar. This methodology makes it really easy to implement, as the rendering results are the same if executed manually in the web viewer.