Basic architecture
The simplest Helix Server configuration consists of a client application and server application communicating over a TCP/IP connection. The server application manages a single repository that consists of one or more depots. A client application communicates with the server to allow the user to view:
- trees of versioned files
- repository metadata (file history, users, groups, labels, permissions)
Clients also manage local workspaces (local directories) that contain a subset of the files in the repository. Users can view, check out, and modify these local files and submit changes back to the repository. Versioned files are stored on the server in depots of various types, such as:
- local
- stream (Helix Core Server User Guide covers Streams in depth)
- graph, which supports Git repos (see the Helix4Git Administrator Guide)
Single server
Administrators support this architecture by installing and configuring the server, setting up users and security, monitoring performance, managing the resources used by the server, and customizing the behavior of the server.
Various options for federated services, such as proxy, broker, and replica, are explained in the Multi-Site Deployment guide.
See also "Centralized and distributed architecture" in Using Helix Core for Distributed Versioning (DVCS).