General Architecture

Data storage for this system is managed by a MongoDB instance, which the server application must be able to access. It’s not mandatory for MongoDB to be installed on the same physical or virtual machine as the server application.

The server application operates on WSGI (Web Server Gateway Interface) and utilizes HTTP for communication. For enhanced security, we advise deploying a reverse proxy server to encrypt communications via HTTPS (SSL).

In addition to the primary server application, we offer several optional servers to augment functionality:

  • Worker Server (FURTHRmind Worker Server): This server handles background tasks, alleviating the load on the main server and ensuring its constant availability. It requires a Redis Database to receive tasks from the main server application.

  • Calculation Server: This server is tasked with running scripts in a safe environment and then relaying the results back to the main server.

  • Timestamp Server: Its role is to monitor changes in the database and initiate the re-execution of outdated calculations.

  • Calculation Trigger Server: This server’s purpose is to observe database modifications and trigger necessary calculation processes.

Additionally, we incorporate an OnlyOffice installation. This allows users to work directly with uploaded office documents and files within FURTHRmind, facilitating direct interaction with experimental data without the need to download it.