Открыть сервис

API-Led Connectivity

API-Led Connectivity (подход к интеграции, основанный на API) — это архитектурный метод проектирования и управления интеграционными решениями, при котором интерфейсы прикладного программирования (API) выступают в роли центральных, многократно используемых строительных блоков. В отличие от традиционных подходов, где интеграция осуществляется через прямые соединения «точка-точка» или через единую шину данных (ESB), API-Led Connectivity предполагает создание слоёв API, каждый из которых отвечает за определённый тип взаимодействия: с данными, с бизнес-процессами или с пользовательскими интерфейсами. Этот подход был популяризирован компанией MuleSoft (приобретена Salesforce в 2018 году) и лёг в основу платформы Anypoint Platform.

История и предпосылки возникновения

Традиционные методы интеграции, такие как ESB (Enterprise Service Bus), доминировали в корпоративной архитектуре с конца 1990-х годов. Они предполагали создание централизованного «хаба», через который проходили все сообщения между системами. Недостатками ESB были высокая сложность, монолитность и трудность масштабирования: каждое новое подключение требовало доработки шины.

С развитием облачных технологий, микросервисной архитектуры и цифровой трансформации бизнеса возникла потребность в более гибкой и децентрализованной интеграции. API стали стандартом взаимодействия между современными приложениями. В 2013 году MuleSoft представила концепцию API-Led Connectivity как альтернативу ESB. Идея заключалась в том, чтобы разбить интеграцию на три чётко определённых слоя, каждый из которых управляется через API.

Основные принципы

API-Led Connectivity базируется на трёх ключевых принципах:

  1. Многоразовость (Reusability): API создаются как независимые, многократно используемые сервисы. Один и тот же API для доступа к данным (например, к базе клиентов) может применяться в разных бизнес-процессах и приложениях, что исключает дублирование логики.
  2. Слоистость (Layering): Взаимодействие разделяется на три функциональных слоя, каждый из которых решает свою задачу.
  3. Управляемость (Governance): API централизованно управляются через портал разработчика, где публикуются спецификации (OpenAPI, RAML), версии, политики безопасности и лимиты запросов.

Архитектура: три слоя API

Архитектура API-Led Connectivity предусматривает строгое разделение на три слоя:

Системный слой (System APIs)

Этот слой обеспечивает доступ к базовым корпоративным системам: базам данных (SAP, Oracle, 1С), ERP-системам, CRM (Salesforce, Битрикс24), устаревшим (legacy) приложениям и SaaS-сервисам. API этого слоя «оборачивают» сложные протоколы (SOAP, JDBC, FTP) в единый современный интерфейс (REST, GraphQL). Они не содержат бизнес-логики, а только предоставляют сырые данные. Например, System API для SAP может возвращать список заказов без какой-либо обработки.

Процессный слой (Process APIs)

API этого слоя реализуют бизнес-логику и оркестрацию. Они комбинируют данные из нескольких System API, выполняют преобразования, валидации и запускают последовательности действий. Process API не зависят от конкретных систем — они оперируют абстрактными сущностями (например, «Заказ», «Клиент»). Пример: Process API «Оформление заказа» вызывает System API для проверки остатков на складе, System API для списания средств и System API для отправки уведомления.

Опытный слой (Experience APIs)

Этот слой предназначен для конкретных потребителей: мобильных приложений, веб-сайтов, партнёрских порталов. Experience API адаптируют данные и логику из Process API под нужды конкретного канала. Например, один и тот же Process API может быть «обёрнут» в Experience API для iOS-приложения (с упрощённым JSON) и в Experience API для веб-сайта (с HTML-фрагментами). Этот слой отвечает за пользовательский опыт (UX) и может включать агрегацию данных из нескольких источников для одного экрана.

Преимущества и недостатки

Преимущества

  • Ускорение разработки: Разработчики могут переиспользовать готовые API, а не писать интеграцию с нуля. По данным MuleSoft, это сокращает время вывода новых функций на рынок на 30–40 %.
  • Снижение сложности: Каждый слой решает свою задачу, что упрощает отладку и тестирование.
  • Гибкость: Изменения в одном слое (например, замена системы учёта) не требуют переписывания всех приложений — достаточно обновить соответствующий System API.
  • Безопасность: Доступ к данным регулируется на уровне API, а не на уровне баз данных. Можно применять политики OAuth 2.0, API-ключи, ограничение по IP.

Недостатки

  • Начальная сложность: Внедрение требует перестройки существующей архитектуры и обучения команды.
  • Избыточность для малых проектов: Для простых интеграций (например, два приложения) создание трёх слоёв может быть неоправданным.
  • Зависимость от платформы: Хотя концепция не привязана к конкретному вендору, на практике наиболее полная реализация доступна в MuleSoft Anypoint Platform. Аналогичные подходы поддерживают Dell Boomi, Workato, Kong, Apache Camel.

Применение в России

В России API-Led Connectivity используется в крупных компаниях, где требуется интеграция разнородных систем, особенно в условиях импортозамещения. Например, российские банки (Сбер, ВТБ, Т-Банк) применяют этот подход для интеграции между своими legacy-системами (на базе IBM z/OS или Oracle) и новыми мобильными приложениями. Ретейлеры (X5 Group, Магнит) используют его для объединения данных из систем управления складом (WMS), кассовых аппаратов и интернет-магазинов.

Сложность внедрения в России связана с тем, что многие западные платформы (MuleSoft, Boomi) ушли с рынка после 2022 года. В качестве альтернатив используются:

  • Платформа «Атом» (от компании «Атом» — российский разработчик ПО для интеграции, входит в реестр отечественного ПО).
  • Open-source решения: Kong, Tyk, Apache APISIX.
  • Собственные разработки на базе Spring Cloud Gateway или NGINX.

Критика

Основная критика API-Led Connectivity сводится к тому, что он может приводить к «API-хаосу» — бесконтрольному размножению API, если не внедрена строгая дисциплина управления. Без Governance каждый разработчик может создать свой API, что нарушает принципы многоразовости. Кроме того, критики отмечают, что концепция трёх слоёв не всегда применима к микросервисной архитектуре, где сервисы уже сами по себе являются API, и добавление дополнительных слоёв может быть избыточным.

Связанные концепции

  • API-First: Подход, при котором API проектируется до начала разработки приложения. API-Led Connectivity является логическим продолжением API-First на уровне интеграции.
  • Event-Driven Architecture (EDA): В отличие от API-Led Connectivity, которая предполагает синхронные запросы (request-response), EDA использует асинхронные события. Оба подхода могут комбинироваться: Event API могут быть частью Process слоя.
  • Low-Code Integration: Платформы, такие как MuleSoft Anypoint, предоставляют визуальные инструменты для создания API без написания кода, что упрощает внедрение API-Led Connectivity для бизнес-пользователей.

Источники

  • MuleSoft. «What is API-led connectivity?» — Документация Anypoint Platform.
  • Gartner. «Magic Quadrant for Enterprise Integration Platform as a Service» (2021–2023).
  • «API-Led Connectivity: A New Approach to Integration» — White Paper, MuleSoft, 2014.
  • «Архитектура корпоративных интеграций» — курс лекций, НИУ ВШЭ, 2022.
  • Реестр отечественного ПО Минцифры РФ — описание платформы «Атом».

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →