Web Shop Example

Let’s say that you have an existing web shop for your company as an SPA. In it you have all your product details and images. Then you introduce AEM to power your marketing efforts such as promotional sites, blogs, and campaign content. How do you integrate the two? AEM enables a spectrum of options:

  • Allow the systems to operate independently.
  • Supply the web shop with limited content from AEM via GraphQL. Content can be created by authors in AEM, but only seen via the web shop SPA.
  • Embed the web shop SPA in AEM. Content can be created by authors in AEM, and viewed in AEM in the context of the web shop, but not manipulated.
  • Embed the web shop SPA in AEM, and enable editable points. Content can be created by authors in AEM, and viewed in AEM in the context of the web shop, and the authors have limited ability to manipulate the content of the web shop SPA within AEM.
  • Embed the webs shop SPA in AEM, and enable entire zones for editing. Content can be created by authors in AEM, and viewed in AEM in the context of the web shop, and the authors have limited ability to manipulate the content of the web shop SPA within AEM.

The next section explores these levels of integration in more detail.

NOTE
Of course you could also re-implement the web shop SPA as a fully-functioning AEM SPA using the AEM SPA Editor framework. If you already have AEM and want to create a web shop or other SPA, this is the recommended method, but it is out of scope for this document.

SPA Integration Levels

SPA integration falls on a spectrum of four levels in AEM.

  • Level 0: No integration

    • The SPA and AEM exist separately and exchange no information.
    • Content is created, managed, and delivered independently in two separate systems.
  • Level 1: Content fragment integration

    • Content Fragments are used in AEM to create and manage limited content for the SPA.
    • The SPA retrieves this content via AEM’s GraphQL API.
    • Some content is managed in AEM and some in an external system.
    • Content can only be viewed in the SPA.
  • Level 2: Embed the SPA in AEM

    • Content Fragments are used in AEM to create and manage content for the SPA.
    • The SPA retrieves this content via AEM’s GraphQL API.
    • Some content is managed in AEM and some in an external system.
    • Content can be viewed in-context within AEM.
    • Limited content can be edited within AEM.
  • Level 3: Embed and fully enable SPA in AEM

    • Content Fragments are used in AEM to create and manage content for the SPA.
    • The SPA retrieves this content via AEM’s GraphQL API.
    • Content can be viewed in-context within AEM.
    • Most content can be edited within AEM.

Level 1 is an example of a typical headless implementation. However content authors can only view their content in-context within the SPA. AEM is only an authoring tool.

The advantage and flexibility of AEM becomes apparent with levels 2 and 3 while still retaining the advantages of SPAs. Content authors can create their content in AEM, but also see it in-context within AEM. The SPA gains the ability to be authored in AEM, but still be delivered as an SPA.

Implementing the Integration Levels

There are different tools in AEM available depending on what integration level you choose. Each level builds on the tools used in the previous. The following list links to the relevant resources.

  • Level 1: Content Fragments and the AEM headless framework can be used to deliver AEM content to the SPA.

  • Level 2: In addition to level one:

  • Level 3: In addition to level two:

    • Entire zones of the SPA can be enabled to allow comprehensive editing in AEM.

Experience Manager


The True Cost of a Failed Implementation

Online | Session | General Audience

A failed implementation isn’t just an inconvenience — it costs real revenue. Poor execution and misaligned tools disrupt pipelines,...

Wed, Mar 19, 2:00 PM PDT (9:00 PM UTC)

Register

Put the Customer at the Center and Build Relationships That Last a Lifetime

Online | Strategy Keynote | General Audience

First impressions last a lifetime. Great first impressions feel personal, connected, and relevant right from the start. From the first...

Wed, Mar 19, 2:30 PM PDT (9:30 PM UTC)

Register

Connect with Experience League at Summit!

Get front-row access to top sessions, hands-on activities, and networking—wherever you are!

Learn more