Файлы, сведения об имуществе, задачи и семейные списки находились в разных приложениях. Для проверки каждого источника приходилось повторять запрос вручную.
Единый поиск по нескольким домашним сервисам
Один запрос возвращает сгруппированные результаты из разрешённых источников, не превращая их в общую неконтролируемую базу.
- Не смешивать права разных источников
- Не создавать полную копию данных без необходимости
- Сохранить понятную выдачу на телефоне
До
- Каждый сервис имел собственную строку поиска
- Пользователь заранее должен был знать, где искать сведения
- Права источников нельзя было заменять общим доступом агрегатора
После
- Запрос вводится один раз
- Результаты разделены по источнику и типу
- Недоступность поиска не блокирует прямую работу сервисов
Почему так: Агрегация сокращает число повторных действий, но оставляет хранение, жизненный цикл и контроль доступа у исходной системы.
- Зафиксировано исходное состояние
- Собрана тестовая схема
- Проверены рабочий сценарий и откат
- Изменения переданы владельцу
Риски
- Ошибочный адаптер способен вернуть результат без нужной проверки прав
- Недоступный источник замедляет или частично сокращает выдачу
- Кэш может показать устаревшее состояние
Проверка
Проверялись одинаковые запросы под разными правами, отсутствие запрещённых источников, обозначение происхождения и поведение при временной недоступности одного сервиса.
Восстановление
Поскольку источники остаются самостоятельными, отключение агрегатора не меняет их данные. Его конфигурация и список подключений сохраняются отдельно.
Пользователь быстрее находит разрешённые сведения, а исходные сервисы сохраняют собственные права и структуру данных.
Разобрать похожую задачу
Архитектура всегда зависит от исходных ограничений. Начнём с безопасного описания текущего состояния.