Low Code Actors
Сервис для написания сервера без написания кода
7bits, 2023
Разработка
QA
Дизайн
Разработка
QA
Дизайн
Идея
Low Code Actors — сервис для создания серверов любой сложности на основе акторной модели с использованием готовых компонентов, т.е. без написания кода.
В 7bits существует и развивается фреймворк для написания серверной части приложений — SmartActors.
Особенности этого фреймворка позволяют переиспользовать уже написанный код. На этой почве возникла идея сделать low-code платформу, которая при масштабировании может из low-code перейти в no-code и существенно ускорить разработку серверной части приложений.
Решение
Задачи
Глобально мы стремимся к созданию серверов по полному циклу.
Основные термины
Спроектировать представление построения функциональностей в удобном графическом виде для удобной визуализации алгоритма.
Визуализировать переходы на другие подцепи, цепи, для того, чтобы можно было переиспользовать готовые решения.
Удобное ведение документации в общем стиле сразу же во время создания сущностей. Это позволит нам, при правильном оформлении, делать полнотекстовый поиск по компонентам кода.
Вся система должна делать полный цикл разработки: от написания маленьких функциональностей и объединения в бизнес процессы до запуска конфигураций серверов.
Проект
Репозиторий на git
Компонент
Актор, объект, правило, цепочка, что-то, чем можно заполнить функцию
Фича
Отдельная часть функциональности сервера
Цепочка
Последовательность акторов для обработки сообщения
Пакет данных
Набор данных, который идет по цепочке акторов
Маппинг
Связь полей пакета с методами актора
Актор
Вычислительная сущность.
Получает, обрабатывает сообщения, результаты кладёт в пакет
Метод актора
Одна из функциональностей актора
Поля пакета
Структурированный набор данных
Как работает сервис?
Создание проекта
Создание фичи
Маппинг полей
Коммит, пуш
Настройка цепочек
Наполнение фичи компонентами
Создание компонентов фичи
Для создания практически любого компонента фичи нужно заполнить форму. Форм в приложении много, но все они выполнены в единой стилистике, что добавляет предсказуемости в интерфейс.
Редактор цепочек
Общее пространство
Любая функциональность в акторной модели — это набор блоков (акторов), каждый из которых по-своему модифицирует набор исходных данных, чтобы в итоге получить нужную информацию и отправить её в ответ.
Работа с цепочками происходит в общем пространстве, где находятся сразу все цепочки фичи.
Создание цепочек
Создание новой цепочки также происходит в общей рабочей области. Это помогает построить непрерывный процесс работы с цепочками в фиче, даже если каких-то цепочек не хватает.
1. Вводим основную информацию о цепочке
2. Заполняем структуру пакета данных, сохраняем
3. Цепочка создана и готова к наполнению новыми объектами
Добавление компонентов
После того, как мы создали цепочку, её нужно наполнить блоками для обработки сообщения. Каждый блок— объект актора, т.е. экземпляр. Каждый объект обладает методами для работы с полями пакета данных.
Фиксируем изменения
Сервис тесно взаимодействует с системой управления версиями Git, в котором хранятся все артефакты.
И как только мы закончили работу над цепочкой, добавили все нужные объекты и элементы управления, нужно добавить завершающий элемент цепочки, который используется для фиксирования изменений (commit).
Сохранение артефактов
После того, как мы закончили работу с функциональностью и она готова к поставке в репозиторий, мы формируем merge request. После согласования функциональность попадает в репозиторий.
Что в итоге?
Мы сделали первую часть no-code сервиса.
Сейчас функциональность Low Code Actors позволяет с легкостью наполнять новыми методами библиотеку SmartActors.
Также появилась возможность перенести уже созданные компоненты из библиотеки в наш сервис для однотипности кода внутри и использования при построении
бизнес-логики в no-code.
Следующую часть сервиса планируется реализовать к ноябрю 2024 г.