Skip to main content
Skip table of contents

Architecture & Installation

This section provides information about the architecture of the solutions and how to install it.

beVaultArchitecture.drawio-20240920-140306.png

beVault’s Components

Components' interactions

  1. The user can access beVault through their browser. There are currently two distinct interfaces for beVault, one for Metavault, the modeler and one for States, the orchestrator.

  2. beVault UI calls the API of metavault or states to handle user requests.

  3. Several database servers can be configured in metaVault during the installation. MetaVault can either create a new database or use an existing one, which is called an environment. MetaVault, thanks to its embedded SQL Engine, will manage (create, update, delete) the tables in an environment to generate the Data Vault based on the implementation done in the interface.

  4. When the user deploys a new version, metaVault will generate some state machines to operate beVault (one per data package to load the data from staging to the raw vault, one per snapshot, …)

  5. metaVault contains some workers to be able to load the data from the staging to the raw vault. Those workers are being called by the state machine automatically generated (CFR 4). The workers frequently call States to know if some work is expected of them.

  6. metaVault and States use an OAuth2 identity server to manage the login of users. This way, the application can use an SSO (Single Sign On) and doesn’t have to manage passwords, etc.

  7. The workers ask States frequently to know if there is a job to do. When it's the case, the worker executes its code with the parameters it receives from States and sends back the output. Those workers can either be deployed next to the rest of the components or directly on the client’s infrastructure to avoid having to expose databases or other systems to the internet.

  8. Stores (Stores ) can be configured to access external data sources. Those stores can be used by the workers to extract or manipulate data from external endpoints.

  9. States uses Redis to manage the queues of executions of state machines.

  10. It is possible to use AWS Step Functions instead of States to operate beVault. The state machines will be automatically generated in AWS and the workers can also be used to execute some tasks

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.