Уровень ресурсов
Назначение и роль
Уровень ресурсов обеспечивает надежное хранение, обработку и доступ ко всей информации ПО «САРУС+», включая:
– структурированные данные (атрибуты изделий, иерархические структуры данных (BOM), метаданные);
– бинарные данные (CAx-файлы, документы, медиа);
– историю изменений (версионирование, аудит действий).
Ключевые требования:
– масштабируемость — поддержка увеличения объема данных и количества пользователей;
– производительность — высокая скорость выполнения сложных запросов или большое количество одновременных обращений;
– отказоустойчивость — репликация и резервирование;
– безопасность — шифрование, ролевой доступ.
Технологическая платформа САРУС
Технологическая платформа САРУС выполняет функции:
– СУБД;
– управление моделью данных системы;
– базовое REST-API для связи с СУБД и базовыми действиями с объектами и данными с системой;
– управление организационной структурой и правами доступа;
– управление бизнес-процессами;
– геометрические построения;
– визуализация объектов в 3D сцене.
Технологическая платформа САРУС взаимодействует с уровнем бизнес-логики по протоколам odbc, http и через API фреймворка.
In-Memory Database (IMDB)
In-Memory Database (IMDB) — это высокопроизводительная база данных, хранящая информацию оперативно в RAM, а не на диске. IMDB применяется в системе для ускорения обработки часто запрашиваемых данных (кеш метаданных, справочников, сессий пользователей).
IMDB взаимодействует с веб-уровнем и уровнем бизнес-логики по протоколам redis.
Объектное хранилище S3
Объектное хранилище — это масштабируемая система хранения данных, где информация организована в виде объектов (файлы + метаданные) вместо классической иерархии файловых систем. Протокол S3 (Simple Storage Service) — стандарт де-факто для облачных и локальных хранилищ, обеспечивающий:
– масштабируемость (петабайты данных);
– долговременное хранение (архивы, резервные копии);
– высокую доступность (репликация между зонами).
Объектное хранилище взаимодействует с веб-уровнем и уровнем бизнес-логики.
Уровень бизнес-логики
Назначение и роль
Уровень бизнес-логики является ядром ПО «САРУС+» и обеспечивает:
– обработку данных;
– выполнение основных функций и процессов, связанных с управлением данными;
– координацию и взаимодействие между другими уровнями.
Ключевые характеристики:
– модульность (микросервисы);
– масштабируемость (горизонтальное масштабирование).
Микросервис middleware-backend
Содержит в своем составе 2 модуля: middleware-index, middleware-server.
Основные функции модулей:
– получение и предоставление данных локализации (словарей) — сбор и передача переводов интерфейсных элементов для поддержки многоязычного интерфейса;
– предоставление справочника профессий — выдача списка доступных профессий или ролей пользователя в системе (например, инженер, технолог, администратор и т.д.);
– формирование унифицированного ответа — структурирование данных в формате, удобном для фронтенда.
Требования:
– высокая скорость отклика при предоставлении данных.
Зависимости:
– технологическая платформа САРУС – основной источник данных.
Микросервис msa-auth
Основные функции:
– использование API технологической платформы САРУС для аутентификации пользователей — проверка подлинности учетных данных (логин/пароль, токены и др.);
– использование API технологической платформы САРУС для авторизации пользователей — определение прав доступа и разрешений после успешной аутентификации;
– использование API технологической платформы САРУС для создания рабочего стола пользователя — формирование персонализированной среды интерфейса и доступных функциональных модулей на основе ролей и прав пользователя;
– получение cookie пользователя — извлечение идентификатора сессии или другого значения из cookie-данных браузера клиента для идентификации текущего пользователя;
– генерация токена — создание JWT токена для авторизованного пользователя;
– хранение токена и cookie в кэшируемой БД — сохранение сгенерированного токена в in-memory хранилище для последующей проверки и использования в других сервисах;
– установка cookie с токеном — передача токена обратно клиенту в защищённом формате cookie для дальнейшего взаимодействия с другими микросервисами.
Требования:
– обеспечение безопасности при обработке пользовательских данных, cookie и токенов;
– хранение токенов должно быть временным и безопасным;
– совместимость с API Gateway по части передачи, проверки и обновления токенов;
– интеграция с системой мониторинга и логирования для отслеживания событий аутентификации и авторизации.
Зависимости:
– технологическая платформа САРУС – основной источник данных;
– IMDB – распределенное хранилище для хранения токенов и cookie пользователей.
Микросервис msa-cax-manager
Основные функции:
– открытие данных в CAx системе;
– сохранение данных из CAx системы в PLM-систему;
– управление блокировкой объектов, находящихся в загруженном состоянии;
– синхронизация данных между CAx и PLM-системой;
– управление оповещением по изменению состояния загруженных объектов.
Требования:
– обеспечение целостности и согласованности данных в PLM-системе.
Зависимости:
– технологическая платформа САРУС – основной источник данных.
Текущее состояние:
– микросервис находится в стадии разработки и не развернут на предоставленном стенде.
Микросервис msa-datahub
Основные функции:
– получение информации по объектам системы — сбор и агрегация данных о PLM-объектах;
– формирование единой структуры данных — унификация данных от разных источников в стандартный формат для последующего использования;
– поддержка запросов на чтение данных — предоставление REST-API для получения информации о PLM-объектах.
Требования:
– поддержка работы с разнородными источниками данных;
– обеспечение актуальности и целостности собираемых данных;
– высокая производительность обработки запросов на получение информации;
– логирование обращений к данным и ошибок при их получении.
Зависимости:
– технологическая платформа САРУС – основной источник данных;
– msa-datasets-cache – для получения справочных данных.
Микросервис msa-datasets-cache
Основные функции:
– кэширование справочников PLM — хранение и предоставление часто используемых справочных данных из PLM-системы;
– кэширование классов объектов PLM — сохранение структуры и атрибутов классов для ускорения доступа к метаданным;
– обновление кэша при изменении данных в источнике;
– предоставление REST API для получения закэшированных данных внешними сервисами.
Требования:
– поддержка масштабируемого хранения справочников и классов объектов;
– высокая скорость доступа к данным;
– актуальность кэшируемых данных относительно PLM-системы.
Зависимости:
– технологическая платформа САРУС – основной источник данных;
– IMDB – распределенное хранилище для хранения закэшированных справочников и структур PLM.
Микросервис msa-file-storage
Основные функции:
– загрузка файлов — прием и сохранение файлов, связанных с PLM-объектами (документы, чертежи, модели, спецификации и др.);
– хранение файлов — надежное и структурированное хранение загруженных файлов (в распределённом хранилище);
– получение файлов — предоставление доступа к ранее загруженным файлам по идентификатору или ссылке;
– удаление файлов — безопасное удаление файлов из хранилища по запросу.
Требования:
– поддержка различных форматов файлов;
– обеспечение высокой доступности и отказоустойчивости хранилища;
– логирование операций загрузки, получения и удаления файлов;
– возможность масштабирования под увеличение объема хранимых данных;
– поддержка прямых ссылок на файлы.
Зависимости:
– объектное хранилище S3 — это масштабируемая система хранения данных, где информация организована в виде объектов (файлы + метаданные) вместо классической иерархии файловых систем.
Микросервис msa-object-control
Основные функции:
– создание PLM-объектов — добавление новых объектов (изделий, документов, изменений и др.) в PLM-систему;
– изменение PLM-объектов — обновление атрибутов, состояния, состава и других характеристик существующих объектов;
– поддержка валидации данных перед выполнением операций создания/редактирования;
– управление метаданными файлов — хранение и обновление информации о файлах (имя, тип, размер, дата создания, пользователь и т.д.);
– предоставление унифицированного REST API для взаимодействия с другими микросервисами и клиентскими приложениями.
Требования:
– обеспечение целостности и согласованности данных в PLM-системе;
– логирование всех операций создания и изменения PLM-объектов;
– возврат понятных кодов ошибок и сообщений при неудачных операциях.
Зависимости:
– технологическая платформа САРУС – основной источник данных;
– msa-datasets-cache – для получения справочных данных.
Микросервис msa-search
Основные функции:
– поиск PLM-объектов по заданным критериям (название, атрибуты, идентификаторы и др.);
– поддержка фильтрации и сортировки результатов поиска;
– предоставление унифицированного REST API для интеграции с другими микросервисами и клиентскими приложениями.
Требования:
– высокая скорость выполнения поисковых запросов;
– поддержка сложных условий поиска (включая полнотекстовый поиск, фасетный поиск и т.д.);
– актуальность данных относительно PLM-системы (через прямой запрос или кэширование);
– поддержка пагинации и ограничений на объем возвращаемых данных;
– обеспечение безопасности доступа к данным (интеграция с системой авторизации).
Зависимости:
– технологическая платформа САРУС – основной источник данных;
– msa-datasets-cache – для получения справочных данных.
Микросервис msa-token-validation
Основные функции:
– проверка валидности токена, переданного в заголовке запроса;
– получение cookie пользователя из IMDB на основе данных из токена;
– модификация исходящего запроса — внедрение cookie в заголовок запроса перед его отправкой целевому микросервису;
– пропуск запроса к другим микросервисам только при успешной проверке токена.
Требования:
– производительность обработки входящих запросов;
– обеспечение безопасности при работе с токенами и cookie;
– поддержка форматов токенов (JWT);
– интеграция с API Gateway и другими микросервисами;
– логирование несанкционированных попыток доступа;
– возможность расширения под разные типы аутентификации.
Зависимости:
– IMDB – распределенное хранилище для хранения токенов и cookie пользователей.
Блок Композиты
Основные функции:
– геометрические построения для объектов блока Композиты (пакет, СК, слой и пр.);
– сохранение / загрузка объектов блока Композиты в документе;
– визуализация объектов блока Композиты в 3D сцене;
– предоставление специализированных элементов интерфейса для взаимодействия c пользователем в части функционала проектирования и технологической подготовки производства изделий из композитов;
– экспорт данных для промышленного оборудования в стандартных и специализированных форматах.
Веб-уровень
Роль и назначение
Веб-уровень обеспечивает безопасный и производительный доступ пользователей к ПО «САРУС+» через веб-интерфейс и API.
Ключевые функции:
– балансировка нагрузки;
– кеширование;
– безопасность;
– сжатие данных.
Балансировщик нагрузки
Основные функции:
– балансировка нагрузки.
Требования:
– высокая доступность (HA) и отказоустойчивость;
– горизонтальная масштабируемость;
– низкая задержка и высокая пропускная способность;
– логирование, мониторинг и интеграция с системами алертинга.
Зависимости:
– все сервисы уровня бизнес-логики.
Текущее состояние:
– сервис находится в стадии разработки и не развернут на предоставленном стенде.
Веб-сервис mfe-host
Основные функции:
– пользовательский веб-интерфейс;
– просмотрщик CAD-моделей без локальной установки ПО для просмотра.
Требования:
– обеспечение безопасности при взаимодействии с пользователем.
Зависимости:
– все сервисы уровня бизнес-логики.
Уровень клиента
Роль и назначение
Клиентский уровень обеспечивает взаимодействие пользователей с ПО «САРУС+».
Веб-интерфейс приложения
Основные функции:
– поддержка работы через любой браузер;
– отображение данных (деревья изделий, 3D-модели, документы);
– ввод и редактирование информации (атрибуты, BOM, рабочие процессы);
– интеграция с инструментами проектирования (CAx-системы, просмотрщики).
Компоненты клиентского уровня:
– веб-интерфейс — SPA-приложение с адаптивным дизайном (под ПК и планшеты);
– просмотрщик CAD-моделей — встроенный инструмент для просмотра 3D-моделей без установки ПО;
– API-клиент — обмен данными с сервером.
Десктопное приложение
Основные функции:
– отображение данных (деревья изделий, 3D-модели, документы);
– управление структурой и объектами изделий из композитов (пакет, система координат, слой, развертка, вырез и т.д.)
– предоставление интерфейса для взаимодействия с геометрическими объектами (команды);
– моделирование технологических операций (драпировка ткани);
– импорт и экспорт геометрических данных.