Skip to content
AEM-first architecture

Enterprise eCommerce Development with AEM & Adobe Commerce

Adobe Experience Manager in front of headless Adobe Commerce, connected with Adobe's Commerce Integration Framework. What the pattern does, what it costs to run, and where my experience with it comes from.

Magento AEM Enterprise Dashboard

Most headless builds split content and commerce into two systems and two teams, and the seam between them becomes somebody's full-time job. The AEM-as-proxy pattern closes that seam. AEM sits at the front, owns routing, SEO and caching, and passes transactional calls through to Adobe Commerce over GraphQL. Marketers work in AEM. The checkout stays where it belongs.

They are not alternatives

The comparison comes up often enough to answer plainly. Adobe Experience Manager and Adobe Commerce are not two options to choose between. AEM is where pages, content and assets live. Adobe Commerce is where the catalogue, cart and orders live. Companies on the Adobe stack usually end up with both.

The real question is how they talk to each other. Adobe's own answer is the Commerce Integration Framework, which binds the Adobe Commerce GraphQL schema into AEM so a product can be placed on a page the way any other component is.

What the integration actually costs to run

The connection itself is the easy half. The half that takes the schedule is everything around it.

Each AEM run-mode has to point at the right Adobe Commerce environment, and the GraphQL client needs its own configuration for each one. Author and publish are separate, and both exist for local, development, test, UAT, stage and production. On the enterprise deployment I worked on, that came to over thirty configuration profiles, kept in step across every environment.

None of it is interesting. All of it is where the time goes, and it is the part that estimates miss.

Where this comes from, and what I do

Two different things, and they are worth separating.

The headless storefront template on this site is mine end to end, including its Adobe Commerce and AEM adapters. The AEM and Adobe Commerce platform work was done as part of a team, on an enterprise deployment running Adobe's Commerce Integration Framework 2.15.

I am not an AEM agency and do not pretend to be one. Backend AEM at enterprise scale is a team sport. What I do is the front of it: the storefront, the component layer, and the integration seam where the two Adobe products meet.

Integration Capabilities

AEM as the entry point

AEM sits in front of Adobe Commerce. It takes the incoming request, serves cached Experience Fragments, and passes the dynamic calls through to the commerce backend: cart, customer, stock.

CIF, and what it gives the marketing team

The Commerce Integration Framework pulls live product data into AEM pages. Configured properly it gives you Commerce Teasers, so a marketer drags a product onto a page and nobody has to open a ticket.

Dispatcher and CDN

AEM renders the HTML, so the page can be cached at the Dispatcher and at the CDN. The parts that have to stay personal are punched out and filled separately: cart contents, customer-specific pricing. How much of a page that covers depends on the page, and anyone who gives you a percentage before seeing yours is guessing.

One place for regional settings

AEM context-aware configuration holds currency, language and store view per region, so a new market does not need an Adobe Commerce frontend deployment.

The same model, as a template

The pattern ships as an open storefront template. One accessible token-driven UI, adapters for Adobe Commerce and for AEM as a content source, Lighthouse gating the build, and self-hosting on your own infrastructure. The live demo runs the Shopify adapter; the Adobe Commerce and AEM adapters are in the repository under test.

Integration Roadmap

  1. 1

    Discovery. Mapping data flows between the Adobe Commerce GraphQL schema and AEM components

  2. 2

    Architecture. The proxy layer, CORS rules and token exchange

  3. 3

    Development. Components built to the Adobe CIF contract

  4. 4

    Optimization. Dispatcher and Varnish rules for hole-punching, so caching survives personalisation

Enterprise Stack

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

What you have when it is done

Deliverables, not projections. Each one is something you can check on the day it is handed over.

  • AEM serving the page and Adobe Commerce serving the transaction, joined by CIF instead of custom glue.
  • One written map of which AEM run-mode points at which Adobe Commerce environment, across every stage.
  • Commerce Teasers your marketing team can place on a page without opening a ticket.

Related Resources

Use this content path to evaluate implementation depth before we start your project.

Related Services