Сущности ========= Сущности в ECOS Process делятся на базовые (Core) и относящиеся непосредственно к кейс-менеджменту (Case Management Engine). В будущем будет возможность расширить микросервис другими реализациями (например - bpmn). .. image:: _static/Process_engine_entities.png :width: 600 :align: center Базовые --------- **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** (выполнение простой гибко настраиваемой пользовательской задачи)