Getting started

This section provides guidance on developing with the Limits Module.

Provided is a minimalist ActivePivot project built with Spring Boot for you to edit, customize, and use as a base for your ActivePivot projects.


Details

This project aims to be an example of how to run the Limits Module with an ActivePivot Spring Boot application.

This project is a starting point for your own projects and implementations. You should be able to take this, customize it, and get a cube up and running in a few minutes.

📦 Installation

Requirements

Distribution

Limits backend source

To access the Limits backend source zip folder, click here.

  • Unzip this repository and run mvn clean install. This will generate a JAR file, which can be run using standard java commands:
    • Run java -jar <path to>/limits-exec.jar
    • Alternatively, if you are on MacOS, run java -DchunkAllocatorClass=com.qfs.chunk.direct.impl.MmapDirectChunkAllocator -jar <path to>/limits-exec.jar

Limits UI

💻 Usage

The Limits Module can be integrated with any ActivePivot instance with the same AP version. For more information, see How to Integrate Limits to Atoti+.

As Of Date

The file as_of_date.csv sets the asOfDate for the limits application. This asOfDate is used for evaluating limits against connected accelerators.

Limit definitions

The files limits_approve_frtb.csv and limits_approve_mra.csv load the LimitsDefinition store, and can be found in src/test/resources/data-samples/data/. Limit definitions which have the same Name, CubeName, and ServerName fields create a single KPI on a connected server via REST calls.

For more information on the Limits approve files, see Limits approve.

note

Currently, limits_approve_mra.csv is being ignored because the ETL will skip un-configured accelerators. To load MRA limits, modify ap.url.map prop in src/main/resources/properties/limits.properties to include MRA. ( Example: {'MRA': 'http://localhost:10010/risk-activepivot/pivot/rest/v5/cube', 'FRTB': 'http://localhost:8080/frtb-starter/pivot/rest/v5/cube'} )

AlertTasks and Alert Definitions store

AlertTasks are created for each limit definition in the LimitsDefinition store, which evaluates whether a limit is in breach or warning state. The PollingFrequency field of a limit definition determines how often an AlertTask is run. When limits are in breach or warning status the AlertTask writes to a file named alert.csv. You can find this file in today’s date folder inside the directory src/test/resources/data-damples/data/alert. The files generated here will populate the AlertsDefinition store via a listening topic.

Limit workflow

In the resources/processes folder, the following Activiti workflow bpmn files can be found out of box.

Other

note

If running as a JAR file, the limits_approve.csv file may not be found, and you will need to explicitly point to it.

  • ActiveUI, ActiveViam’s user interface for exploring the cube, will be available from http://localhost:9090/ui

The default security credentials are admin:admin, but can be modified in the SecurityConfig class (we use Spring Security).

Limits Ecosystem and Architecture

In the ActiveViam ecosystem, the Limits Module runs on its own JVM and is the one-stop shop to manage all the limits across all ActivePivot cubes. The workflow audit is automatically maintained in the persistent relational database. All the users log into a combined ActiveUI to access all the ActivePivot cubes.

Limits Ecosystem and Architecture