Всё, что мы построили — конверт события, роли, журнал — исходит из того, что события уже как-то попадают в систему. В этом уроке разберём, как они туда попадают на практике: из 1С, CRM, документооборота, маркетплейсов и мессенджеров — и почему это стало в разы дешевле и быстрее классической интеграции.
Знакомая многим предпринимателям история: нужно связать две системы, и первая цифра, которую называет интегратор, — что-то в духе «полгода работы и чек с несколькими нулями». Техническое задание разрастается до неподъёмного документа, а к моменту запуска обе системы уже успевают обновить свои интерфейсы. Классическая системная интеграция дорога и медленна не потому, что задача сама по себе сложна, — а потому, что писать код-переходник вручную под каждую пару систем долго и требует редких специалистов.
Что меняется, когда переходник пишет агент: вместо команды, вручную кодирующей адаптер под две жёсткие спецификации, ты указываешь агенту на обе стороны — документацию или формат данных целевой системы и собственный конверт события (урок про событийную модель) — и он сам пишет адаптер между ними. Показательный пример с рынка: владелец бизнеса, который закладывал на подключение системы учёта к своим процессам месяцы работы и заметный бюджет, вместо этого получил рабочий коннектор за день-два работы агента — и опробовал его на реальных данных уже на той же неделе.
Стоит сразу оговориться: дешевеет именно техническая склейка, а не работа мысли. Решить, какие данные вообще важны, как уложить их в канон — единую базу-истину компании, — какое событие какой плейбук (урок про событийную модель) должно запускать, — по-прежнему совместная работа человека и агента. Дешёвым и быстрым стал именно сам коннектор, а не всё проектирование вокруг него.
Ещё одна причина, по которой раньше интеграции стоили так дорого: подрядчик, как правило, писал переходник один раз под конкретную пару систем и конкретную версию их интерфейсов. Стоило одной из систем обновиться — переходник ломался, и чинить его снова стоило почти как писать заново, потому что специалист, который его когда-то делал, часто уже был занят другим проектом. Когда адаптер пишет и, если нужно, переписывает агент, повторная настройка перестаёт быть отдельным дорогим проектом — это та же самая работа, которую он умеет делать быстро с самого начала.
Вспомним центральную идею урока про событийную модель: внутри среды любое событие выглядит одинаково независимо от источника. Вся задача коннектора — быть переводчиком на границе: он говорит на том языке, на котором говорит внешняя система — формат…