Preparing Dashboards for Deployment

This section describes how to prepare a project’s dashboards for deployment.

Once you have followed the steps described here, you or another user must follow the steps described in About deploying dashboards.

To prepare a project’s dashboards for deployment, generate a deployment package

  1. Ensure that the dashboards have the required functionality. See Dashboard feature checklist.

  2. Change your dashboard’s correlator definitions so that they specify deployment correlators. See Changing correlator definitions for deployment.

  3. Decide which type or types of deployment to support for your project. See Choosing among deployment types.

  4. Create a deployment configuration by creating a dashboard_deploy.xml file or use an existing one. See Generating a deployment package from the command line.

  5. Generate a deployment package with the dashboard_management command line tool. See Managing and stopping the data server and display server.

  6. If necessary, communicate the appropriate information to the individual who will complete the deployment process. See Sharing information with the dashboard administrator.

Dashboard feature checklist

This section contains a checklist of capabilities that you should include in a project’s dashboards in order to ensure that the dashboards provide all standard dashboard functions. Most projects require all these capabilities, but some projects may not.

  • Summary view: Displays a listing of all the instances of all the items of a DataView.
  • Detail view: Provides detailed information about a selected DataView item.
  • Create: Allows creation of new DataView items.
  • Edit: Supports editing of existing DataView items.
  • Delete: Allows deletion of DataView items.

Changing correlator definitions for deployment

When you create a dashboard in Dashboard Builder, use a development correlator. When you deploy a dashboard for use with a live correlator, change the correlator host and port so that they reference the live correlator.

This can be done in two ways:

  • In the Dashboard Builder, select Tools > Options and use the Apama tab to specify the deployment correlator or correlators. You must do this before you generate a deployment package with the command line. See Specifying data sources.
  • When you or another user starts a data server or display server that will serve event data to your deployed dashboard, use the -c or --correlator option to override the host and port specified in Dashboard Builder for a given correlator logical name. See Managing the dashboard data server and display server.

If a user other than you will complete the deployment, you must communicate to this other user the logical name for each correlator as well as the host name and port for each deployment correlator (if any) that you defined.

Choosing among deployment types

Apama supports two types of dashboard deployment:

  • Web-based: as a simple, thin-client web page (thin-client deployment is known as display server deployment, because it uses the display server to mediate correlator access)
  • Local: as a locally-installed desktop application (the Dashboard Viewer) together with dashboard-specific files that the application can open

The topics below compare web-based deployments with local deployments with regard to these factors.

Info
The valueHigh(Low)AlarmCommand property of Range Dynamic Objects only works for non-display server deployments. For display server deployments, only the valueHigh(Low)AlarmImage and the valueHigh(Low)Color properties will be honored.

Application installation

Local deployments require the use of the Dashboard Viewer desktop application (available on Windows platforms only). End users open locally-deployed dashboards in the Dashboard Viewer, which must be pre-installed locally or on a shared file system. See Building and Using Apama Dashboards for information about using the Dashboard Viewer.

With web-based deployment, the Dashboard Viewer does not need to be installed locally. Dashboards are invoked through a web browser, and are installed on demand, as web pages, so they can easily be deployed across a wide area network, including the internet.

Authentication

Web-based deployments provide web-based login functionality and use the authentication mechanism provided by your application server. They support authentication customization by allowing you to, for example, configure your application server to use the security realm and authentication service of your choice.

Local deployments include data server login functionality, and support authentication by allowing you to supply any JAAS-supported authentication module as a plug-in to the data server and to the Dashboard Viewer.

Info
In display server deployments, the user name is passed as an encrypted parameter in the URL. The length of an encrypted user name is greater than that of an unencrypted user name. Given the limits on the length of the URLs in browser GET requests, the effective limit on the length of a user name in a dashboard is approximately 1000 characters.

Authorization

Web-based deployments support role-based dashboard access control, which allows you to associate a role with a deployed dashboard, and to authorize use of the dashboard only for application-server users with the dashboard’s associated role.

Local deployments support dashboard access control by allowing you to use the system security mechanisms in order to restrict access to the deployed dashboard files.

Both types of deployment support DataView access control, which allows you to control who can have which type of access to which DataViews.

Data protection

With web-based deployments you can secure inter-process communication by enabling HTTPS in the application server. With local deployments you can secure inter-process communication by enabling secure sockets (SSL) in the data server or display server.

With both types of deployment you can secure inter-process communication through the use of secure channels (SSH) and virtual private networks (VPN).

Scalability

Both types of deployment are highly scalable, since both use the data server or display server to mediate access to correlators.

Choosing among web-based deployment types

Each web-based deployment is a thin-client web page.

The topics below compare the different types of deployment with regard to the following factors.

Served data

The data server mediates correlator access for local deployments; the display server mediates correlator access for simple thin-client, web-page deployments.

The data server delivers raw data from which deployed dashboards construct the visualization objects that they display. The display server, in contrast, delivers already-constructed visualization objects in the form of image files and image maps.

Refresh latency

The display server’s minimum refresh latency (5 seconds) is greater than that of the data server. Use the data server for applications that require high-frequency screen updates.

Generating a deployment package from the command line

To deploy a dashboard, you must create a dashboard_deploy.xml file or use an existing one.

Display server deployment

