Редактор бизнес-процессов
Каждый бизнес-процесс - это небольшой фрагмент логики вашего бэкенд-приложения. Бизнес-процессы предназначены для работы с данными: поиск, получение, обновление, удаление, мутация и делают все действия внутри бэкенда частью вашего проекта. Все основные бизнес-процессы для каждой модели данных создаются автоматически и называются системными BP. Системные БП нельзя редактировать или удалять, также они не видны в общем списке бизнес-процессов. Но вы можете использовать системные BP в конечных точках и вызывать их из своих бизнес-процессов.
Для создания нового бизнес-процесса перейдите в Конструктор бизнес-процессов и нажмите кнопку Новый бизнес-процесс. Введите новое имя и описание БП (необязательно) и нажмите кнопку создать.
Режим транзакций может быть активирован в настройках каждого бизнес-процесса. В случае активации, БП приобретает свойство атомарности. Это означает, что БП либо выполняется полностью, либо не выполняется ни один из его отдельных блоков. Если в каком-либо блоке произойдет ошибка, то все изменения, вызванные предыдущими блоками бизнес-процесса, будут откачены.
Редактор бизнес-процессов состоит из левой панели, холста в центре и правой панели с настройками выбранного объекта. Для создания блока бизнес-процесса перетащите элемент из левой панели на холст.
Каждый блок на холсте имеет два типа соединений и два типа коннекторов. Соединители могут быть входящими (inbound) или исходящими (outbound). Все входящие коннекторы расположены в левой части блока, все исходящие коннекторы расположены в правой части блока. Соединения потока представляют собой непрерывный поток действий: порядок выполнения блоков. Соединители потока обычно располагаются в верхней части тела блока. Переменные соединения представляют передачу данных между блоками: где получить или передать данные в рамках бизнес-процесса. Каждый соединитель переменных имеет свой собственный тип данных или может поддерживать несколько типов, редактор автоматически контролирует соответствие типов.
Блоки Start и End создаются автоматически и не могут быть удалены. И начальный, и конечный блоки могут иметь переменные - входные для начального блока и выходные для конечного блока. При необходимости эти переменные должны быть созданы вручную через правую панель. Переменные начального и конечного блоков используются для получения и передачи данных через конечные точки.
В общем случае каждый блок должен быть соединен с потоковым соединением, чтобы сформировать цепочку блоков от начального блока до конечного. Все несогласованные блоки будут исключены из генерации кода. Конечный блок будет выполнен независимо от того, есть ли у него соединение, но настоятельно рекомендуется правильно соединять каждый блок потоковым соединением.
Существует специальный тип блоков - блоки переменных, которые предназначены для того, чтобы быть глобальными переменными и хранить данные во время жизни бизнес-процесса. Эти блоки не имеют коннекторов потока и предоставляют только свое значение через соединения переменных. Для обновления значения этих блоков необходимо использовать блок SetValue .
Несмотря на то, что на данном этапе редактор бизнес-процессов может показаться сложным или запутанным, это очень мощный и логичный инструмент для построения любой бизнес-логики в вашем приложении.