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