Разработка бизнес-логики¶
В этой главе описывается реализация бизнес-логики в 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 вручную, либо автоматически с заданным интервалом, либо по расписанию.
Подробнее о возможностях реализации бизнес-логики рассказывается на страницах этого раздела.