Data Connectors Overview

This is the documentation for ActiveViam’s Data Connectors library, with a section for users and a section for developers for both the Data Load Controller and Data Extract Engine libraries.

What is Data Connectors?

Data Connectors is a scalable, standard service to handle data loading/extraction within an ActivePivot application. This abstracts specific data loading/extraction implementations away from the client. Data Connectors sits on top of an ActivePivot application. Data Connectors contains target-specific modules that each yield a jar. Developers can pick and choose to include the artifacts they need in their pom file.

Requirements

ActivePivot Version 5.9.0+

Data Connectors only supports APS 5.9.0 onward. The Data Connectors jars rely on local ActivePivot repositories. We achieve this by marking all ActivePivot dependencies as <scope>provided</scope> within Data Connectors pom files. This allows the ActivePivot dependencies to be inferred from the local file system and flexibly use different minor versions. This allows for easier ActivePivot upgrades as there is no need to rebuild/upgrade the Data-Connectors tool. The same is expected for the javax.servlet:javax.servlet-api archetype if you are using the monitoring for XMLA.

Module Structure

Here we can see the Data Connectors module structure with all target modules (in blue).

PackageStructure.png

Currently, Data Connectors supports the following targets for the DLC and DEE components. Targets are included in the following maven modules:

Target Maven Artifact ID ActivePivot Minimum Version
Avro data-connectors-avro 5.9.0
AWS data-connectors-aws 5.9.0
Azure data-connectors-azure 5.9.0
CSV (Local FileSystem) data-connectors-csv 5.9.0
Google-Cloud-Platform data-connectors-gcp 5.9.0
InMemory (Extraction only) data-connectors-core 5.9.0
JDBC data-connectors-jdbc 5.9.0
Kafka data-connectors-kafka 5.9.0
Parquet data-connectors-parquet 5.9.2
RabbitMq data-connectors-rabbitmq 5.9.0

Users can import the target module required for either data Loading or Extraction by including the corresponding target’s module within their pom. Then the user will have access to both the Data Load Controller and Data Extract Engine components.

Here is an example of including Data Connectors for RabbitMq:

<dependency>
    <groupId>com.activeviam.io</groupId>
    <artifactId>data-connectors-rabbitmq</artifactId>
    <version>1.0.0-AP5.9</version>
</dependency>

REST Services

Services URL

Both the DLC and DEE components are found at the following REST URLs:

/services/connectors/rest/dlc/<REST-version>/
/services/connectors/rest/dee/<REST-version>/

REST Service Version

Data Connectors REST endpoints contain a version number. This version number helps remote users ensure they are using the correct REST contract. The REST version is appended to the end of the base REST endpoint for both DLC and DEE components. More on each component can be found here: DLC REST Services and DEE REST Services.

Below we can see the REST version matrix for the different componenets of Data Connectors:

Data Connectors Component REST Version
Data Load Controller v1
Data Extract Engine v1
search.js