Что такое хореография

«Что такое хореография» — вопрос из категории API и интеграции, который задают на 37% собеседований Бизнес Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Хореография в контексте бизнес-анализа и архитектуры — это подход к координации взаимодействия между сервисами или процессами, где каждый участник самостоятельно реагирует на события без централизованного управления.

Пример:
В микросервисной архитектуре заказ в интернет-магазине может обрабатываться так:

  1. Сервис заказов публикует событие OrderPlaced.
  2. Сервис оплаты реагирует на него и публикует PaymentProcessed.
  3. Сервис доставки запускает логистику после получения 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 (через события) и сценариях с высокой степенью автономности компонентов.