Xema

BFF

The BFF is what the Agent UI, Live View, Data Portal and Process Owner connect to. It follows every call and every agent, and coordinates each call from start to end.

A cluster always has one. When no server holds the role, xema node apply gives it to one.

It can run on several servers, and one is active. Every BFF follows the same calls; the cluster's services all talk to the active one. If the active BFF stops, another takes over on its own within about forty seconds.

Putting it on a server

sudo xema node role add bff
sudo xema node apply

node role add records that this server should run it, and node apply starts it. If xema component list shows it is not installed here, install it between the two:

sudo xema component install bff

A server can also be given it as it joins: sudo xema join ... --roles bff,....

Taking it off

sudo xema node role remove bff
sudo xema node apply

Checking it

xema node roles          # what this server should run, beside what it runs
xema status              # every service on this server, running or not
xema logs bff

Restarting it

sudo xema restart bff                       # on this server
sudo xema node restart bff --node <server>  # on another one

Restarting drops the calls it is carrying.

Moving the active BFF

sudo xema bff failover                  # the only other BFF
sudo xema bff failover --to <server>    # where there are several

This moves the active BFF to another server that holds the bff role, in seconds. Calls carry on, and agents' connections move with it. If the other server is not ready to take over, the active one stays where it was. --yes skips the question.