Storefront Architecture
Headless Adobe Commerce storefronts on Edge Delivery Services use drop-in components that connect through APIs and integrate with the Commerce boilerplate .
Content is authored in documents (DA.live, Google Docs, SharePoint), in-context (Universal Editor, Storefront Builder), or AEM Sites—and rendered as blocks. See the AEM authoring guide for details.
This page explains the architecture, then points you to Backend options to identify your backend and confirm prerequisites.
Architecture overview
Section titled “Architecture overview”How it works
Section titled “How it works”An author creates a table (for example, Commerce Cart) in a document or uses in-context editing. Edge Delivery Services transforms it to HTML (<div class="commerce-cart">). The browser loads the HTML, the block decorator initializes the drop-in, and the drop-in fetches from the Commerce API to render UI.
Boilerplate and blocks
Section titled “Boilerplate and blocks”The Commerce Boilerplate has four layers:
- scripts.js — Page load, block decoration, fonts
- commerce.js — Backend connections, templates, data layer
- initializers — Cart, checkout, account, and more
- blocks — Content blocks (Cards, Columns, Headers) and Commerce blocks (cart, checkout, account)
Commerce blocks use Commerce APIs; the boilerplate uses Preact /HTM for complex state. See Getting started for file structure.
Customize
Section titled “Customize”Blocks reference · Blocks configuration · Storefront configuration
Drop-in components
Section titled “Drop-in components”Drop-ins are domain-driven commerce components. Install from NPM (for example, npm install @dropins/storefront-cart). Use the extension patterns when customizing.
Event system
Section titled “Event system”Drop-ins communicate through a shared event bus (@dropins/tools/event-bus.js) using a publish-subscribe pattern. This keeps components loosely coupled. No drop-in depends directly on another.
events.on(name, handler)— subscribe to an eventevents.emit(name, payload)— publish an eventsubscription.off()— unsubscribe
Each drop-in indicates which events it emits and listens to. See the event bus API reference and the drop-in events overview for details.
Backend options and next steps
Section titled “Backend options and next steps”Storefront supports three backend types: Commerce PaaS, Adobe Commerce as a Cloud Service, and Adobe Commerce Optimizer. Prerequisites and setup differ by backend.
- Backend options — Comparison table, prerequisites by backend
- Storefront Setup — Create your storefront and configure your backend