Управление структурированными данными

Семантическое хранилище бизнес-объектов и связей — система хранения данных, в которой каждый объект и каждая связь обладают описанным смыслом и предназначением. Схема данных Power Storage формирует структуру предметной области с учётом её логики.

Объекты — это сущности, такие как проекты, документы, изделия, материалы, требования или задачи, описанные с помощью типов и атрибутов. Связи между ними — не внешние ключи между таблицами, а значимые типизированные отношения (например, «используется в», «создан на основе», «включает», «предназначен для»), с направлениями и атрибутами. В совокупности данные различных областей интегрированы и формируют обширную информационную модель всей предметной области, над которой выполняется работа в системе.

Реализуемый Power Storage подход позволяет:

  • Формировать цифровую модель предметной области применения платформы.
  • Использовать связи как элементы логики интерфейса и процессов.
  • Строить работу прикладных сервисов и навигацию на основе понимания смысла предметной области.
  • Развивать онтологию (выраженную в схеме данных Power Storage) — описание типов объектов, связей и их свойств — без изменения кода платформы.

Назначение

Power Storage обеспечивает централизованное хранение объектов и их связей, отражающих структуру и логику работы организации. Этот компонент служит основой для всех прикладных сервисов платформы, выступая в роли «единого источника достоверных данных». Он обеспечивает доступ к данным с учётом прав, позволяет фиксировать историю изменений и организует целостное представление об объектах в цифровой среде.

Ключевые возможности

Power Storage предоставляет универсальные функции хранения и управления данными:

  • Регистрация объектов заданных типов с атрибутивным составом.
  • Описание и управление связями между объектами и их типами.
  • Поддержка версионирования объектов и событий изменения.
  • Настраиваемый с помощью политик доступ к данным на уровне типов и связей.
  • Возможность публикации событий об изменениях для интеграции с другими сервисами.
  • Использование общей модели данных всеми прикладными компонентами платформы.

Реализация управления моделью данных

Компонент предоставляет API для управления моделью. При передаче команд регистрации новой или изменении модели происходит анализ переданной информации, на основе которой в PostgreSQL создаются соответствующие таблицы с необходимыми параметрами и ограничениями.

Реализация управления доступом

Компонент позволяет регистрировать специализированные объекты Access Control Space, которые позволяют объединять пользователей и данные. У любого бизнес-объекта (элемента данных) можно указать принадлежность к объекту Access Control Space. Таким образом компонент проверяет доступность данных для пользователя при обработке запросов с помощью проверки вхождения данных и пользователей в один Access Control Space.

Реализация истории изменений

Компонент анализирует поступающие запросы на изменение данных и при сохранении этих изменений в базу вносит дополнительные изменения в отдельные таблицы, хранящие историю изменениях данных.

Реализация публикации изменения данных

При регистрации модели данных компонент предоставляет возможность указать, какие события должны публиковаться. Далее при обработке запроса на изменении компонент анализирует модель данных и в случае необходимости публикует событие с информацией о изменяемом объекте и типа события в брокер сообщений.

Реализация транзакций

Компонент предоставляет возможность клиентам объединять запросы в единую транзакцию, при этом в одной транзакции могут участвовать разные клиенты. Для создания новой транзакции клиент делает запрос к компоненту, который возвращает специальный идентификатор. Затем клиенты могут делать запрос к компоненту с указанием этого идентификатора посредством специального заголовка запроса. Все запросы с одинаковыми идентификатором транзакции объединяются в транзакцию на стороне компонента. Для сохранения транзакции необходимо сделать специальный запрос к компоненту.