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