DISCLAIMER: I’m simply sharing my experiences here. I am not laying blame on any of the tool developers or Azure team. Frankly, I’m not sure who is should be held accountable in these cases.
I’ve spend the last day working in Azure, and trying to implement a 3rd party reporting tool into my projects. For my first choice, I decided to use Telerik Reporting. They’re a big part of the developer community, and I am willing to give them my client’s money because they do have good products.
Implementing a report should be pretty straightforward, and in most cases it is. Walk through the designer, connect to a datasource, layout the report, and you’re good to go! Viewing the report should be equally as straightforward. Create a form (in this case a WebForm), drop a ReportViewer control, and in the code behind do some voodoo in order to wire the report up to the report viewer.
But really, our use cases call for only returning the the reports in PDF or Excel formats. So the above, while doesn’t work, isn’t necessary. Telerik has a component for processing a report, and dumping it directly to PDF or Excel (in addition to several other formats). That code too five minutes to wire up.
I go into the Azure Development Fabric, and try to download my report. The report generator ticks away for a few seconds and then BLAM, Out Of Memory Exception.
Excuse me! The one problem I don’t have is lack of memory, so I scour to the forums to find out what the deal is. Turns out that Telerik relies on GDI+ to renders reports in various formats. Guess what Azure has poor support for? You bet, GDI+.
Thanks ok, Azure is only 2 years old. You can’t expect the products to have a quick turnaround. I’ll have to go look at other solutions. How about DevExpress XtraReports? A quick Google search for “XtraReports Azure”, and you’ll find out that XtraReports falls into the same issue! Reliance on GDI+ makes it unusable in an Azure environment.
How about GrapeCity’s ActiveReports? Supported, but with limitations.
- Rtf, Excel and Text filters are not supported on Windows Azure.
- When using the Pdf export filter, digital signatures are not supported.
- The Pdf export filter cannot access System fonts, so you must create a Custom Font Factory to embed any necessary fonts for non-ASCII characters.
Holy snap! So I can’t export to Excel (which is a requirement), but it looks as if I want to create a report I have to embed the fonts in my reports. Now I don’t know if that’s easy or hard. I need to test the product to see, but the lack of Excel exporting is knocking the product down.
Now, I have no problem that these providers don’t currently work in Azure. If you have a code based created around a single technology, it’s not quick or cheap to turn around and make it use another. However, I wasn’t able to find anywhere on the product sites saying that they do not have support for Azure. Instead, I had to download the products and waste several hours trying to make the product work in a way that was physically not possible. Advertising unsupported features is as important as advertising support features.
And what’s up Azure team with lack of support for GDI+? Isn’t the operating system supposed to be on par with Windows Server 2008? I’m sure I could run my site in IIS on a WS2008 machine without issue.
So here’s my call: If you’re working in Azure, and using 3rd party tools for reporting, please tell me what you’re using or if there is something I’m completely glossing over. If I find something that works and meets my simple requirements, then I’ll give them a shout out on my blog.