Концепция сервисной шины ( ESB -слоя) не нова и не так редко встречается в IT-практике. ESB -слой - это комплекс IT-систем и инструментов, единственной целью функционирования которого является правильная, своевременная и бесперебойная передача информации между системами.
На практике механизм работы сервисной шины таков: при помощи интеграции ESB с заданной периодичностью забирает информацию из системы-источника; передаёт эту информацию в DWH (хранилище данных) или брокеру сообщений, которому делегированы функции хранилища (мы в KT.Team приняли как правило, что для каждого вида данных должно быть собственное хранилище - это ослабляет связи и взаимную зависимость между системами и сервисами:
так, в случае возникновения ошибки в одном хранилище будет затронут не весь IT-контур, а лишь минимальная его часть, связанная с этим хранилищем); извлекает данные из хранилища - как правило, по запросу системы-получателя, но можно задать и другие условия; трансформирует извлечённые данные, если необходимо; обогащает (опять же, по необходимости) извлечённые данные информацией из других хранилищ; передаёт информацию системе-получателю в
виде, объёме и формате, которые ей подходят.
Фактически ESB берёт на себя роль тех же прямых интеграций.
Но интеграции типа «точка - точка» подразумевают, что CRM может отдавать одну и ту же информацию о клиентах 10, 20, 40 раз - если это предусмотрено, соответственно, в 10, 20 или 40 интеграциях. ESB забирает информацию один раз и раздаёт её системам-получателям столько раз, сколько необходимо.
Та же схема, которую мы показали в начале статьи, с ESB выглядит следующим образом.
Одно из преимуществ современных ESB -систем - простота на всех этапах.
Для разработки интеграций предусмотрен специальный графический интерфейс, созданный в парадигме low-code.
Овладеть им может не только разработчик, но и достаточно продвинутый пользователь, или citizen developer.
Инструменты мониторинга и логирования позволяют своевременно заметить и локализовать ошибки, что упрощает и удешевляет поддержку.
На первый взгляд - довольно привлекательно.
Но коллеги - IT-специалисты возразят, что для внедрения ESB придётся перекроить всю архитектуру.
Как к этому подступиться, что делать на каждом из этапов, чтобы избежать критических проблем, и каким должен быть результат каждого из этапов - расскажем далее.