Accessibility

Flex Article

 

Delivering Rich Business Intelligence

David Meeker

WHITTMANHART

Ryan Carlos

WHITTMANHART

Since its announcement in fall 2003, Macromedia Flex has generated a lot of excitement among developers of Rich Internet Applications (RIAs). In addition to the numerous technical benefits that this new development platform provides, Flex applications also deliver tremendous benefits for businesses. For example, our team at WHITTMANHART used the Flex platform to create a mission-critical business application for our consulting organization; it has played a major part in the growth of our business by allowing us to visualize real-time, actionable data on which we base key business decisions. Our experience with Flex has been so overwhelmingly positive that we plan on using Flex as a platform for the delivery of applications for our clients.

In this article, we want to share with you some of our experiences working with Flex and demonstrate how you might be able to use the Flex platform to find and build creative solutions to your business challenges.

The Old-School Way of Doing Business

The best way for you to appreciate the benefits we gained by using Flex is to get a feel for what we do as a business—how we used to view our data before we were using Flex, and what we had to go through in order to distribute that data across the organization.

We have a variety of offices in different cities and several hundred of our consultants work in the field. As with any growing services firm, we face the constant challenge of keeping on top of our numbers, knowing where our resources are, and deciding what steps we need to take from a managerial perspective to stay profitable while doing the best possible work for our clients. We track our numbers on a weekly basis, including billable rate, use of staff, profit margin, revenue, sales, and other key metrics that enable us to keep tabs on the health of our consulting organization. And every week, our operations manager would collect this data and put it into a scorecard that would enable our employees to visualize the data they need to do their jobs. Figure 1 illustrates our old-school way of doing business.

Old school business intelligence data gathering

Figure 1. Old school business intelligence data gathering

Essentially what this data-gathering process used to entail is a lot of manual manipulation of data, re-keying data from one presentation format to another, and as-needed changes to data should values change between the initial data-gathering process and the process of distributing the data across the company to department heads and other decision makers. As our operations manager once told me after explaining the process to me in detail, "There has to be a better way of doing this."

This is when we had our first revelation of how to solve our business problem, a solution that we decided to call rich business intelligence.

From Poor to Rich

The shortcomings to the old school data-gathering process are obvious: It is slow, leaves room for human error and data inaccuracy, and presents a very low-tech way to distribute data within our very high-tech times.

In our case, the solution to our problem had to meet several key requirements:

Based on these requirements, we chose the Flex platform for the development of our software system. In the following section, we will look at each of these requirements as they relate to developing Flex-based solutions and explain how the Flex platform meets each of these requirements.

The Benefits of Using Flex

As we stated above, Flex was the natural choice for our development efforts, because it was the only platform that met all of our project requirements. The following list explains in detail how our requirements map to the Flex platform and the benefits that Flex brings to the table:

The Flex Application Model

The following list provides an overview of the features of the Flex application model that increasingly make it easier for developers to be more productive:

These features enable developers to spend less time creating custom code that handles everyday layout and user interaction issues and to focus instead on the code that drives the enhanced rich client interface.

Flex Data Management

There is a big difference between an application that simply looks good and an application that serves a business purpose—and Macromedia understands this difference! A key ingredient in an RIA is the display, manipulation, and binding of data.

In our system, we rely on both web service data connectivity (online mode) as well as the loading of XML files (offline mode). To integrate our back-end data with the Flex application, we use the built-in Flex data management components. These components support:

Using these components, developers have an easier time working with Flex than with other, more intimidating solutions. Instead of wondering whether and how we can access the data, Flex enables us to focus on finding the perfect solution for a given situation.

Finding the perfect solution in our case also meant being able to run the application in both online and offline mode, There are two very valid reasons for this requirement. Firstly, users must be able to view mission-critical business intelligence data when they are on the road or in the field, or even at home as they work late at night on company strategy. Secondly, since we are developing our EIS system as a software solution for our clients, we need our sales force to be able to load a version of it on their laptops so that they can present it to prospective clients.

Following best practices for Flex application design allowed our team to completely separate the Model View Controller (MVC) aspects of the EIS system, turning the online and offline issue into something that was simple to achieve. By using an application configuration XML file that the Flex application loads when initialized, the rich client will be able to run as it is expected, without any changes to the application code-base.

Our software project had some pretty specific requirements, as do most custom software solutions. You have seen an overview of how the Flex development platform’s features have helped to meet these requirements for the development of our enterprise reporting system.

Now that we’ve explained how we used the features of Flex, let’s take a look at how we have combined the Flex MXML components, custom components, and ActionScript 2.0 to build part of our application!

Building a Rich Client Interface

Without getting into too much detail, we want to show how you can use basic MXML and Flex components to create a custom interface for an RIA. In this case, we are using our own EIS as an example.

In order to make it easier for you to follow our example, take a look at Figure 2, which shows the finished application screen and the underlying wireframe design document (see Figure 2).

Figure 2. The completed EIS screen (left) and the wireframe on which it is based (right).

The similarities between the completed application screen and the wireframe are obvious. For the sake of brevity, we are going to focus on only a few of the interface elements:

Conclusion

Rich client interfaces developed in Flex offer huge benefits, both to users of the finished product as well as to the development teams that put them together. Never before has it been possible to create such robust, interactive, and usable interfaces to users, not to mention that these applications can be deployed cross-platform and browser-independent by calling on Flash Player as a client runtime engine.

The open standards behind the Flex engine reduced the pains that our team felt during development; and the built-in features of Flex made it easy to pull in, work with, and display our complex data on the screen in ways we never thought possible in an application that is delivered over the web.

Who would have thought that you could take a team of J2EE developers and programmers that are used to working in a variety of text-based coding tools and have them develop Flash-based software? The times, they are a changin’ and Macromedia is leading the pack with the release of Flex.

Where to Go From Here

About the authors

Dave Meeker leads the custom application development team for WHITTMANHART Interactive in Chicago. Dave has been developing custom web solutions for clients throughout his professional career. He has also given a lot of thought to the challenges and benefits of the integration of multimedia into the workplace and the convergence of media such as the Internet and television, and how social systems can benefit from the use of messaging, collaboration, and other technology. For the last two years, he has managed the partner relationship with Macromedia, specializing in usable interactive software strategy, design, and development.
Ryan Carlos started using Macromedia products in college with the release of Flash 3. Since then he has always been interested in interactive design, and improving usability of software and emerging technologies. Ryan has an application development background and is currently a senior consultant for WHITTMANHART Interactive, where he devotes his attention to the development of Rich Internet Application. Ryan has a passion for new technology and is an expert in Bluetooth devices and networking.