Realm Definition and Realm Service

The realm definition consists of configuration data for client programs. The realm service supplies that configuratin data to client processes, and funnels monitoring data and logging data from client processes.

Realm Definition

The FTL server provides the realm service, which is the central repository for configuration data required by its client processes, which include FTL application programs and services. This configuration data is called the realm definition. Supplying this realm definition to clients is the primary role of the realm service.

The realm definition includes configuration data for all the client processes in the realm. In the simplest use case, one FTL server supplies that configuration data to the clients. However, you can also arrange a family of affiliated FTL servers, for example, primary FTL servers on separate computers cooperating for fault tolerance, satellite FTL servers at WAN-connected sites, and disaster-recovery servers. A family of affiliated FTL servers all serve the same realm definition to clients.

Client process require configuration data to start running. In the peer-to-peer paradigm, clients can then continue communicating with other clients even if they temporarily disconnect from the FTL server. That is, they can communicate without using the FTL server as an intermediary. (In the message broker paradigm, in contrast, clients must maintain contact with the FTL server that acts as a message broker.)

Realm Monitoring and Logging

In a secondary role, the FTL server (through its realm service) receives client monitoring data and client logging data, and funnels it to external tools for analysis and display. If clients temporarily disconnect from the FTL server, they buffer their monitoring and logging data until they can reconnect.

Realm Server GUI and API

The FTL server GUI provides a browser-based visual interface to view and modify the realm definition, and to monitor and manage client processes.

The FTL server also provides a REST-style web API. You can use it to create administrative programs to configure, monitor, and manage clients.