SQL Server Reporting Services (SSRS)
This is the second article from the series of articles on SSRS and Silverlight Viewer for Reporting Services. This article describes the peculiarities of implementation of the custom extension in SSRS.
SQL Server Reporting Services provides a full range of ready-to-use tools and services to help you create, deploy, and manage reports for your organization, as well as programming features that enable you to extend and customize your reporting functionality.
I think that if you are interested in implementation of Silverlight into SSRS then you have general idea of SSRS functionality. That’s why I won’t go into detail on it in this article. Instead, I will touch upon the aspects which are used in our system.
Let’s examine the SSRS architecture:
Figure 4: Reporting Services Architecture
SSRS provides vast abilities to extend the standard functionality.
Besides the fact that you can implement custom elements for using them in the report building process (like Aspose does), you can implement custom extensions which can be used separately or together with standard extensions. SSRS provides the following mechanisms for extension:
- Data Processing Extensions
- Delivery Extensions
- Rendering Extensions
- Security Extensions
You can view the general features of these modules here:
http://msdn.microsoft.com/en-us/library/bb522673.aspx
Rendering Extension is more interesting for me; that’s why I go into detail on this topic.
Rendering Extension
According to MSDN (http://msdn.microsoft.com/en-us/library/bb522673.aspx), rendering extensions transform data and layout information from the Report Processor into a device-specific format.
Simply said, Rendering Extension allows getting the report in the format which is more convenient for displaying in your application.
The standard SSRS delivery package includes modules for conversion in to the majority of basic formats (HTML, Excel, CSV, XML, Image, PDF, and Microsoft Word). In most cases this is more than enough.
However, there are situations when standard formats might be not enough. In this case, it is possible to use third-party modules, which I’m going to describe below.
So, what can you do if you need to display reports in Silverlight application?
There are several solutions for this issue:
Straightforward method is to provide the users with the ability to get reports from SSRS in the HTML, PDF and etc. formats. Users open these reports in Silverlight application in a separate window or browser tab. The point is that Silverlight can’t display HTML content during the work in the mode different from “Out-of-Browser”.
In this case, the user, obviously, has to work with several windows simultaneously. Admit that this is not very convenient.
No, we will not follow this way. There is more complicated, but more user-friendly way to display reports in Silverlight applications. This method I will describe in the next article. Be in touch!