Ответ
Хореография в контексте бизнес-анализа и архитектуры — это подход к координации взаимодействия между сервисами или процессами, где каждый участник самостоятельно реагирует на события без централизованного управления.
Пример:
В микросервисной архитектуре заказ в интернет-магазине может обрабатываться так:
- Сервис заказов публикует событие
OrderPlaced. - Сервис оплаты реагирует на него и публикует
PaymentProcessed. - Сервис доставки запускает логистику после получения
PaymentProcessed.
Код (псевдо-Python):
# Сервис заказов
def place_order():
publish_event("OrderPlaced", order_id=123)
# Сервис оплаты
@subscribe("OrderPlaced")
def process_payment(event):
publish_event("PaymentProcessed", order_id=event.order_id)
Плюсы:
- Гибкость и масштабируемость.
- Отсутствие единой точки отказа.
Минусы:
- Сложнее отслеживать поток операций.
- Риск "зависших" процессов при ошибках.
Используется в event-driven архитектуре, BPMN 2.0 (через события) и сценариях с высокой степенью автономности компонентов.