AMPE·
Automation · Management
Processes · Efficiency

Самые сложные интеграции часто возникают не с внешними продуктами, а с системами, которые компания писала для себя годами

Внутренний сервис может быть критичным и при этом не иметь публичного API. Может работать на старом стеке. Может использовать общую базу с другим приложением. Может содержать бизнес-логику, которую никто уже полностью не описывает. AMPE интегрирует такие системы без предположения, что их обязательно нужно сразу переписать. Сначала мы выясняем, какую функцию они реально выполняют, от чего зависят и какие границы можно сделать безопасными.

Начать диагностику
01

«внутренняя система» не означает «мы можем менять её как угодно»

Приложение может формально принадлежать компании.

Поэтому первое действие — не «добавить endpoint».

Первое действие — понять реальную цену изменения.

  • Но практически быть жёстко связано с

    оборудованием; старой БД; конкретным разработчиком; регламентом; внешним модулем; неизменяемой интеграцией.

02

Мы ищем естественную границу, а не самый быстрый способ подключиться

Иногда лучший вариант — добавить API.

Иногда — публиковать события.

Иногда — выделить read-only view.

Иногда — поставить адаптер рядом с системой.

Иногда — читать файл.

Иногда — вообще сначала вынести критическую бизнес-логику из приложения.

AMPE выбирает способ по жизненному циклу системы и риску, а не по удобству первого прототипа.

03

Особенно опасна скрытая логика

В таблице появился статус «3».

Почему именно 3?

Кто его ставит?

Что должно произойти после?

Можно ли вернуть назад?

Какие побочные действия запускаются?

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

Поэтому мы восстанавливаем семантику до подключения.

04

Типовые ситуации

Собственная система заказов должна передавать финансовый факт в ERP.

Старый производственный софт — получать задания из нового контура.

Внутренний портал — запускать процессы в CRM или BPM.

Legacy-приложение — отдавать данные в DWH.

Система на площадке — работать локально и синхронизироваться с центральным контуром.

Несколько внутренних сервисов — перестать ходить напрямую в одну общую БД.

В каждом случае проблема разная, даже если пользователь называет её одним словом «интеграция».

05

Shared database может быть удобной и очень дорогой архитектурой одновременно

Два приложения читают и пишут одни таблицы.

Сначала это быстро.

AMPE не обязательно разрывает такую связь сразу.

Но если shared database уже мешает развитию, мы постепенно вводим ownership и явные контракты.

  • Потом никто не понимает

    кто владеет схемой; кто имеет право менять колонку; какой сервис нарушил данные; можно ли развернуть приложения независимо.

06

Антикоррупционный слой особенно полезен вокруг legacy

Внутренняя система может использовать старые названия, коды и модель данных.

Новые сервисы не обязаны наследовать это навсегда.

Adapter переводит legacy-модель в современный контракт и изолирует старые особенности.

Так модернизация может идти постепенно, без требования переписать всё сразу.

07

Не каждый legacy нужно заменять

интеграция может быть рациональнее замены.

AMPE отделяет технологический возраст от реальной архитектурной проблемы.

  • Если система

    стабильна; понятно выполняет узкую функцию; редко меняется; не создаёт высокий риск —

08

Но если интеграция требует постоянно обходить систему — это уже сигнал

В этот момент интеграционный слой начинает компенсировать ограничения приложения.

Это может быть допустимым переходным состоянием.

Но его важно честно назвать переходным, а не превращать в постоянную архитектуру.

  • Каждое новое требование решается

    новой таблицей рядом; скриптом; ручной выгрузкой; отдельным cron; ещё одним Excel.

09

Внутренний API нуждается в контракте не меньше публичного

«У нас все свои» не защищает от breaking changes.

Команды меняются.

Сервисы выпускаются независимо.

Зависимостей становится больше.

Иначе внутренняя интеграция со временем становится самой хрупкой.

  • Поэтому нужны

    явная схема; семантика; версионирование; правила ошибок; идемпотентность; ownership.

10

Локальная система может должна уметь работать без центра

Для производства, склада, площадки или объекта связь с центральным контуром может быть нестабильной.

AMPE проектирует автономность как часть процесса, а не как аварийный костыль.

  • Тогда нужно заранее определить

    что разрешено делать offline; какие данные кэшируются; как накапливаются события; как разрешаются конфликты после восстановления связи.

11

В контуре AMPE

Мы сначала определяем роль внутренней системы.

Потом её данные и бизнес-границы.

Далее — допустимую точку интеграции.

При необходимости ставим adapter или middleware.

Изолируем legacy-особенности.

Добавляем наблюдаемость, retry и reconciliation.

И только после этого решаем, должна система остаться, постепенно измениться или быть заменена.

12

Что меняется в результате

Критичные внутренние приложения можно подключать без опасного вмешательства в их ядро.

Legacy меньше распространяет свои особенности на новые системы.

Shared database постепенно перестаёт быть неявным API.

Внутренние контракты становятся понятными.

Модернизацию можно проводить поэтапно.

И главное — компания перестаёт выбирать между двумя крайностями: «ничего не трогать» и «переписать всё с нуля».

Первый шаг

Начать можно с системы, которую все боятся менять

Описать: что она делает; кто от неё зависит; какие данные из неё нужны; что сегодня переносится вручную; какие изменения особенно рискованны. Этого достаточно, чтобы найти первую безопасную интеграционную границу.

Начать диагностику

Начать диагностику

Заполните короткую форму — это первый шаг диагностики.