Завести новый справочник, добавить атрибуты, настроить доступ, начать использовать в других сервисах — и все без единой строчки кода
Раньше добавление нового справочника выглядело так: проектирование структуры, создание таблицы в БД, написание CRUD-методов, настройка доступа, документация. Теперь это делается за пару кликов на нашей платформе Handbooks.
Там можно создавать и изменять структуру справочников через UI, а дальше все происходит автоматически.
В карточках рассказываем про техническую реализацию, типы данных и реальные сценарии использования Handbooks.
Это централизованная платформа управления справочниками, которая предоставляет единый доступ к справочным данным любым командам и продуктам компании. Handbooks — это мастер-система для всех справочников, то есть основной источник надежных данных о ключевых бизнес-сущностях. Вся информация проходит контроль и валидацию, что обеспечивает качество и единообразие данных.
- централизует данные, исключая дублирование;
- контролирует целостность через правила валидации;
- упрощает интеграцию между системами;
- снижает трудозатраты на поддержку информации.
Handbooks не ограничивает команды в типах справочников. Можно создавать любые наборы данных, необходимые для бизнеса: список офисной техники, реестр договоров, каталог услуг, справочник внутренних кодов, причины обращений в техподдержку.
Поддерживаются разнообразные типы данных: строки, форматированные строки с HTML-разметкой, числа целые и с плавающей точкой, даты, логические значения, ссылки на другие справочники, перечисления и специфические типы вроде «сотрудник или исполнитель».
Handbooks — это пассивная система. Она не инициирует обновление данных самостоятельно, а только хранит информацию и отдает ее по запросу. Данные меняются только после явного запроса на обновление или интеграцию.
Платформа не предназначена для роли транзакционной СУБД или аналитического хранилища. Она не хранит временные, одноразовые или быстро меняющиеся данные, которые не подходят под определение справочной информации.
Справочники не содержат персональные данные — только обезличенную справочную информацию.
Создавать и изменять структуру справочников можно через UI. Команды самостоятельно добавляют новые справочники и атрибуты и сразу получают готовые к использованию API без дополнительной разработки.
Справочниками можно пользоваться двумя способами: через интерфейс для ручного просмотра или через API для интеграции с другими системами. API поддерживает построчную и массовую заливку данных, получение всех значений справочника и поиск с фильтрами.
При работе с распределенными системами важно, чтобы изменения в справочниках доходили до всех потребителей. Handbooks публикует события изменений через Kafka. Подписчик может узнать о появлении новой записи или обновлении существующей и отреагировать без постоянного опроса API.
Также в платформе есть встроенные механизмы управления версиями справочников, чтобы отслеживать историю изменений и при необходимости откатываться к предыдущим состояниям.
В Handbooks уже заведено более 400 активных справочников. Раньше они использовались для HR-процессов, а сейчас ими пользуются и другие команды: DWH, BI-аналитики, SME. Справочники не просто хранят данные — на них строится повседневная работа сервисов, автоматизация процессов и контроль качества.
Например, в процессах перевода сотрудников внутри компании используют справочники, которые обеспечивают актуальность перечня должностей и их наличия в подразделениях. Учет бенефитов, доступных сотрудникам, тоже ведется через Handbooks.
Переход на централизованное управление справочниками:
- Сокращает затраты на добавление и поддержку справочников в каждой команде. Не нужно каждый раз писать код для хранения и раздавать данные через свои API.
- Ускоряет интеграцию и распространение обновлений. Если раньше изменение списка статусов нужно было синхронизировать по десятку систем вручную, теперь достаточно обновить справочник, и все подписанные сервисы получат новые данные через API или Kafka.
- Повышает качество и консистентность данных. Единый источник правды исключает ситуации, когда в одной системе должность называется «продакт-менеджер», в другой — «продуктовый менеджер», а в третьей — «руководитель продукта».