Do you think that you know how to deliver reports over the web? Think again!

Eugene Akinshin

So, I will start posting our existing articles, so that the blog contains complete list of Perpetuum articles at a single place for your convenience. Enjoy the article about web reporting right now.

Author: Eugene Akinshin, Ph.D., Chief Technical Evangelist for Perpetuum Software LLC

It’s amazing but although reports are the essential part of any business application, nowadays there is no simple, convenient, safe and universal way of distributing reports over the web.

I know that many developers don’t agree with this statement. Ok, let’s analyze the difference between client and web reporting solutions.

Today’s desktop applications provide representation of reports (as well as of any other print documents) on display that exactly corresponds to print output according to WYSIWYG concept. At the same time applications provide high reports interactivity starting from simple functions such as zoom, search, hyperlinks, bookmarks, and switch of preview mode to sophisticated scenarios specific for a particular application.

The only way to provide all these features in a web browser is to implement such software components as ActiveX or Java Applet into the page. The use of such solutions is inappropriate in most cases despite they are extremely functional, as they don’t address cross-platform requirements and don’t provide the necessary level of security, i.e. they are not true web applications.

All other approaches include conversion of the initial print report to some other format; it leads to the deformation of initial document.

Two solutions are wide spread and very often are used in tandem. They are representation of reports as HTML documents and conversion to one of the popular formats used to view print documents. Let’s analyze advantages and disadvantages of both solutions.

When you view complex reports via HTML, significant deformation of the previewed document is inevitable. Moreover, the format itself is not designed to represent print documents: one and the same document is displayed differently in different browsers. If the font used in the report is not installed on the user computer or when the installed font differs from the one on the server, then you should just forget about visual equivalence of the documents. Unavailability of support for vector graphic makes it necessary to convert any design element to bitmap image (except for the vertical and horizontal lines emulated by the rectangle borders). It results in large volumes of information passed through the net and low print quality.

Though report viewers provide virtually all standard features, they are far from being perfect. For example, when you zoom in\out document, additional request to the server is executed and the document is rendered from scratch for a new size. It causes significant delay, overloads server and very often the zoomed document looks different.

And what if the application should perform some specific actions when the report is viewed? No problem – just use JavaScript. In this case the developer is required:

  • “Just” to know one more programming language;
  • “Just” to learn object model of the client viewer, that is conceptually different form the server model;
  • “Just” to write code in two languages (one to write server application and JavaScript) with absolutely different syntax and development principles;
  • “Just” to debug the code written in dynamically typed language; and it takes much more time then to debug the statically typed language;
  • “Just” to test the application under all existing browsers and find out why one and the same code snippet works differently in different systems.

Summarizing all aforesaid, conversion of reports to one of print document formats is a more preferable solution. One of the most popular print formats is PDF that is a de facto standard. Some other formats are also used: they are a promising XPS format, RTF and Microsoft Word. Evident advantage of PDF is that it is possible to get almost complete visual equivalence with the original document. “Almost”, as there slight differences in algorithms of positioning and displaying characters. PDF viewers are available virtually for all platforms and provide all necessary functions.

Significant disadvantage is that PDF documents are opened in a separate viewer and are out of the application. So, application developer is not able to control document preview and doesn’t have the ability to perform additional actions.

The reviewed solutions are satisfactory, but they don’t address today’s requirements to Rich Internet Applications (RIA).

Fortunately, life changes and evolves and software vendors offer new technologies to design web applications. The most promising platform for RIAs is Silverlight 2.0 by Microsoft.

For more information on Silverlight, please, visit official Silverlight website and view article.

Silverlight report viewer allows:

  • The ability to precisely display reports on the client side using built-in fonts, vector graphics, gradient fills, semi transparency, formatted text, etc;
  • Full-featured implementation of standard preview functions: smooth zooming and scrolling, report preview mode;
  • Page load and caching of the uploaded pages on the client side;
  • Easy interaction with other controls included in the application;
  • Ability to execute code written on any .Net compatible language on the client side using all advantages of object oriented development and strong typing. As compared with JavaScript code, .Net code is faster, safer and can be written in the same language the server side is written;
  • Ability to delicately setup viewer appearance by using styles and templates. Such component will seamlessly fit into design of any application.

Reporting for Silverlight Perpetuum Software offers the first report generator supporting Silverlight.

Report Sharp-Shooter is a powerful and flexible reporting component designed for Windows Forms, Web Forms and Silverlight. It is possible to design any type of reports: simple, multicolumn, group, sub-report based, side-by-side, hyperlink, cross-tab, nested and others. Generated documents can be previewed, printed and exported to most popular formats: PDF, Excel, HTML, MS Word, RTF and others. Report Sharp-Shooter can use any .Net data sources for reports; multiple data sources in a single report are supported. End user designer is available: you can offer to your customers the freedom in reports design and modification. Report data can be visualized as various charts and gauges, so your customers will have the most comprehensive reports possible. Availability of source code provides total control over the report design process. And all these advantages work in tandem with Silverlight power and flexibility.

Report Sharp-Shooter Silverlight demo is available.

Now you can use one of the most powerful solutions to design print reports in RIA for Silverlight platform.

November 19th, 2008

Comments

  1. Perpetuum Technical Blog – Articles, Comments, Feedback on the … | deleteblog.com:

    [...] The rest is here [...]

Leave a Comment