Monday, September 17, 2012

Silverlight Reporting Solutions: A Quick Comparison

Our Requirement: old Asp.Net solution + Microsoft Reporting to be re-written to Silverlight 5.

Microsoft Reporting is not supported in Silverlight. Hence, a need for displaying the old reports to Silverlight or convert the old reports to Silverlight-compatible reports.

1. Telerik Reporting 
Telerik Reporting provide Silverlight report viewer but their own reporting engine/designer/tool must be used.
Telerik’s report definition can be deserialized from XML. It can cater dynamically created reports.
However, if the client's old reports are created using Microsoft Reporting, these old reports must be converted (migrated) to either Telerik report format.
The only formats in which we can convert Telerik reporting from are crystal, active and xtra reports.

2. DevExpress XtraReports
DevExpress XtraReports is the counterpart of Telerik Reports. I am not sure though if their report is built on XML. Their documentation is not quite good. Same as the Telerik Reports, the old reports must be converted to DevExpress format

One good thing about PerpetuumSoft is that they have Silverlight Viewer for Reporting Services, which displays the reports generated by SSRS directly within Silverlight. However, it’s features are very limited - no serialization support, cannot load dynamic reports, cannot load rdlc files. SSRS is different from Microsoft Reporting.

This provides the foundation in which one can build his own printing and reporting systems in his applications.
This reporting is based on using Silverlight controls to layout the reports. Because of this, the output will be rendered as bitmap, resulting in low print quality and large files being sent to the printer. Being rendered in bitmap, expect very poor performance. The rendering will be too slow.
But since this is custom, one needs to code his own mechanism for pagination, automatic layouting to fit content, manually handle the printing etc.
This is applicable only for simple reports but for complex ones, it can be very difficult and time-consuming!
It has no support for exporting the report to any format. 

My picks:
1. If it's okay to open a new window from Silverlight, then show an Asp.Net page. Then there's no need for conversion. The disadvantage is, it will leave the Silverlight UI and may give an illusion that the user is transferred to another system.

2. Telerik Reporting - well-documented, with serialization support, can cater dynamics, good technical support. The disadvantage - needs conversion so it's time consuming. Write a conversion tool? Microsoft Reporting is totally different to Telerik Reports that's why 'til now, Telerik does not support conversion. Good luck.

How about you? What reporting solution are you using in your Silverlight application?

No comments:

Post a Comment