Chapter 16. Dashbuilder Runtime

Dashbuilder Runtime is an add-on Red Hat Process Automation Manager application WAR that you can use to view dashboards created in and exported from Business Central. This is useful for reviewing business metrics in Red Hat JBoss EAP installations that do not have Business Central.

Navigation between the pages of a dashboard in Dashbuilder Runtime is identical to navigation in the Business Central where the dashboard was created. If a page belongs to a group, that group is imported to Dashbuilder Runtime as well as the page. If a page is imported to Dashbuilder Runtime but not used for navigation, then the page is added to the Runtime Dashboards menu group. If no navigation is exported then all pages are added to the Runtime Dashboards menu group.

16.1. Installing Dashbuilder Runtime

To install Dashbuilder Runtime, download the Dashbuilder Runtime WAR and create a user with the admin role.

Prerequisites

  • You have created and exported a dashboard in Business Central.

Procedure

  1. Navigate to the Software Downloads page in the Red Hat Customer Portal (login required), and select the product and version from the drop-down options:

    • Product: Process Automation Manager
    • Version: 7.8
  2. Download Red Hat Process Automation Manager 7.8.0 Add Ons (rhpam-7.8.0-add-ons.zip) and extract the ZIP file.
  3. Navigate to the directory that contains the extracted files and extract the rhpam-7.8.0-dashbuilder-runtime.zip file.
  4. Copy the contents of the dashbuilder-runtime.zip file that you extracted into the <EAP_HOME>/standalone/deployments folder.
  5. In the Red Hat JBoss EAP home directory, enter the following command to create a user with the admin role and specify a password. In the following example, replace <USER_NAME> and <PASSWORD> with the user name and password of your choice.

    $<EAP_HOME>/bin/add-user.sh -a -e -u <USER_NAME> -p <PASSWORD> -g admin
  6. In a terminal application, navigate to EAP_HOME/bin.
  7. Enter the following command to start Red Hat JBoss EAP:

    • On Linux or UNIX-based systems:

      $ ./standalone.sh -c standalone-full.xml
    • On Windows:

      standalone.bat -c standalone-full.xml
  8. In a web browser, open the URL http://localhost:8080.
  9. Log in using the credentials of the user that you created for Dashbuilder Runtime.
  10. When promted, upload a dashboard that you exported from Business Central. Dashbuilder Runtime uses that dashboard until it is restarted.

16.2. KIE Server data sets on Dashbuilder Runtime

A data set is a collection of related information. If you have a KIE Server that contains imported data sets, you can use Dashbuilder Runtime and the KIE Server REST API to run queries on imported data sets.

Because KIE Server uses Business Central as a controller, KIE Server containers are created in Business Central. Data sets are also created in Business Central. The KIE Server configuration is a template that you can refer to when you create data sets or install containers.

Other services, such as Dashbuilder Runtime, use the KIE Server REST API to retrieve KIE Server information. Dashbuilder Runtime accesses the KIE Server REST API to run queries from data sets.

When a KIE Server data set is created in Business Central, the server template information is provided and it is used by Dashbuilder Runtime to look for the KIE Server information. For example:

dashbuilder.kieserver.serverTemplate.{SERVER_TEMPLATE}.location={LOCATION}
dashbuilder.kieserver.serverTemplate.{SERVER_TEMPLATE}.user={USER}
dashbuilder.kieserver.serverTemplate.{SERVER_TEMPLATE}.password={PASSWORD}
dashbuilder.kieserver.serverTemplate.{SERVER_TEMPLATE}.token={TOKEN}

You can also setup KIE Server for each data set. For example:

dashbuilder.kieserver.dataset.{DATA_SET_NAME}.location={LOCATION}
dashbuilder.kieserver.dataset.{DATA_SET_NAME}.user={USER}
dashbuilder.kieserver.dataset.{DATA_SET_NAME}.password={PASSWORD}
dashbuilder.kieserver.dataset.{DATA_SET_NAME}.token={TOKEN}
Note

Token authentication is not used if credentials are provided.

You might want to run the dashboard against another KIE Server installation. When data sets are created on a KIE Server in a development environment, the data sets queries are created on the development KIE Server, for example DEV. If the dashboards are exported to a production environment, for example PROD, with a different KIE Server, the queries that you created in DEV are not available, so an error is thrown. In this case it is possible to port queries from a data set to another KIE Server by using the replace query functionality, either through a server template or a data set:

  • Server template example:

    dashbuilder.kieserver.serverTemplate.{SERVER_TEMPLATE}.replace_query=true
  • Data set example:

    dashbuilder.kieserver.dataset.{DATA_SET_NAME}.replace_query=true

The replace_query=true property only needs to be set once so that Dashbuilder Runtime creates the queries. After the queries are created you can remove this system property.

16.3. Customizing Dashbuilder Runtime

You can use system properties to customize Dashbuilder Runtime.

Dashboards Path

When a dashboard is uploaded it is stored in the filesystem. The path where it is stored is controlled by the system property dashbuilder.import.base.dir. The default is /tmp/dashbuilder.

The system property is the root path for any dashboard model. For example, if there are multiple files on this path, the file can be imported by accessing Dashbuilder Runtime and passing a query parameter import with the name of the file that should be loaded. For example, if you want to load the sales_dashboard, execute runtime_host?import=sales_dashboard and Dashbuilder Runtime will try to load the file /tmp/dashbuilder/sales_dashboard.zip.

Static Dashboard
If you want the runtime instance to load a specific dashboard, you can change the system property dashbuilder.runtime.import. Setting the property to a local file path will cause that specific dashboard to be loaded during Runtime startup.
Controlling upload size
Application servers control POST request size by default. You can control the allowable size of uploaded dashboards by using the system property dashbuilder.runtime.upload.size. The size should be in KB and by default the value is 96kb, meaning that if someone tries to upload a file larger than 96kb then an error will be displayed and the dashboard won’t be installed.
Loading external dashboards

A Dashboard that is located at an accessible URL can be accessed by Dashbuilder Runtime. You can access the URL by passing the URL with the import query parameter such as runtime_host?import=http://filesHost/sales_dashboard.zip.

Note

For security reasons this option is disabled by default. You can enable it by setting the system property dashbuilder.runtime.allowExternal as true.