Что понимают под системной интеграцией
Системная интеграция — связывание нескольких информационных систем в единый контур, при котором данные передаются между ними без ручного посредничества. Согласуются форматы, справочники, правила обработки ошибок и ответственность за каждое поле. Работа делится на проект и постоянную поддержку: изменение в одной системе отражается на её связях с остальными. Подробнее о практических подходах к такой работе рассказывают на https://iiii-tech.com.
Разница между внедрением отдельного продукта и связыванием систем
Внедрение одного продукта ограничено его собственным контуром: настройки, роли, отчёты. Связывание затрагивает минимум две системы, а число соглашений растёт быстрее числа участников. Отдельный продукт заменяют целиком, тогда как в связанном контуре замена одной системы требует пересмотра контрактов обмена.
Уровни связности: данные, приложения, бизнес-процессы
Обмен данными — простейший уровень: периодическая передача наборов записей, где расхождение в несколько часов допустимо. Уровень приложений добавляет вызовы функций и события, а с ними требования к идемпотентности, таймаутам и повторной доставке. Уровень процессов связывает шаги в сквозной сценарий: состояние операции хранится вне систем-участников.
Как выглядит интеграционный ландшафт компании
Ландшафт описывается перечнем систем, направлением потоков, владельцами и критичностью связей. Без такого перечня нельзя определить, какие связи поднимать первыми, а какие допускают отсрочку.
Учётные системы, источники и потребители данных
Учётная система хранит мастер-данные: справочники, правила кодирования, регламент изменения. У каждого поля один владелец. Если значение правится в двух местах, мастер-копией объявляют систему, где запись возникает раньше по бизнес-событию, остальные получают его только на чтение. Решение фиксируют письменно.
Способы обмена: запросы, очереди сообщений, пакетные выгрузки
Прямой запрос подходит, когда ответ нужен сразу и объём невелик: HTTP с телом в JSON или XML, аутентификация по OAuth 2.0 либо взаимному TLS 1.2 и выше. Очереди, например по протоколу AMQP 1.0, выбирают при пиковой нагрузке и требовании не терять сообщения: брокер буферизует поток и повторяет доставку, а идемпотентный ключ защищает от дублей. Пакетные выгрузки через SFTP применяют для наследия и больших объёмов с ночным окном обработки. Промежуточный слой нужен, когда участников больше двух-трёх и требуется маршрутизация с преобразованием форматов.
Последовательность работ над интеграцией
Обследование систем и построение карты потоков
Обследование начинается с инвентаризации: версии, интерфейсы, владельцы, ограничения по нагрузке. Карта информационных потоков фиксирует источник и получателя данных, частоту обмена, объём транзакций и точки ручного ввода. Она же выявляет дублирование: один и тот же реквизит, который переносят между системами вручную. Первыми берут связи с высокой частотой и высокой ценой ошибки.
Проектирование контрактов, пилот и вывод в промышленный режим
Контракт описывает схему сообщения, версию, коды ошибок, лимиты по нагрузке и правила аутентификации. Пилот идёт на ограниченном наборе записей при параллельной работе со старым способом. Перенос данных требует очистки и нормализации, сопоставления полей по справочникам и сверки расхождений до запуска. Вывод в промышленный режим включает регламент обработки ошибок, мониторинг очередей и план действий при недоступности участника.
Ограничения и риски, которые проявляются на практике
Устаревшие системы, несовместимые справочники и ручные операции
Наследие ограничивает выбор способа обмена: форматы фиксированной длины, отсутствие документации, логика, зашитая в код без возможности доработки. Если систему нельзя изменить, обмен строят на файлах и промежуточной базе, а недостающие проверки переносят на сторону приёмника. Ручные операции опасны отсутствием следа: их не видно в журналах, а расхождения обнаруживаются при инвентаризации.
Закрытые протоколы и привязка к одному исполнителю
Зависимость возникает там, где спецификации форматов хранятся только у подрядчика. Снижают её передачей документации контрактов, тестового контура и описаний версий. Дополнительная мера — журналирование операций на стороне заказчика: оно позволяет восстановить цепочку обработки запроса без обращения к внешней стороне.
Как проверять результат интеграции
Показатели обмена, доля ручных действий и стоимость владения
Метрики включают время отклика на 95-м процентиле, долю успешно доставленных сообщений, глубину очередей, число расхождений при регламентной сверке и долю операций, выполняемых вручную. Запас пропускной способности виден по росту задержки при пиковой нагрузке. Владение считают на горизонте нескольких лет: подписки, труд на поддержку, доработки при изменениях, инфраструктура и тестовые стенды.
Сопровождение и изменения после запуска
После запуска проект переходит в регламентный режим: контроль очередей, обновление версий интерфейсов при изменении систем, периодические сверки остатков. Правка справочника или схемы проходит через версионирование контракта, иначе обмен ломается у части участников. Отказоустойчивость поддерживают повторной доставкой, резервированием каналов и деградацией без остановки процессов.
