Analytics Extensions

An Analytics Extension extends the functional spectrum of Cadenza with an analysis function or a visualization type. An Analytics Extension is a web service that exchanges structured data with disy Cadenza via the Cadenza API. A user with the appropriate privileges can integrate an analysis extension into Cadenza via the Management Center and manage it there (also see User Documentation).

In order to be able to add and manage Analytics Extensions in the Cadenza Management Center, the plugin AnalyticsExtensions must be enabled in the plugins.xml.

The following types and capabilities of analysis extensions are supported:

  • Visualization: The Analytics Extension type visualization provides a new visualization type for displaying a bitmap image (PNG).

  • Data enrichment: The Analytics Extension type enrichment returns data that enriches an existing Cadenza object type with additional attributes, which virtually add additional columns to the original data set.

  • Data generation: The Analytics Extension type calculation provides a result data set as a new Cadenza object type.

Communication with Cadenza

An Analytics Extension defines a single endpoint which, depending on the HTTP method of the request, is used to supply the extension’s configuration to Cadenza, or exchange data and results with Cadenza respectively.

Image: Communication between disy Cadenza and Analytics Extension

When receiving an HTTP(S) GET request, the endpoint returns a JSON representation of the extention’s configuration. This step is executed once when registering the Analytics Extension from the Cadenza Management Center GUI and does not need to be repeated unless the extension’s configuration changes.

By sending an HTTP(S) POST request to the same endpoint and including the data, metadata and parameters as specified in the extension’s configuration as payload, the extension is executed. This step is executed each time the Analytics Extension is invoked from the Cadenza GUI and Cadenza takes care of properly formatting the payload.

Libraries and further Documentation

In order to abstract the required communication and easily configure the Analytics Extension’s responses to the above requests, there are dedicated libraries for different programming languages. These libraries provide the official and documented API for Cadenza Analytics Extensions.

Currently, two such programming libraries exist. They are available on GitHub and documented in detail online:

Both libraries are currently in BETA status and under active development, during which breaking changes may be introduced.