Skip to content
Архитектура AEM-first

Enterprise eCommerce на AEM и Adobe Commerce

Adobe Experience Manager перед headless Adobe Commerce, связанные через Adobe Commerce Integration Framework. Что даёт этот паттерн, во что обходится его эксплуатация и откуда у меня опыт с ним.

Magento AEM Enterprise Dashboard

Большинство headless-проектов разводят контент и коммерцию по двум системам и двум командам, и шов между ними становится для кого-то постоянной работой. Паттерн AEM-as-proxy этот шов закрывает. AEM стоит впереди, держит роутинг, SEO и кеширование, а транзакционные вызовы передаёт в Adobe Commerce через GraphQL. Маркетологи работают в AEM. Чекаут остаётся там, где ему место.

Это не альтернативы друг другу

Сравнение всплывает достаточно часто, чтобы ответить прямо. Adobe Experience Manager и Adobe Commerce - это не два варианта на выбор. AEM - это то, где живут страницы, контент и ассеты. Adobe Commerce - это каталог, корзина и заказы. У компаний на стеке Adobe обычно есть и то, и другое.

Настоящий вопрос в том, как они разговаривают между собой. Ответ самой Adobe - Commerce Integration Framework: он подключает GraphQL-схему Adobe Commerce внутрь AEM, и товар ставится на страницу так же, как любой другой компонент.

Во что обходится эксплуатация этой интеграции

Само соединение - лёгкая половина. Тяжёлая половина, которая съедает график, - это всё вокруг него.

Каждый run-mode в AEM должен смотреть на нужное окружение Adobe Commerce, и GraphQL-клиенту нужна своя конфигурация под каждое. Author и publish разделены, и оба существуют для local, dev, test, UAT, stage и production. На корпоративном внедрении, над которым я работал, это вылилось в три с лишним десятка конфигурационных профилей, которые нужно держать в согласии между всеми окружениями.

Ничего интересного в этом нет. Именно сюда уходит время, и именно это пропускают в оценках.

Откуда это у меня и что именно я делаю

Это две разные вещи, и их стоит разделить.

Headless-шаблон витрины на этом сайте - полностью мой, вместе с его адаптерами под Adobe Commerce и AEM. Платформенная работа по AEM и Adobe Commerce делалась в составе команды, на корпоративном внедрении с Adobe Commerce Integration Framework 2.15.

Я не AEM-агентство и не выдаю себя за него. Бэкенд AEM корпоративного масштаба - это командный вид спорта. Я делаю фронт: витрину, слой компонентов и тот шов интеграции, где два продукта Adobe встречаются.

Что входит в интеграцию

AEM как точка входа

AEM стоит перед Adobe Commerce. Он принимает входящий запрос, отдаёт закешированные Experience Fragments и передаёт динамические вызовы в коммерческий бэкенд: корзина, покупатель, остатки.

CIF и что он даёт маркетингу

Commerce Integration Framework подтягивает живые данные о товарах на страницы AEM. Настроенный как надо, он даёт Commerce Teasers: маркетолог перетаскивает товар на страницу, и никому не нужно заводить задачу.

Dispatcher и CDN

HTML отдаёт AEM, поэтому страницу можно кешировать на Dispatcher и на CDN. Те части, которые обязаны оставаться персональными, вырезаются и подставляются отдельно: содержимое корзины, цены для залогиненного покупателя. Какая доля страницы под это попадёт, зависит от страницы, и тот, кто называет вам процент, не увидев вашу, просто угадывает.

Региональные настройки в одном месте

Context-aware конфигурация AEM держит валюту, язык и store view по регионам, поэтому новый рынок не требует фронтенд-деплоя Adobe Commerce.

Та же модель, собранная в шаблон

Паттерн поставляется как открытый шаблон витрины. Один доступный UI на токенах, адаптеры под Adobe Commerce и под AEM как источник контента, Lighthouse в CI как условие сборки и self-hosting на вашей инфраструктуре. В живом демо развёрнут адаптер Shopify; адаптеры Adobe Commerce и AEM лежат в репозитории с тестами.

Дорожная карта интеграции

  1. 1

    Discovery. Разбор потоков данных между GraphQL-схемой Adobe Commerce и компонентами AEM

  2. 2

    Архитектура. Прокси-слой, правила CORS и обмен токенами

  3. 3

    Разработка. Компоненты, собранные под контракт Adobe CIF

  4. 4

    Оптимизация. Правила Dispatcher и Varnish для hole-punching, чтобы кеш переживал персонализацию

Корпоративный стек

Adobe Experience ManagerAdobe Commerce (Magento)Adobe CIF 2.15GraphQL / ApolloDispatcher / VarnishReact (SPA Editor)

Что у вас есть, когда работа закончена

Это результаты работы, а не прогнозы. Каждый из них можно проверить в день сдачи.

  • AEM отдаёт страницу, Adobe Commerce отдаёт транзакцию, и соединяет их CIF, а не самописная склейка.
  • Записанная карта того, какой run-mode AEM смотрит на какое окружение Adobe Commerce, по всем стадиям.
  • Commerce Teasers, которые маркетинг ставит на страницу, не заводя задачу.

Связанные материалы

Этот маршрут поможет оценить глубину имплементации до старта проекта.

Похожие услуги