Назначение#
Цель создания#
Программная платформа предоставляет набор сервисов для построения отказоустойчивых масштабируемых приложений:
Надежность: StandIn — прикладная репликация в резервную БД;
Горизонтальное масштабирование:
CrossClusterIndex (сервис межкластерной индексации) — маршрутизация запросов в нужный сегмент;
GUID service — обеспечение уникальных идентификаторов в рамках всей Platform V;
Архив — для хранения исторических данных;
Фабрика данных — для аналитической отчетности.
Чтобы сделать приложение надежным и горизонтально масштабируемым, используйте сервисы, которые предоставляет платформа.
Решение Platform V Persistence (HBR) позволяет интегрировать приложения в Platform V с минимальными затратами, без изменения прикладного кода.
В архитектуре практически любого Java-приложения используется слой ORM — «прослойка» между прикладным кодом и базой данных. Platform V Persistence встраивается в самую популярную ORM библиотеку — Hibernate, чтобы получать все изменения данных, которые выполняет приложение.
Данный подход позволяет:
контролировать все изменения, выполняемые приложением;
реплицировать их в StandIn, архив и фабрику данных;
добавлять информацию в сервис межкластерной индексации;
генерировать ID для сохраняемых объектов с помощью сервиса уникальных идентификаторов.
Концептуальная модель предметной области#

Основные функции#
Название функции |
Потребитель функции |
Аргументы функции |
Результат |
|---|---|---|---|
Standin plugin |
Разработчик прикладного модуля |
Конфигурация прикладной репликации |
Прикладной модуль формирует и отправляет в Прикладной журнал сообщения с изменениями данных |
CCI plugin |
Разработчик прикладного модуля |
Конфигурация межкластерных индексов |
Прикладной модуль формирует и отправляет в Сервис межкластерной индексации значения межкластерных индексов |
IDGen plugin |
Разработчик прикладного модуля |
Конфигурация сервиса генерации идентификаторов |
Прикладной модуль автоматически использует сервис Генерация ID для создания идентификаторов |
Archiver plugin |
Разработчик прикладного модуля |
Конфигурация загрузки данных |
Прикладной модуль автоматически обрабатывает запросы на инициализирующую выгрузку и технический контроль данных |
Варианты использования#

Сценарии использования#
Репликация в StandIn. Библиотека позволяет формировать сообщения, описывающие изменения данных, для отправки на применение в резервной БД:
Пользователь настраивает алгоритмы репликации в коде приложения и подписку на сообщения, получаемые из транспортного сервиса.
При работе с данными библиотека автоматически перехватывает изменения данных, формирует сообщение и вызывает функцию отправки транспортного сервиса.
После получения сообщения из транспортного сервиса библиотека воспроизводит изменения на резервной БД.
Запись межкластерных индексов. Библиотека позволяет осуществлять автоматическую запись в сервис межкластерной индексации:
Пользователь указывает, какие поля модели данных будут индексироваться.
При работе с данными библиотека автоматически перехватывает изменения соответствующих полей и вызывает функцию записи сервиса межкластерной индексации.
Выгрузка в аналитическую платформу. Библиотека позволяет осуществлять первичную и потоковую выгрузку в аналитическую платформу:
Пользователь настраивает алгоритмы репликации в коде приложения и подписку на сообщения от сервиса Архивирование (ARCH).
Библиотека формирует пакеты данных в ответ на запрос от сервиса Архивирование на инициализирующую выгрузку.
При работе с данными библиотека автоматически перехватывает изменения данных, формирует сообщение и вызывает функцию отправки транспортного сервиса.
При получении запроса ТКД библиотека автоматически формирует и отправляет ответ с запрошенными данными.
Генерация идентификаторов. Библиотека позволяет подключить сервис Генерация ID (SNOW) для получения идентификаторов вновь созданных сущностей:
Пользователь настраивает генератор идентификаторов в коде приложения.
При создании новых сущностей библиотека автоматически вызывает функцию получения нового идентификатора клиентского модуля сервиса Генерация ID (SNOW).
Генерация платформенной метамодели. Библиотека позволяет генерировать файл платформенной метамодели из прикладной модели данных:
Пользователь подключает в код приложения плагин для генерации метамодели.
Плагин генерации метамодели создает файл метамодели при компиляции приложения.