Разработка
AppMaster.io

Что такое бизнес-процесс и как его создать?

Каждое приложение имеет бизнес-логику, своеобразный поток действий и операций, который определяет будущий функционал приложения.

Большой частью бизнес-логики являются бизнес-процессы. Что это такое и как их создавать — разбираемся в этой статье.

Что такое бизнес-логика?

Прежде чем рассмотреть бизнес-процессы в отдельности, давайте разберем понятие бизнес-логики.

Бизнес-логика — набор процессов, которые определяют последовательность выполнения операций в приложении, отвечают за обработку данных и устанавливают правила взаимодействия между пользователем и приложением.

Работу бизнес-логики можно рассмотреть на простом примере регистрации пассажира на рейс администратором, который вводит информацию в базу данных.

Здесь администратор выбирает нужный рейс, заполняет форму для регистрации пассажира, вводя необходимые данные. В это время система проверяет авторизован ли пользователь и имеет ли права на выполнение этих действий. Затем программа обрабатывает полученную информацию, проверяет соответствие данных установленному формату, получает данные из базы о полете и пассажире, оповещает, если информация указана неверно, отправляет данные в базу с командой внести изменения.

Как результат данные обновляются и в списке появляется новый пассажир.

Описанные в примере действия, их последовательность, обмен данными, их обработка, запросы и ответы — за все эти операции отвечает бизнес-логика.

Бизнес-логика — неотъемлемый компонент архитектуры приложения. Как уточнялось выше, бизнес-логика состоит из бизнес-процессов. Давайте рассмотрим их подробнее.

Что такое бизнес-процесс?

Бизнес-процессы представляют собой последовательность действий для реализации функционала приложения.

Бизнес-процессы в AppMaster.io

Как и при классическом подходе, в AppMaster.io бизнес-логика строится из бизнес-процессов. БП предназначены для работы с данными: поиск, создание, удаление, обновление, изменение и отвечают за выполнение любых действий в приложении.

На платформе есть специальный редактор для работы с бизнес-процессами. Для создания БП используются блоки.

В каждом бизнес-процессе автоматически создаются замыкающие блоки Start и End. Они могут иметь переменные: выходные для стартового блока и входные для конечного.

У каждого блока БП, за исключением блоков start и end, есть два типа коннекторов — точек подключения (входные In, выходные Out):

  • flow_connection — коннектор потока выполнения, описывает очередь блоков, какой за каким выполнять;
  • var_connection — коннектор переменных, описывает какую переменную откуда брать.

Бизнес-процессы делятся на три категории:

  • Бизнес-процессы бэкенда — компилируются в исходный код на языке Go, выполняются в серверном приложении.
  • Бизнес-процессы для веб-приложений — доставляются в веб-приложение, обрабатываются языком JavaScript на стороне браузера.
  • Бизнес-процессы для мобильных приложений — доставляются в мобильные приложение и выполняются в них, обрабатываются нативными инструментами мобильных платформ.

Внутри каждого типа приложения есть определенный набор бизнес-процессов.

В бэкенде — обычные бизнес-процессы, имеют блоки Start и End. Могут поддерживать асинхронный вызов и режим транзакций.

В веб и мобильных приложениях существуют следующие типы БП:

  • БП компонентов — задаются в каждом компоненте, странице, виджете или экране. Зависят от компонента, для которого они создаются. Не имеют блока End. На входе имеют один или несколько блоков-триггеров, которые начинают выполнение при наступлении заданного события, например, нажатия кнопки.
  • БП уровня приложения — задаются для всего приложения, практически идентичны БП компонентов за исключением того, что имеют контекст приложения и имеют только один триггерный блок — начальный.
  • Generic БП — задаются на уровне приложения, однако созданы чтобы в них была вынесена часто используемая логика из всех других бизнес-процессов. Эти БП имеют блоки Start и End и ведут себя аналогично серверным бизнес-процессам, но не имеют режима транзакции.

Как создать бизнес-процесс на AppMaster.io?

Для работы с бизнес-процессами на платформе AppMaster.io существует редактор бизнес-процессов.

Все редакторы бизнес-процессов устроены по одному принципу и имеют только несколько отличий в зависимости от типа бизнес-процесса (об этом мы писали выше).

Редактор БП состоит из:

  • левой панели со списком доступных блоков;
  • рабочей области в центре;
  • правой панели с настройками выбранного элемента (блока).

Чтобы добавить блок бизнес-процесса, нужно перетащить элемент с левой панели на рабочую область.

В настройках каждого БП можно активировать режим транзакции. В таком случае БП приобретает свойство атомарности: БП либо выполняется полностью, либо не выполняется ни один из его отдельных блоков. Если в каком-то блоке произойдет ошибка, то будет выполнен откат всех изменений, вызванных предыдущими блоками бизнес-процесса.

