Сервисная карта позволяет мыслить границами сервисов и чётко понимать движения всех потоков информации даже большого предприятия. Позволяет проектировать хорошую архитектуру IT-контура так, чтобы она была понятна как бизнесу, так и IT-специалистам.
Фрактально может уменьшена до микросервисной карты приложения и увеличена до карты департаментов (оргструктуры) или даже предприятий холдинга.
Сервис
Программное обеспечение, которое исполняет конкретные бизнес-функции; потребляет и/или предоставляет информацию.
ETL-слой
Сервисы получения и преобразования данных из контекста приложения в контекст предприятия и обратно.
Хранилище/Контекст предприятия
Место хранения данных из сервисов в виде, пригодном для использования другими сервисами.
Команда (департамент) несёт ответственность за сервис, которым пользуется, а также за ETL и хранилище этого сервиса. Для удобства понимания на сервисной схеме зоны ответственности разных команд выделены разными цветами.
Как проектировать контур предприятия
Определите границы сервисов.
Опишите каждый сервис точной формулировкой выхода, который должен быть у этого сервиса. Так, выход у точки продаж — это заказ, у складского комплекса — остатки товаров, а у сервиса ценообразования для продажи — цены для реализации.
Опишите, какая информация от других сервисов должна поступить в этот сервис для того, чтобы он смог выполнить свою функцию. Точке продаж нужно получить остатки, цены и карточки товаров, а сервису ценообразования для продажи может понадобиться только SKU товара и цена закупки.
Уделите внимание неймингу и внешнему виду
Читая входы и выходы, кто угодно должен понимать их смысл. Так, плохо в качестве выхода «товары», потому что сущность «товары» содержит много информации из разных сервисов. Правильный нейминг — «карточки товаров», «рекомендуемая цена товаров», «остатки товаров», «цена закупки товаров».
Не используйте внутри сервисной карты узкоспециальные термины. Сервисная карта должна быть понятна любому в организации и вашей команде.
Стрелки не должны пересекаться. Размещайте хранилища информации сервиса на одном уровне с самим сервисом, а входящую информацию из контура предприятия в сервис обозначайте стрелками от границы зоны хранилищ, а не от конкретного хранилища