Сервис управления процессами
Сервис управления бизнес-процессами (BPM) исполняет бизнес-процессы, которые были созданы с помощью конструктора процессов или автоматически сгенерированы отдельными приложениями системы.
Бизнес-процесс в системе электронного документооборота – это совокупность этапов, заданий, событий и условий их наступления, которые исполняются по предварительно настроенному сценарию (маршруту). Результат обработки различных этапов может запускать каскад подчинённых процессов или завершать текущий.
Сервис управления бизнес-процессами реализует функции BPM (Business Process Management) подсистемы: распределяет приоритеты выполняемых процессов, запускает подпроцессы и контролирует их синхронизацию, исполняет отдельные функции процессов, маршрутизирует задания, вносит изменения в документы, обеспечивает взаимодействие с внешними системами через функции шлюзов и пр.
Бизнес-процессы платформы предназначены для автоматизации действий, необходимых для выполнения какой-либо функциональной бизнес-задачи. Через построение бизнес-процесса в системе электронного документооборота можно настроить сложные сценарии маршрутизации документов и заданий, взаимодействие с внешними приложениями и сервисами, обработку событий как связанных с действиями пользователей, так и инициируемых системой.
Один бизнес-процесс может обрабатывать несколько документов, автоматически создавать новые документы, обеспечивать передачу данных в другие объекты системы при возникновении заданных событий, рассылать различные задания и уведомления и т.д.
На стороне сервиса процесс представляет собой последовательность обработки этапов, которые могут содержать следующие элементы
- Функции организации логики процесса на высоком уровне: функции для инициализации активностей пользователя и системы, логика последовательности обработки – ветвление, объединение, декомпозиция (запуск подпроцессов для организации иерархически связанных процессов).
- Функции, которые позволяют описывать алгоритм обработки: работа со счётчиками и коллекциями, операторы сравнения, обработка цикла, синхронизация процессов во времени и пр.
- Низкоуровневые функции, ориентированные на работу с конкретными бизнес-объектами и их данными, а также функции обработки специфических для системы событий.
- Функции шлюзов для организации взаимодействия с внешними системами (обеспечивают работу шлюзов к файловому хранилищу, электронной почте, 1С, SAP и др.)
- Инструменты для программного расширения стандартного набора функций и для реализации разнообразных сценариев интеграции с другими приложениями.
Сервис управления бизнес-процессами ведёт групповую обработку процессов: при наличии в системе нескольких активных процессов некоторые из них будут обрабатываться параллельно (одновременно). Процессы, которые обрабатываются параллельно друг другу, образуют группу обрабатываемых процессов. Пока сервис не завершит обработку любого из процессов группы, остальные активные процессы, не вошедшие в группу, ожидают в очереди процессов.
Число процессов в группе устанавливается в настройках сервиса Workflow. Процессы в группе объединяет только то, что в какой-то момент времени они одновременно обрабатываются сервисом. Время начала и окончания обработки для каждого из этих процессов индивидуальны и никак не связаны с аналогичными параметрами остальных процессов группы. Таким образом состав группы обрабатываемых процессов динамически изменяется.
Сервис осуществляет поиск в системе всех активных в текущий момент времени процессов, формирует из них очередь на обработку, исполняет функции активных процессов согласно приоритетам и завершает процессы.
Горизонтальное масштабирование сервиса управления бизнес-процессами, основной задачей которого является распределение вычислительной нагрузки обработки процессов на несколько физических серверов, реализуется с использованием кластеризации. Кластер сервиса управления бизнес-процессами организуется путём инсталляции нескольких независимых экземпляров сервиса управления процессами. Из них один выделяется как основной – именно он будет управлять работой остальных узлов и распределять между ними нагрузку, а также отвечать за запуск новых экземпляров процессов.
Для каждого узла можно задать (через Консоль Настройки Docsvision) численную долю от общего количества процессов, которую он будет обрабатывать. Процессы распределяются по узлам целиком – то есть, каждый процесс от начала до конца выполняется на одном узле кластера.
Кластер Workflow также позволяет частично решить задачи отказоустойчивости – при выходе из строя одного из серверов, входящих в состав кластера (за исключением основного), его нагрузку примут на себя оставшиеся сервера, и обработка процессов не будет приостановлена. Так же для поддержания высокой производительности системы и скорости обработки процессов необходимо контролировать достаточность ресурсов серверов приложений или базы данных.
Кластеризация сервиса управления процессами является его неотъемлемым свойством и не требует установки дополнительных модулей. Возможность использования кластеризации регулируется лицензионной политикой.