Business intelligence dashboards, analytical dashboards, operational dashboards, product dashboards are increasingly gaining in popularity. They look great. They are useful. They are fun to develop. Which brings us to the question: what is the proper way to create a dashboard? Is "dashboard" a separate product, which we can buy off-the-shelf? Is it a feature of reporting software? Do we have to use other specialized tools to create it? While all these are viable options, in this blog article I share my opinion on what a dashboard is, what it does, and how to create it.
In order to understand any IT system, I often start with two simple questions: what the system is? and what the system does? I borrowed this approach from object-oriented design methodology, which makes us think of the system as:
- collection of properties, content, components (which defines the "what the system is" part), and
- its behavior, functions, features (which defines "what the system does" part).
So, what is a dashboard, and what does it do?
Dashboard is an integrated collection of web-capable resources - reports, forms, charts, smaller information-delivery components.
What does it do? A dashboard connects all resources using a certain criterion (for example date range, or product identifier) and presents information generated by all those resources in the context of that criterion in such a way that it is easy to visually capture important metrics, spot trends, notice certain results, as well as optionally personalize presentation per user or for a particular audience.
To create the presentation as displayed above, we first need to create web resources which generate product links on the left, charts in the middle column, and data in HTML tables on the right. In this example, we used Arnica WebReport (http://www.arnicasoftware.com/products/reporting-software/overview.aspx
) to create all these components. We created four reports: one to produce product links, and three others to produce chart-data table pairs (data in tables corresponds to charts). In other dashboard solutions, resources may include web forms mixed with reports and charts and content fragments generates by other components. All this constitutes the "what dashboard is" part of our system analysis.
To connect all these resources together and integrate them on a single container page, we used Arnica WebPortal - fast and light-weight portal system, which provides content integration functionality and propagates common context (in this example - product identifier) to all resources (reports). Because Arnica WebPortal (http://www.arnicasoftware.com/products/content-integration/overview.aspx
) is a general purpose portal system, it can integrate content derived from various sources running on various platforms and present it as one integrated page to end users.
Using our system analysis analogy, we could say that a web portal together with an identity management system may act as a foundation for the "what the dashboard does" part.
In summary, dashboards provide an integrated view and can and, perhaps, should be created with integration tools. Our dashboard solution implementation involves the following components:
- Web resources (reports, charts, forms, etc.), which generate presentation content parts
- Web portal - an integration platform, which connects these web resources together
- Identity management system, which provides personalization support