Dashboard Architecture

Motivation
You want to create an architecture that allows a single web-page to quickly display many operational parameters of your system.

Terminology
We will use some of the following terms in this design:

Key Performance Indicator is an item that you would like to monitor. If you are running a production database server one of the key performance indicator is "free disk space".

Metric a number associated with a KPI. In the disk space example the metric might be "number of megabytes of free disk space".

Indicator is a user interface widget that displays the Metric for a KPI. Indicators have types such as "needle gauge" or "bullet bar" or "dial".

Ranges are numbers that associate a metric with acceptable, warning or error ranges. For example in the free disk space KPI the acceptable range might be over 30% free, the warning might be 30% to 10% and the error would be under 10% free space.

A Portlet is a region of a of the screen that contains a specific Indicator. Portlets conform to a standard such as the JSR-168 standard.

A Dashboard is a composite of many Portlets that have been configured for a task, role or user.

One of our goals is to allow XQuery to generate portlets for use in other portal software packages such as LifeRay but also use XQuery to generate web pages that include portlets from other systems.