Все серверы используют одну и ту же базу данных и общий каталог. Общий каталог применяется для обработки протоколов и нескольких других каталогов, а именно: logs, var/email, var/plugins и var/repository. Каждый сервер также независимо обслуживает некоторую информацию о конфигурации, например порты и хосты. База данных служит для обработки информации о конфигурации, данных времени выполнения и т.д.
Поскольку серверы совместно используют базу данных, все серверы работают с одним и тем же интервалом.
Некоторые свойства конфигурации остаются на сервере, например информация о базе данных и о соединении JMS. Конфигурация базы данных обрабатывается во время установки продукта; никакой дополнительной настройки по окончании установки не требуется.
Потоки операций состоят из операций. Операции могут выполняться последовательно, параллельно или смешанно. Обычный поток операций может состоять из нескольких последовательных операций, например:
В соединениях JMS агенты могут настраиваться несколькими способами:
Все серверы постоянно проводят опрос на предмет ожидающих потоков операций, поэтому инициализировать поток операций может любой сервер. Сервер, захватывающий этот поток операций, выполняет следующие задачи:
По окончании работы агент отправляет ответное сообщение по JMS. Сообщение будет записано в базу данных (одним из серверов) и будет запущена следующая операция (одним из серверов). Сервер, запустивший операцию B, выполняет те же действия, что описаны выше.
В описанном здесь простом потоке операций все операции могут выполняться как одним сервером, так и разными (возможно и сочетание). Конечно, это было бы справедливо и в случае, если этот поток операций состоял бы из трех параллельных операций.
Поток операций приложения обслуживается единственной записью базы данных (только одна нить обрабатывает поток операций в каждый момент).
Во время обработки приложений сбои команд отмечаются в потоке операций. За обработку ошибок отвечает автор приложения. Откат компонентов может обрабатываться с помощью команд/действий отката. Откат - в данном контексте - означает повторную установку более ранней версии компонента.
Если в то время, как агент выполняет команду, на сервере происходит сбой, то смешанная конфигурация JMS назначает поток операций другому серверу.
Если во время выполнения команды агент выходит из строя или каким-либо иным образом исчезает (при этом сбой на шаге выполнения не означает сбоя самого агента), то сервер предполагает, что команда по-прежнему выполняется; автоматический тайм-аут отсутствует. Обычно назначать интервал тайм-аута затруднительно и непрактично.