Проектируете интеграцию или процесс?

Канал о системном и бизнес-анализе, продуктовом мышлении и архитектуре. Как выявлять реальные проблемы, строить работающие решения и не терять здравый смысл в IT. Все вопросы - @innokentyB

интеграцияпроцессархитектура

На словах кажется, что это одно и то же. На практике — это две совершенно разные плоскости мышления.

Простой пример.

Есть пользовательская система. В ней работает пользователь. Есть агент, который помогает этому пользователю.

В систему загружаются документы. Чтобы агент мог с ними работать, документы нужно распознать — подключается внешняя система OCR.

Дальше начинается инженерная логика. Система №1 интегрируется с системой распознавания: передаётся идентификатор, создаётся внутренний ID — всё аккуратно, всё работает. Потом подключается агент. Данные из OCR складываются в Kafka с внутренним идентификатором. Агент читает сообщение и думает: отлично, у меня есть ID, значит я смогу положить результат обратно в исходную систему.

И вот здесь происходит сбой. Идентификатор, который агент получает из Kafka, не совпадает с тем идентификатором, по которому можно обратиться к API процесса в исходной системе. Формально все интеграции были спроектированы. Каждая пара систем взаимодействует корректно. Документация, конечно, средненькая, но технически всё «работает». Только процесс не работает. Потому что никто не проектировал процесс целиком.

Каждый проектировал свою интеграцию:

  • система ↔ OCR
  • OCR ↔ Kafka
  • Kafka ↔ агент
  • агент ↔ API

Но никто не проектировал сквозной поток: «Документ загружен → распознан → обработан → результат возвращён в конкретный бизнес-процесс». В результате — дополнительные трудозатраты, доработки, синхронизации, выяснение «какой именно ID это был».

И тут возникает важный вопрос. Кто вообще отвечает за проектирование сквозного процесса? Интуитивно хочется сказать: solution-архитектор. Но часто архитектор рисует высокоуровневый Vision, определяет системы и интеграционные точки — и считает задачу закрытой. А согласование идентификаторов, контекстов, состояний, жизненного цикла сущностей — «это уже детали», которые почему-то должны сами собой сложиться. Не складываются. Потому что интеграция — это про соединение интерфейсов. А процесс — это про синхронизацию смыслов. Можно идеально соединить API и при этом полностью сломать бизнес-поток. Вот здесь и проходит водораздел. Когда вы работаете в сложной системе, вы отвечаете за: — корректность технической интеграции или — за целостность процесса от начала до конца? И это не риторический вопрос. Потому что если никто не отвечает за процесс целиком, то за него потом платят все. А вы в таких историях что проектируете — интеграции или процесс?

Архитектурная иллюстрация: башни OCR, Kafka и API связаны трубами и проводами с разными идентификаторами, из-за чего возникает ошибка процесса.
Иллюстрация рассогласования идентификаторов между системами.

Дискуссия

Vadim Zhivotovsky
Минус мой. В рассуждениях заложена (не знаю, сознательно или нет) грубая ошибка, И не одна. Потому изначальный вопрос автоматом отпадает, если эти ошибки не будут допущены при проектировании
PRO анализ в ИТ
Vadim Zhivotovsky
Минус мой. В рассуждениях заложена (не знаю, сознательно или нет) грубая ошибка, И не одна. Потому изначальный вопрос автоматом отпадает, если эти ошибки не будут допущены при проектировании
А можете чуть более подробно описать, какая ошибка в рассуждениях?
PRO анализ в ИТ
Vadim Zhivotovsky
Начну с описания. Мне плохо понятно, о чём речь, даже после 3-го перечитывания. Т.е. аналитик (не просто блогер) хочет рассказать сценарий. Вместо стандартных классических Цели и последовательности Процессов по кусочкам выдаются порции сценария, из которых…
Про логику описания понял, мне казалось понятной, буду перепроверять себя. Про остальное - в идеальном мире оно так и должно быть, но мир далеко не всегда идеален
Denis Beskov
тогда нужен Solution Designer :)
PRO анализ в ИТ
Denis Beskov
тогда нужен Solution Designer :)
больше должностей богу должностей)
Denis Beskov
PRO анализ в ИТ
больше должностей богу должностей)
так это РООООООЛь :)
PRO анализ в ИТ
Denis Beskov
так это РООООООЛь :)
Денис, это у тебя это роль! А в банке - это новая штатная единица!)
Denis Beskov
PRO анализ в ИТ
Денис, это у тебя это роль! А в банке - это новая штатная единица!)
непонятно, почему нормальная такая роль для Lead System Analyst или в некоторых случах Senior System Analyst
PRO анализ в ИТ
Denis Beskov
непонятно, почему нормальная такая роль для Lead System Analyst или в некоторых случах Senior System Analyst
Это было не уровне стеба)
Присоединиться к обсуждению →

Читайте так же