О клиенте
Клиент — продуктовая компания-разработчик лоу-код платформы нового поколения для корпоративной среды. Целевая аудитория продукта — компании, которым нужно быстро создавать бизнес-приложения, но при этом сохранять контроль над производительностью, целостностью данных и стоимостью инфраструктуры.
Клиент хотел объединить скорость лоу-код разработки с возможностями профессиональных инженерных инструментов. Платформа должна была поддерживать не только простую настройку, но и сложную бизнес-логику, отладку, работу с большими объемами данных и гибкие варианты установки — в облаке или в инфраструктуре заказчика.
- Регион: Международный рынок
- Индустрия: Корпоративное ПО / большие данные
- Тип проекта: Высоконагруженная лоу-код платформа
Задача
Клиенту нужно было создать платформу, которая выдерживает корпоративные нагрузки и при этом остается удобной для моделирования приложений.
Основные сложности проекта включали:
- хранение и обработку миллиардов записей без просадок производительности;
- надежное хранение критичных данных — финансовых операций, ролей и прав доступа — и отдельную обработку больших объемов слабоструктурированной информации;
- создание среды моделирования для сложной бизнес-логики, а не просто конструктора форм из готовых блоков;
- разработку среды разработки, отладчика и языка описания бизнес-логики
- автоматическую генерацию интерфейсов на основе схем данных и бизнес-процессов;
- перенос исторических данных в облачное хранилище без потери возможности выполнять аналитические запросы;
- поддержку развертывания платформы как в облаке, так и в инфраструктуре заказчика.
Краткий обзор проекта
Мы разработали высоконагруженную лоу-код платформу для корпоративных приложений и больших данных.
В основе решения — модельный подход: команды описывают схемы данных, бизнес-процессы и правила работы приложения, а платформа использует эти модели для генерации интерфейсов и выполнения бизнес-логики.
Архитектура разделяла разные типы данных. MS SQL Server отвечал за транзакционные данные: пользователей, роли, права доступа, финансовые операции и другие критичные сущности. MongoDB использовалась для больших массивов данных и масштабировалась за счет распределения данных по сегментам. Исторические данные можно было переносить в AWS S3 или Google Cloud Storage и запрашивать через AWS Athena.
Такой подход позволил совместить скорость лоу-код разработки с инженерными возможностями, которые нужны крупным корпоративным системам.
Решение
Компания СКЭНД разработала платформу, которая помогала создавать корпоративные приложения через моделирование данных, процессов и бизнес-логики.
Пользователь описывал структуру данных и правила работы системы, а платформа автоматически формировала интерфейсы: таблицы, древовидные таблицы, графики, интерактивные элементы и сложные формы. Интерфейсы строились на ExtJS и React и подходили для корпоративных приложений с большим количеством данных и сложными сценариями работы.
Для описания бизнес-логики команда реализовала собственный DSL — предметно-ориентированный язык высокого уровня. Он позволял задавать правила в терминах модели, но не требовал писать код на каком-либо языке программирования. Для сложных сценариев в платформу были встроены среда разработки и отладчик.
Хранение данных было построено по гибридной схеме:
- MS SQL Server хранит транзакционные данные, роли, права доступа и финансовые операции;
- MongoDB с распределением данных по сегментам обрабатывает большие наборы данных;
- AWS S3 и Google Cloud Storage используются для долгосрочного хранения исторических данных;
- AWS Athena позволяет выполнять SQL-запросы к JSON и Apache Parquet в облачном хранилище.
Платформа также поддерживала интеграции через REST, JSON и WebServices API, а также импорт данных из Dropbox, Google Drive и OneDrive.
Ключевые возможности
- лоу-код моделирование данных, процессов и бизнес-логики;
- встроенная среда разработки и отладчик для сложных сценариев;
- собственный DSL для описания бизнес-правил;
- автоматическая генерация интерфейсов на основе схем данных и процессов;
- поддержка ExtJS и React для построения корпоративных веб-интерфейсов;
- сложные элементы интерфейса: древовидные таблицы, обычные таблицы, графики и интерактивная визуализация;
- MS SQL Server для транзакционных данных, пользователей, прав доступа и финансовых операций;
- MongoDB с распределением данных по сегментам для больших массивов данных;
- облачное хранение исторических данных в AWS S3 и Google Cloud Storage;
- аналитические SQL-запросы к JSON и Apache Parquet через AWS Athena;
- интеграция через REST, JSON и WebServices API;
- импорт данных из Dropbox, Google Drive и OneDrive;
- встроенный механизм описания и выполнения бизнес-процессов.
Технологический стек
- Моделирование приложений: лоу-код движок моделирования, DSL для бизнес-логики;
- Инструменты разработки: Встроенная среда разработки, Отладчик бизнес-логики;
- Реляционная база данных: MS SQL Server;
- Большие данные: MongoDB с распределением данных по сегментам;
- Облачное хранение: AWS S3, Google Cloud Storage;
- Аналитика: AWS Athena;
- Форматы данных: JSON, Apache Parquet;
- Интерфейсы: ExtJS, React;
- Интеграции: REST, JSON, WebServices API, Dropbox, Google Drive, OneDrive.
Результаты
Клиент получил лоу-код платформу для корпоративных приложений, которая сочетала быстрое моделирование, профессиональные инструменты разработки и работу с большими объемами данных.
Платформа помогала командам создавать сложные бизнес-приложения за недели, а не месяцы. Автоматическая генерация интерфейсов сокращала ручную разработку, а DSL позволял описывать бизнес-логики без перехода к полноценному программированию.
Проект дал несколько важных результатов:
- поддержка миллиардов записей для корпоративных приложений с большими данными;
- сокращение сроков разработки за счет моделирования, DSL и автоматической генерации интерфейсов;
- надежная работа с критичными транзакционными данными через MS SQL Server;
- гибкая обработка больших массивов данных через MongoDB;
- снижение затрат на хранение исторических данных за счет AWS S3, Google Cloud Storage и AWS Athena;
- поддержка сложных интерфейсов для корпоративных пользователей;
- возможность развернуть платформу в облаке или в инфраструктуре заказчика.