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
- Java 11
- Maven 3
- ActivePivot (AP5.10) JAR files
- Running the application requires a license for the ActivePivot software.
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
- Run
Limits UI
- The Limits Module contains customized UI widgets
- Download the Limits Module from https://activeviam.jfrog.io/artifactory/activeviam-accelerators-artifacts/limits/1.2.0/limits-ui-source-1.2.0.zip
- Update public/limits-env.js
- Run
yarn install
- Run
yarn start
onhttp://localhost:3000
- Run
yarn build
for building a production-deployable package under thebuild
folder.
💻 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.
- limit-process-four-eyes.bpmn
- limit-process-six-eyes.bpmn
- limit-process-straight-through.bpmn
- limit-process-exception.bpmn
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.