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