В любой зрелой организации учетные системы плодятся быстрее, чем их успевают связывать: 1С, SAP, самописная биллинговая система, кадровый контур, склад, документооборот. Каждая хранит свою версию справочника контрагентов и свою правду о номенклатуре. Рано или поздно встает вопрос: связывать системы напрямую, коннектор к коннектору, или поставить между ними шину данных (ESB). Ответ не идеологический – он зависит от числа систем, темпа изменений и требований регулятора.

Точечные коннекторы: дешево на старте, дорого на дистанции

Прямая интеграция «система – система» выглядит логично, пока систем три-четыре. Вы пишете коннектор, согласуете формат, гоните данные. Проблема в арифметике связей: для N систем число потенциальных интеграций растет как N×(N−1)/2. Пять систем – десять связок, десять систем – сорок пять. Каждая связка несет свой формат, свою обработку ошибок, свое расписание и своего ответственного, который уже уволился.

Точечная схема оправдана, когда интеграций мало и они стабильны: выгрузка проводок из биллинга в бухгалтерию раз в сутки, обмен с банк-клиентом, передача чеков в учет. Здесь шина – лишний слой, который усложняет эксплуатацию и добавляет точку отказа. Если систем немного, а нагрузка предсказуема, не усложняйте: ровно та же дисциплина, что и при работе с пределами масштабирования монолита – не вводите распределенность, пока ее не требует задача.

Шина данных: когда связей становится слишком много

ESB оправдывает себя, когда систем больше пяти-шести, а интеграции меняются регулярно. Шина превращает топологию «каждый с каждым» в «звезду»: система публикует сообщение один раз, а маршрутизацией, трансформацией форматов и доставкой заинтересованным потребителям занимается шина. Добавили новую систему – подключили ее к шине, а не переписали десяток коннекторов.

Что дает шина на практике:

  • Единый контракт данных. Канонический формат сообщения вместо парных договоренностей. Справочник контрагентов описан один раз.
  • Гарантированная доставка. Очереди, повторы, разбор «застрявших» сообщений вместо потерянных файлов на FTP.
  • Аудит и трассировка. Кто, что и когда передал – критично для госсектора и проверок. Каждое сообщение журналируется.
  • Развязка по времени. Получатель может лежать на регламентных работах, отправитель этого не замечает.

Цена – эксплуатационная сложность. Шину нужно администрировать, мониторить очереди, версионировать контракты и держать команду, которая понимает, что внутри. Без зрелого процесса выкатки изменений шина становится узким местом, а не решением. Поэтому интеграционный контур имеет смысл разворачивать вместе с дисциплиной непрерывной поставки: каждое изменение маршрута или формата проходит через автоматические тесты и предсказуемый деплой, а не правится руками в проде.

Как выбрать

Считайте не системы, а связи и темп их изменений. До пяти систем со стабильными интеграциями – точечные коннекторы, и не выдумывайте лишнего. Больше систем, частые изменения, требования к аудиту и гарантированной доставке – шина. Промежуточный путь тоже рабочий: оставить тяжелые регламентные выгрузки точечными, а событийный обмен в реальном времени увести на шину.

Отдельно учитывайте регуляторику. Для госзаказчиков и обмена с государственными системами все чаще нужны подтверждаемая доставка, журналирование и разграничение доступа – здесь шина выигрывает не по удобству, а по требованиям. То же касается контуров, где данные питают аналитику и расчетные модели: стабильный поток событий через шину – основа, например, для рекомендательных систем, которым нужны свежие и полные данные, а не ночные выгрузки с пропусками.

Мы в Onepoint проектируем интеграционный ландшафт от требований, а не от моды на технологию: где-то ставим шину, где-то оставляем три честных коннектора. Если у вас зоопарк учетных систем и боль с их связыванием, начинать стоит с проектирования интеграционного ландшафта под вашу топологию, а не с выбора вендора шины.

Вывод

Шина данных – не замена точечной интеграции, а инструмент для другого масштаба задач. Малое число стабильных связей – коннекторы. Растущий зоопарк систем, частые изменения и требования регулятора к аудиту и доставке – шина. Решение принимайте по числу связей и темпу изменений, а не по громкости вендорской презентации.