Skip to content

Overview ​

This section provides a high-level overview of ScriptBee's architecture and the roles of its core components.

UI ​

The User Interface provides a web-based experience for managing projects, loading data from various sources, and running analysis scripts.

Gateway ​

The Gateway is the central orchestration component. Its responsibilities include:

  • Handling UI interactions and requests.
  • Managing projects and user workspaces.
  • Orchestrating the lifecycle of analysis instances.

NOTE

Authentication & Authorization are handled by a separate, external service. The Gateway integrates with this service to manage project access.

Analysis ​

Analysis is responsible for the core logic of processing models and executing scripts. It performs the following functions:

  • Data Loading: Ingesting data from various sources using loader plugins.
  • Model Linking: Connecting loaded models using linker plugins to create a unified data structure.
  • Script Execution: Running C#, Javascript, or Python scripts against the linked models.

Analysis can be performed in two modes:

  • Permanent Instances: Manually managed by the user for long-running exploration and interactive analysis.
  • Temporary Instances: Automatically created for one-time processing, ideal for automated pipelines or quick checks.

Persistence ​

Both the Gateway and Analysis services rely on a MongoDB database for data persistence:

  • Gateway: Stores project configurations, workspace metadata, and instance statuses.
  • Analysis: Uses the database for temporary data storage during processing and for persisting analysis results.

Deployment & Orchestration ​

The orchestration of analysis components varies based on the environment:

Docker ​

In standard containerized environments, a Docker Executor manages analysis instances dynamically. It handles:

  • Networking: Ensuring the Gateway can communicate with the analysis instance.
  • Data Access: Mapping local data folders to the analysis container so loaders and scripts can access source files.

See Docker Compose for more information about deployment to Docker

Kubernetes ​

In Kubernetes deployments, analysis is managed through specialized controllers that handle the lifecycle of each instance as a native resource.

See Kubernetes for more information about deployment to Kubernetes

Released under the MIT License.