1.2.2.1. Архитектура ВPM

В платформе Arta Synergy реализован движок бизнес процессов Arta BPM, который дает возможность аналитику настраивать и запускать бизнес процессы в runtime режиме без деплоя и перезапуска сервера приложений.

Определим термины, которые используются в Arta BPM:

  • маршрут (route) представляет собой совокупность действий, выполняемых в опредленном порядке, с заданной логикой для решения задачи бизнес процесса
  • этап маршрута (item) - составная часть маршрута. Маршрут состоит из последовательных этапов, по завершению которых маршрут считается завершенным
  • подэтап маршрута (subitem) - часть этапа маршрута с заданной логикой. Этап может состоять из нескольких параллельных подэтапов
  • тип процесса определяет логику подэтапа маршрута
_images/bpm_structure.png

Схема маршрута

Подэтап маршрута определяется типом процесса, например, согласование, работа, утверждение, блокирующий процесс и прочие. В Arta BPM предоставляются из коробки 24 типа процесса.

Процессы делятся по следующим признакам:

По назначению:

  • стандартные процессы, доступные всем пользователям
  • специальные процессы, настраиваемые synergy developer

По поведению:

  • альтернативные, результат которых вляет на выполнение маршрута
  • не альтернативные

По типу выполнения:

  • автоматически выполняющиеся
  • ожидающие действий пользователя

Подэтапов может быть несколько в этапе. Этап считается завершенным, когда все его подэтапы завершены. Маршрут завершится, когда последний его этап будет завершен.

_images/bpm_logic.png

Логика выполнения маршрута

Главная логика маршрута в запуске его этапов и ожидании сигнала от них. Этап запускает подэтапы, которые выполняют логику свойственную типу процесса подэтапа. Этап также переходит в состояние ожидания сигналов от подэтапов. При получении сигнала этап проверяет, все ли подэтапы завершены, если да, то завершается сам и посылает сигнал маршруту о завершении. Маршрут, получив сигнал, проверяет, есть ли следующие этапы для запуска, если да, то запускает следующий в очереди этап, иначе завершается.