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).
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 |