Интеграция информационных систем предприятия — это обмен сообщениями: одна система отправляет данные в согласованном формате, другая понимает, как их разобрать и применить. Пока систем две-четыре, прямые связи «точка-точка» работают хорошо. Когда их становится пять и больше, связи множатся, ошибки теряются между системами, а любое изменение ломает соседей. На этом этапе нужен единый интеграционный слой — шина данных, например DATAREON Platform или 1С:Шина, — и правила, по которым проектируются все обмены.

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

Точка-точка: когда это нормально

Подход «точка-точка» — прямые связи между системами без центрального узла. Разработчик пишет выгрузку на стороне источника и загрузку на стороне приёмника. Плюсы очевидны:

  • просто и быстро запустить;
  • понятно, где искать код;
  • нет дополнительной инфраструктуры и лицензий.

Для компании с бухгалтерией, ЗУП и сайтом это нормальный выбор, и переусложнять его не нужно.

Когда связи превращаются в паутину

Проблема в математике. Если каждая система обменивается с каждой, связей n×(n−1)/2:

СистемМаксимум связей
33
46
615
828
1045

Каждая связь — это свой код преобразования, своя обработка ошибок, своё расписание и свои люди, которые помнят, как она работает. С ростом числа связей появляются:

  • невидимые ошибки — рассинхронизация, дубли, пропуски, которые обнаруживаются через месяц в отчёте;
  • сложная диагностика — непонятно, где потерялось сообщение: не выгрузилось, не доехало или не разобралось;
  • эффект домино — изменение формата в одной системе требует правок во всех, кто с ней связан;
  • прямые потери — ошибка в обмене CRM и учёта даёт неверные суммы счетов, ошибка обмена со складом — пересорт.

Архитектура «солнышко»: единый интеграционный слой

Интеграция информационных систем предприятия: системы подключены к центральной шине
Интеграция информационных систем предприятия: системы подключены к центральной шине

Вместо десятков связей каждая система подключается к одной точке — шине данных. Схема становится похожей на солнце с лучами:

  • масштабируемость — новая система подключается к шине, а не ко всем соседям;
  • контроль доставки — если приёмник недоступен или не смог обработать сообщение, шина фиксирует сбой и не теряет данные;
  • прозрачность — все потоки видны в одном месте, есть журнал сообщений;
  • слабая связанность — системы знают формат шины, а не внутреннее устройство друг друга.

Подробнее о том, как устроена сервисная шина и когда она окупается, я писал в статье DATAREON ESB: что это. Здесь — о том, как проектировать и разрабатывать обмены.

Принципы проектирования интеграций

Независимо от того, шина у вас или прямые обмены, эти правила экономят месяцы разбора инцидентов:

  1. Контракт до кода. Формат сообщения, обязательные поля, справочники соответствия и правила ошибок описываются и согласуются всеми командами до разработки.
  2. Один владелец данных. Для каждой сущности понятно, какая система — источник истины. Двусторонняя правка одного справочника — источник конфликтов.
  3. Идемпотентность. Повторная доставка того же сообщения не должна создавать дубль: приёмник узнаёт его по идентификатору и обновляет, а не создаёт заново.
  4. Сквозные идентификаторы. Каждый объект несёт свой ключ из системы-источника, чтобы сопоставление не зависело от наименований.
  5. Журнал и мониторинг. По любому сообщению можно ответить: когда отправлено, доставлено ли, чем закончилась обработка.
  6. Версионирование формата. Изменения добавляются так, чтобы старые потребители продолжали работать.

Отдельная сложность — организационная. В больших компаниях за каждой системой своя команда, и договориться о едином формате им трудно. Интеграционному проекту нужен ведущий, который держит общую цель и принимает решения о контракте, — внутренний архитектор или внешний подрядчик.

Как выглядит разработка в DATAREON Platform

Разработка в DATAREON ведётся в визуальном Центре настройки. Логически она делится на четыре шага:

ШагЧто настраиваетсяАналогия
Модули подключенияКак платформа соединяется с каждой системой: REST API, веб-сервисы, 1С, СУБДРозетки
Внешние типы данныхСтруктуры сообщений: поля, типы, форматыСловарь
ОбработчикиКод, который заполняет или читает пакеты на основе данных системПереводчик
Схемы обработкиМаршрут сообщения: преобразования, маршрутизация по приёмникам, обогащение дополнительными запросамиЛогистика

Схемы обработки — самый гибкий инструмент: поступившее сообщение проходит по схеме от начала до конца, по пути его можно изменить, разослать в несколько систем или дополнить данными из других источников. На стороне 1С остаётся подготовка данных и разбор входящих сообщений — это обычная доработка конфигурации.

Шина или прямые обмены: как решать

ПризнакТочка-точкаШина
Число систем2–45 и больше
Изменения форматовРедкиеРегулярные
Требования к гарантированной доставкеУмеренныеВысокие
Разнородность системТолько 1С1С, CRM, WMS, сайты, внешние сервисы
Бюджет на инфраструктуру и лицензииМинимальныйЕсть

Шина — не бесплатна: лицензии, серверы, компетенции. При двух-трёх системах прямые обмены почти всегда выгоднее. При пяти и больше экономика меняется: исчезает «двойная работа» на каждую новую связку, а стоимость поддержки перестаёт расти квадратично.

Переход можно делать постепенно: новые системы — только через шину, самый проблемный поток — первым, остальные — по мере доработок.

Чек-лист перед разработкой интеграции

  • Определены системы-источники и потребители для каждой сущности.
  • Согласован формат сообщения и правила обработки ошибок.
  • Есть сквозные идентификаторы объектов.
  • Повторная доставка не создаёт дублей.
  • Предусмотрены журнал сообщений и оповещение о сбоях.
  • Назначен ответственный за интеграцию со стороны бизнеса и ИТ.
  • Оценена нагрузка: объёмы, пиковые часы, допустимая задержка.

Если нужен взгляд на текущий ландшафт и план перехода, могу помочь: интеграционная шина для 1С, интеграция 1С по API, обмен между базами 1С. Для ориентира по трудозатратам — почасовая ставка 2 500 ₽/ч; итоговая оценка зависит от числа систем и потоков.

Итог

  • Интеграция информационных систем предприятия — это обмен сообщениями по согласованному контракту.
  • Точка-точка хороша для 2–4 систем; дальше число связей и ошибок растёт лавинообразно.
  • Шина данных собирает связи в одну точку и даёт контроль доставки, журнал и масштабируемость.
  • Независимо от архитектуры: контракт до кода, один владелец данных, идемпотентность, мониторинг.
  • Переходить на шину можно постепенно, начиная с самого проблемного потока.