На левой панели блоки распределены в группы по видам:

  • Logic — логика. Отвечают за изменение потока процесса, реализацию системных функций, сравнение переменных и преобразование типов данных.
  • Functions — функции. Позволяют выполнять различные типы операций с разными типами данных, такие как округление чисел, разбиение строк, чтение файлов и многое другое.
  • Model Functions — функции для работы с моделями базы данных. Позволяют выполнять операции с моделями данных, такие как создание, поиск, редактирование и удаление.
  • User-Created BPs — пользовательские бизнес-процессы. Вызывает любой из пользовательских бизнес-процессов, который вы создали.
  • Global variables — глобальные переменные. Переменные, которые используются в рамках всего проекта. Отображается при наличии глобальных переменных.
  • Variables — переменные. Задает и сохраняет переменные, которые будут использоваться в бизнес-процессе.
  • External API Requests — внешние API-запросы. Запуск любого ранее созданного запроса к внешнему API.
  • Models — модели. Устанавливают и сохраняют переменные моделей данных, которые будут использоваться в бизнес-процессе.
  • Enums — перечисление. Устанавливает и сохраняет переменные с типом перечисление, которые будут использоваться в бизнес-процессе.
  • Auth — блоки, добавляемые модулем авторизации Auth.

При добавлении того или иного модуля в проект, в списке блоков будет создан раздел с бизнес-процессами установленного модуля.

При помощи правой панели настроек можно добавлять кастомные переменные, задавать дефолтные значения существующим, настраивать блоки.

Чтобы добавить переменные, необходимо выделить нужный блок бизнес-процесса и нажать на иконку плюс на панели Variables.

Различают локальные и глобальные переменные.

Локальные переменные доступны для всех типов бизнес-процессов. Локальные переменные существуют в пределах одного БП. После выполнения БП локальные переменные уничтожаются, освобождая оперативную память приложения.

Глобальные переменные предназначены для использования во всем приложении. Они объявляются заранее и доступны в любом бизнес-процессе. Они хранят данные в течение жизненного цикла приложения.

Локальные и глобальные переменные могут иметь любой тип: от простых int и string, до массивов моделей и энамов. Хранятся исключительно в оперативной памяти.

Пример бизнес-процесса

Рассмотрим пример создания БП на примере редактора бизнес-процессов бэкенда. Процесс будет выполнять регистрацию пассажира на рейс.

*Все данные уже были введены в базу данных. Ниже описано только создание бизнес-процесса. Полный урок доступен тут.

Чтобы создать новый процесс, перейдите в раздел Business Logic и нажмите на Create business process.

В открывшемся окне введите название процесса, можно заполнить поле description и при необходимости включить режим транзакции.

По умолчанию в нашем БП уже есть два блока: Start и End.

В блок Start мы добавляем несколько выходных переменных. Для этого кликните на нужный блок и в правой части экрана напротив Variables нажмите иконку +.

В новом окне введите название переменной, укажите ее тип и задайте дефолтное значение, если необходимо.

Добавляем несколько переменных, которые нужны нам для регистрации пассажира на рейс:

  • ID рейса — flight_id;
  • Данные о пассажире — passenger;
  • Место — seat;
  • Check-in статус — status.

Далее нам нужно получить ID рейса из базы данных. Для этого мы добавляем блок GetOneFlight.

Между блоками мы устанавливаем связи, для этого достаточно протянуть стрелку от одного блока к другому. Здесь голубая линия выполняет функцию связи потока между блоками, указывая порядок их выполнения. Цветные линии — связи данных, которые устанавливаются между переменными и указывают на то, откуда брать и куда передавать данные в рамках БП.

ID рейса получено, теперь нам нужно получить данные о пассажире и удостовериться, что такой человек есть в базе данных.

Добавляем блок Expand Passenger и получаем ID пассажира. При помощи блока GetOne Passenger проверяем запись о нем в базе данных.

Теперь нам нужно создать саму регистрацию. Для этого используем блок Make Registration. Устанавливаем связи между блоками.

Теперь необходимо сохранить запись о регистрации в базе данных, так как до этого мы создали ее только в рамках бизнес-процесса. Добавляем блок Create Registration, устанавливаем связи и завершаем бизнес-процесс.

Созданный бизнес-процесс отвечает за выполнение следующих действий: поиск данных о рейсе в базе данных, поиск и получение ID пассажира, создание и сохранение регистрации.

На нашем YouTube-канале вы можете пройти полный курс AppMaster.io 101 и научиться работать с no-code платформой. Так легко и наглядно при помощи блоков и визуальных связей на платформе AppMaster.io можно собирать бизнес-процессы любой сложности без написания кода. Попробуйте создать свой бизнес-процесс и приложение, зарегистрировавшись на пробный период на платформе.

0
Комментарии
Читать все 0 комментариев
null