Multiwoven is structured into two primary components: the server and the connectors.

The server delivers all the essential horizontal services needed for configuring and executing data movement tasks, such as the User Interface, API, Job Scheduling, etc., and is organised as a collection of microservices.

Connectors are developed within the multiwoven-integrations Ruby gem, which pushes and pulls data to and from various sources and destinations. These connectors are constructed following the Multiwoven Protocol, which outlines the interface for transferring data between a source and a destination.

  1. Multiwoven-UI - User interface to interact with multiwoven-server.
  2. Multiwoven-Server - Multiwoven’s control plane. All operations in Multiwoven such as creating sources, destinations, connections, managing configurations, etc., are configured and invoked from the server.
  3. Database: Stores all connector/sync information.
  4. Temporal - Orchestrates the the sync workflows.
  5. Multiwoven-Workers - The worker connects to a source connector, pulls the data, and writes it to a destination. The workers’ code resides in the multiwoven-server repo.