Rich Enterprise Dashboards

Date:   Monday , August 31, 2009

Introduction

An enterprise dashboard is a user interface for visualizing enterprise information that is carefully designed to help get a bird’s eye view of key system parameters at just a glance. Even today, many organizations create dashboards using a combination of software and manual processes. It is not uncommon for people to generate reports from disparate MIS applications and manually integrate them into a spreadsheet to generate pivot tables and charts, and finally convert that into a PDF document or as a presentation for discussion. Many enterprise applications are accessed via a browser interface today, and ideally developers would also like to incorporate dashboards right within their application context. However, traditional Web technologies cannot provide the kind of visualizations and interactions that users want, and therefore many applications end up providing ‘reports’ as opposed to dashboards.

With the advent of Web 2.0 it is possible to deliver a very rich experience even within the browser, thanks to RIA technologies. It is no surprise that even business users want a similar seamless, interactive, and rich experience for their enterprise applications. Today, users want to interact with the data that sits behind these reports in a variety of ways. Whether it is drilling through the summary level information to get details, or analyzing the data with other pivot dimensions, or performing ‘what if’ analyses collaboratively with co-workers over the Web, dashboards are no longer a mere visualization tool that is the fancy of a manager or an executive.

Rich enterprise dashboards are all about presenting the right information in an impacting way. It is possible to build such engaging dashboards with the RIA technology offerings available in the market today.

Technology Requirements of a Typical Rich Enterprise Dashboard


Consider a typical enterprise. One can imagine the wide variety of applications and data lying in unconnected islands. In such an enterprise, decision-making gets even more complex, mostly due to the stakeholders being geographically distributed.

With such high levels of diversity, tracking and monitoring vital business parameters in a timely fashion and acting upon them is both essential and challenging.

Some of the challenges and problems encountered are interesting, and these include multiple concurrent projects running in multiple locations. The sheer heterogeneity in the systems used makes the data aggregation, analysis, and reporting literally a nightmare.

Enterprises that have Web-based business parameter tracking mechanisms require the users to be online always and be connected to the company Intranet. When the key stakeholders are on the move without connectivity, the data not being available offline becomes a blocker. Also, in most of the offline analysis mechanisms like reports and spreadsheets the data-behind-the-analysis is not available. When trend analysis of a particular business parameter through a period in time becomes critical for decision-making, a spreadsheet or document based report is a less than ideal solution.

Most of the times, the ability to analyze data collaboratively is hard because email is used as the communication channel. The inherently asynchronous nature of email brings its own set of limitations and makes it hard to achieve effective collaboration. As opposed to reports (which are dead documents), dashboards are live applications that also allow in context communication.

Deriving from some of the challenges mentioned above, the high level requirements for a rich enterprise dashboard could be summarized as follows.

* The application needs to be able to access data from a set of diverse back end systems ranging from databases, Web services, XML, and Spreadsheets.

* The dashboard needs to work as an online Web application as well as a standalone or desktop based occasionally connected client (OCC)

* The application user experience needs to be rich, expressive, interactive, and responsive.

* The experience of the dashboard should be carefully designed to present the right level of information at the right time to the right users in a clean, intuitive interface.

* The application should help the user work with the data in a social and collaborative model.

* Finally, one would want to choose a technology that provides the right set of tools and frameworks for building such rich dashboards.

Technology Solutions Available for Building Rich Enterprise Dashboards

With the advent of Web 2.0, developers have started adopting RIA technologies and also incorporating social aspects even into enterprise applications. Without RIA technologies it is hard to create and deliver compelling and engaging dashboards. Multiple RIA technology choices are now available, and the importance of evaluating what technology fits one’s specific needs cannot be understated.

Traditional dashboards completely rely on the server side processing to do the data crunching. With rich dashboards built using RIA technologies, a lot of the calculations can be offloaded to the client runtime (like Flash Player or Javascript), thereby providing better response and experience to the user. For example, Flex and AJAX applications use asynchronous data exchange mechanisms between the client and server; and therefore do not block the user experience while performing server side operations. Unlike traditional Web applications that fetch the entire HTML page, rich enterprise dashboards constructed with RIA technologies can refresh a page or view by fetching the data alone.

It is common to find heterogeneous technology stacks already being used in many enterprises; and therefore it is essential to choose an RIA technology that can easily consume data from disparate data sources using Internet standard protocols such as HTTP. In the case of ‘monitoring dashboards’ it is desirable for the dashboards to consume data being pushed from the server (as is the case when middleware like LiveCycle Data Services or Blaze Data Services are used) as opposed to requiring the dashboard clients to survey the data sources for updates.

To be of value to managers and executives on the move, it is essential for dashboards to also be available for offline use (when these users are not connected to the network). Since many Web applications require one to be connected to the server, a typical way of providing for offline use is to export data into a CSV format or produce a PDF document. This is not the seamless experience that business users are looking for; and come with their share of drawbacks depending upon the implementation.

Modern Web applications (RIA) are expected to run when one is connected to the network as well as when one is offline. For example, Google Gears extends browsers so that developers can write HTML or Javascript based client applications that run within the browser even while they are offline. Similarly, Adobe Flex framework lets one build occasionally connected applications using the same Flex framework; but interestingly these applications can run outside the browser like a desktop application and they can provide a branded user experience sans the limitations of the browser Chrome and Adobe Integrated Runtime (AIR). The Web based applications run on the Flash Player in the browser, while the desktop applications run on the AIR. The SQLLite database that is bundled along with Runtime can store data locally that can be accessed using standard SQL Queries. In addition, Flex dashboards can also be embedded into PDF documents, making the document interactive and rich.

Dashboards make extensive use of UI components like grids (tables with sorting, grouping, and summary rows) and charts (line charts, pie charts, bar charts).

From a developer’s viewpoint, it is important to choose a framework that not only provides such components out-of-the-box, but also allows developers to extend and customize such controls. These components should also go beyond mere visualization and allow developers to add interactivity such as drill through, pivoting, and ‘what if’ analyses right within the application without the business user having to export the data to some other analytics toolset or spreadsheets. Movement has meaning and it is important to play effects judiciously whenever a dashboard transitions from one view to the next. Flex provides a rich data visualization framework comprising of various kinds of data grids, charts, and effects that go a long way in developing dashboard applications in very quick time. For example, here is a video that illustrates how a complete dashboard experience can be developed in Flex in less than 10 minutes.

Ultimately, dashboards are not just used by business users in isolation – often they are referred to and pulled up during management meetings and discussions such as brainstorms, rot cause analysis meetings, and problem solving sessions. Email discussions are not the best way to do some of these meetings, and often many of these are realtime, in-person meetings. Given the realities of the modern enterprise with distributed workforces and managers and executives who may not always be available for face-to-face meetings, teleconferencing solutions have become common. When it comes to technologies for facilitating realtime, virtual discussions around system parameters, technologies like Adobe Flash Collaboration Services can help embed collaboration within a dashboard with features like VOIP audio, Webcam video, Chat, and multi-user whiteboards.

In summary, technology should no longer be a limitation for creating and delivering rich enterprise dashboards.

Harish is a Computer Scientist & Evangelist, and Ramesh is, Sr Computer Scientist & Evangelist at Adobe Systems