JVM Languages

Embedding Data Visualization in Rich Internet Applications

By Andrew Shorten, November 17, 2010

Visualizing complex data facilitates rapid understanding -- so how should you go about adding data visualization to your apps?

Integrated Tooling

Many developers use the Eclipse tooling framework for their day-to-day development activities. Leveraging a framework for data visualization that provides a robust Eclipse-based tool can be an important consideration in the choice of a data visualization solution. An Eclipse-based tool helps ensure an accelerated development cycle because it simply plugs right into the existing environment, so new visualizations can be easily added and new data sources introduced without rewriting the application. A rich charting framework should be part of the tooling, and should allow access to source code so the developer can get going quickly. It should contain an evolving and customizable library of base-level components used in most business applications. And, most important to productive development of data visualization applications, the tooling should support drag-and-drop capabilities of charting components as well as data.

An auto manufacturer, for example, might need to drag a mechanical design component onto a design surface — and then bind data to the component through a simple drag-and-drop, as well. Or a developer who builds Human Resource applications might want to customize the GUI to appear in one way when an HR specialist views the data, and another way when an employee views the same data. Using professional DV tools, the developer can drag-and-drop different skins onto the same grid, enabling fast, easy customization according to end-user need.

Using my Flex example, the SDK contains hundreds of out-of-the-box components. DataGrids, Charts, Formatters, Validators, and numerous other UI controls are the building blocks for applications of all sizes. Components can be styled and skinned to fit the desired look and feel. Additionally, all Flex components are easily extensible. They can be derived to add custom functionality, behavior, or look and feel. There are also hundreds of third-party open source and commercial components available for Flex. Mapping APIs, Data Visualization libraries, and Cloud APIs provide the building blocks for assembling great applications.

A Mature, Open Source Framework

Another critical factor to consider is the strength, maturity, and openness of the framework used to build the DV application. While some commercially available frameworks are tested and mature, their component libraries may be created by a range of third-party vendors — which adds additional cost to development, and contributes to potentially fragmented vendor offerings that often cannot evolve at the pace of the associated run times. Instead, look for a mature, tested open source framework that provides the highest levels of advancement, support, and integration.

A good, open source framework should include a library of data visualization components that can be used as is, customized, or extended at no additional cost — and that are integral to the kinds of applications being built. Third-party partners typically supplement component libraries by offering additional charting and graphic components, as well as more complex DV applications that can be integrated into the framework. In this way, the developer doesn't have to build everything from scratch, but can write custom code around grouped components as required. Helping further expedite development, a mature framework is usually supported by a community of professional developers that ensures a growing library of business-critical components as more applications are developed.

Sophisticated DV apps also include drill-down capabilities that let users dig deeply into the details. For example, a stock market RIA might visualize current trading prices on Fortune 500 companies. If an investor clicks on one company's name, a new window could pop up that graphically depicts trading prices over a period of time for that particular company. From there, the investor may be able to drill even deeper to view a graphical depiction that breaks down that company's trading values by the minute, hour, or day.

Conclusion

Leveraging a framework that offers an easy process of data binding and connecting with existing data and services can accelerate application development. A well-designed RIA can improve access to data stored within the organization, connect isolated components in an enterprise's infrastructure, and then utilize embedded DV capabilities to merge and present data — at the UI level — from disparate systems. Utilizing DV components that are ubiquitous, integrated and written in a familiar language on a mature framework is an effective means of adding data visualization to any application development project.

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task.
However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Video

This month's Dr. Dobb's Journal

This month,
Dr. Dobb's Journal is devoted to mobile programming. We introduce you to Apple's new Swift programming language, discuss the perils of being the third-most-popular mobile platform, revisit SQLite on Android
, and much more!