Сущности
Сущности в ECOS Process делятся на базовые (Core) и относящиеся непосредственно к кейс-менеджменту (Case Management Engine). В будущем будет возможность расширить микросервис другими реализациями (например - bpmn).
Базовые
ProcessDefinition - описание процесса. Будет общим между инстансами процесса с учетом версионирования. При создании инстанса процесса сохраняется ссылка на текущую ревизию описания процесса и Definition меняется только если явно пришла команда на изменение (изменение базового Definition не будет автоматически менять все запущенные процессы). ProcessDefinition содержит список описаний активностей (ActivityDefinition) и список уже запущенных активностей (ActivityInstance), которые будут копироваться во все инстансы запускаемых процессов при старте.
ProcessInstance - инстанс процесса. Хранит свое состояние и состояние всех дочерних активностей.
ActivityDefinition - описание активности
ActivityInstance - инстанс активности
SentryDefinition - описание Sentry, которое включает в себя
event - идентификатор события, за которым следит Sentry
evaluator - условие, по которому Sentry либо сработает либо нет при возникновении события event
command - команда, которая отправляется на выполнение если сработала Sentry
Role - роль процесса. Может быть статической и динамической
Evaluator - получив на вход событие возвращает true или false
Command - команда на выполнение некоторого действия (сменить статус активности, выставить переменную и др.)
Case Management
Stage - контейнер для других активностей
Action - некоторое действие, которое не требует участия человека
Task - задача, которая делится на ProcessTask (выполнение бизнес-процесса) и User Task (выполнение простой гибко настраиваемой пользовательской задачи)