The following is an example of a dashboard_deploy.xml file for display server deployment. You must update the values as required.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<dashboardDeployConfigs>
    <deploy>
        <property name="apama.rtv.main" value="Weather.rtv"/>
        <property name="apama.deployment.location" value="APAMA_WORK\dashboards"/>
        <property name="apama.displayserver.refresh" value="10"/>
        <property name="apama.displayserver.port" value="3279"/>
        <property name="apama.rtv.desc" value=""/>
        <property name="apama.rtv.panel" value=""/>
        <property name="apama.rtv.location" value="C:\workspace\dashboardProject\dashboards"/>
        <property name="apama.displayserver.host" value="localhost"/>
        <property name="apama.displayserver.hiddenmenuitems" value=""/>
        <property name="apama.rtv.name" value="DemoWeather"/>
        <property name="apama.deployment" value="DISPSERVER"/>
        <property name="apama.deployment.configName" value="DemoWeatherDispServer"/>
        <property name="apama.rtv.usePanel" value="false"/>
    </deploy>
</dashboardDeployConfigs>

When you have updated the dashboard_deploy.xml file, use a command prompt where the Apama environment is set and run the dashboard_management tool to create a .war file which then can be deployed to any web server. Use the following syntax (see also the property descriptions in the table below):

dashboard_management.exe --deploy <config_file_location> --config <config_name> --rtvPath <dashboards_location>

For example:

dashboard_management.exe --deploy C:\dev\dashboard_deploy.xml --config DemoWeatherDispServer --rtvPath C:\workspace\dashboardProject\dashboards

For detailed information on the dashboard_management tool, see Managing and stopping the data server and display server.

See also Generating the dashboard.war file.

Local deployment

The following is an example of a dashboard_deploy.xml file for local deployment. You must update the values as required.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<dashboardDeployConfigs>
    <deploy>
        <property name="apama.rtv.name" value="DemoWeather"/>
        <property name="apama.deployment" value="LOCAL"/>
        <property name="apama.deployment.configName" value="DemoWeatherLocal"/>
    </deploy>
</dashboardDeployConfigs>

With a local deployment, the dashboard files are packaged into a .zip file. You have to use the following syntax:

dashboard_management.exe --deploy <config_file_location> --config <config_name> --rtvPath <dashboards_location> --deployLocation <deployment_location>

For example:

dashboard_management.exe --deploy C:\dev\dashboard_deploy_local.xml --config DemoWeatherLocal --rtvPath C:\workspace\dashboardProject\dashboards --deployLocation C:\dev

Properties

You can set the following properties in the dashboard_deploy.xml file:

Property name

Description

apama.rtv.main

Mandatory if apama.rtv.usePanel is false. The dashboard name along with an extension. Example: Weather.rtv.

When a dashboard name is specified, make sure that apama.rtv.panel is empty.

apama.deployment.location

Mandatory. Location where the .war file is to be created.Example: APAMA_WORK/dashboards.

apama.displayserver.refresh

Mandatory for the display server. The dashboard update rate in seconds. This is the rate at which the dashboard updates its display to reflect new event data received from the correlator through the data server or display server. If you know the maximum update rate used by the servers to which the deployed dashboard might connect, ensure that the update rate that you specify here is not greater than this maximum.Default value: 10 seconds.

apama.displayserver.port

Mandatory for the display server. The port of the data server or display server that is to serve data to the deployed dashboard.Default port: 3279.

apama.rtv.desc

Optional. A description for the dashboard.

apama.rtv.panel

Mandatory if apama.rtv.usePanel is true. The name of panel configuration file if using panels. Make sure that apama.rtv.main is empty.Example: panels.ini.

See Working with multiple display panels for more information about panel configuration files.

apama.rtv.location

Mandatory. The path to dashboards folder in the Apama project or any folder that contains dashboards to be deployed.Example: <PROJECT_LOCATION>/dashboards.

apama.displayserver.host

Mandatory for the display server. The host of the data server or display server that is to serve data to the deployed dashboard.Example: localhost.

apama.displayserver.hiddenmenuitems

Optional for the display server. The context menu commands that are to be hidden for the display server. Specify a comma-separated list. Example: Export Table to Excel,Export PDF

You can specify the following command names:

  • Refresh
  • Back
  • Next
  • Execute Command
  • Drill Down
  • Export Table to Excel
  • Export Table to HTML
  • Export PDF
  • Copy Cell Value
  • Status

apama.rtv.name

Mandatory. The name to be used as the file name of the generated deployment package. This name is also used as the directory name for temporary deployment files. Do not use spaces in this field. Example: DemoWeather.

apama.deployment

Mandatory. The type of deployment. Either DISPSERVER for display server deployment or LOCAL for local deployment.

apama.deployment.configName

Mandatory. Any configuration name.Example: My Config.

There can be multiple configurations within <dashboardDeployConfigs>, therefore, specify the configuration name for the .war file that you want to generate.

apama.rtv.usePanel

Mandatory. Whether to deploy using panels or dashboards. Set this to either true or false.

Sharing information with the dashboard administrator

There are two types of activity involved in making dashboards available to end users:

  • Dashboard development, which requires the use of the Apama Dashboard Builder as well as the use of the command line to generate a deployment package.
  • Dashboard deployment, which requires installing and configuring the deployment package, as well as administering the data server or display server and managing dashboard security.

Sometimes these activities are performed by different individuals. In such a case, the dashboard developer must be sure to communicate the following information to the dashboard administrator regarding the dashboard to be deployed:

  • Location and file name of the .war file or .zip file that was generated when the developer prepared the dashboard for deployment.
  • For display server deployments, the location of the dashboard project directory (the directory that contains the project’s .rtv files).
  • For web-based deployments, the data server or display server host, port, and update rate.
  • Logical name for each correlator as well as the host name and port for each deployment correlator (if any) that was specified by the dashboard developer in the Apama tab of the Tools > Options dialog prior to the generation of the deployment package. See Changing correlator definitions for deployment.
  • Trend-data caching requirements for the deployed dashboards. See Configuring trend-data caching.
  • Whether SQL-based instance tables are used by the dashboard for data attachments. See Attaching dashboards to correlator data.