TDG Documentation portal logo
Помощь

Разработка бизнес-логики

В этой главе описывается реализация бизнес-логики в TDG.

Бизнес-логика реализуется в TDG с помощью пользовательского кода на Lua - скриптовом языке, который нативно поддерживается в Tarantool. Единица бизнес-логики - исполняемая Lua-функция, загруженная в TDG - является аналогом хранимой процедуры в СУБД.

TDG расширяет возможности Tarantool по работе с пользовательским кодом, упрощая разработку бизнес-логики. В частности, доступны следующие возможности:

  • загрузка пользовательского кода как части конфигурации TDG;
  • исполнение пользовательского кода на узлах TDG с ролью Runner
    • отдельно от хранилища данных.
  • автоматическая генерация API для вызова пользовательских функций извне;
  • автоматическая обработка входящих и исходящих данных с помощью input- и output-процессоров;
  • выполнение задач по расписанию.
  • собственные Lua-модули для работы с хранилищем TDG, доступа к базам данных (ODBC), работы с JSON и другие;

Lua-код, реализующий бизнес-логику решения TDG, можно разделить на следующие виды:

  • Сервис-функции (services) предназначены для вызова внешними системами или пользователями через API: GraphQL, REST API или iproto.
  • Процессоры входящих и исходящих данных (input processor и output processor) автоматически выполняют пользовательский код при поступлении нового объекта через выбранный коннектор или отправке в него.
  • Задачи (tasks) вызываются изнутри TDG вручную, либо автоматически с заданным интервалом, либо по расписанию.

Подробнее о возможностях реализации бизнес-логики рассказывается на страницах этого раздела.