Сущности

Сущности в ECOS Process делятся на базовые (Core) и относящиеся непосредственно к кейс-менеджменту (Case Management Engine). В будущем будет возможность расширить микросервис другими реализациями (например - bpmn).

general/process/_static/Process_engine_entities.png

Базовые

ProcessDefinition - описание процесса. Будет общим между инстансами процесса с учетом версионирования. При создании инстанса процесса сохраняется ссылка на текущую ревизию описания процесса и Definition меняется только если явно пришла команда на изменение (изменение базового Definition не будет автоматически менять все запущенные процессы). ProcessDefinition содержит список описаний активностей (ActivityDefinition) и список уже запущенных активностей (ActivityInstance), которые будут копироваться во все инстансы запускаемых процессов при старте.

ProcessInstance - инстанс процесса. Хранит свое состояние и состояние всех дочерних активностей.

ActivityDefinition - описание активности

ActivityInstance - инстанс активности

SentryDefinition - описание Sentry, которое включает в себя

  1. event - идентификатор события, за которым следит Sentry

  2. evaluator - условие, по которому Sentry либо сработает либо нет при возникновении события event

  3. command - команда, которая отправляется на выполнение если сработала Sentry

Role - роль процесса. Может быть статической и динамической

Evaluator - получив на вход событие возвращает true или false

Command - команда на выполнение некоторого действия (сменить статус активности, выставить переменную и др.)

Case Management

Stage - контейнер для других активностей

Action - некоторое действие, которое не требует участия человека

Task - задача, которая делится на ProcessTask (выполнение бизнес-процесса) и User Task (выполнение простой гибко настраиваемой пользовательской задачи)