Expand my Community achievements bar.

Adobe Summit 2025: AEM Session Recordings Are Live! Missed a session or want to revisit your favorites? Watch the latest recordings now.
SOLVED

AEM Core vs Foundation Components and Components vs Services

Avatar

Level 8

Hi all,

 

1. I understand that AEM Core Components are much more advanced than Foundation Components.

Why do Foundation Components exist and when should we use these as opposed to Core Components?

 

2.Is it true that Components cover front end and Services the back end?

Is the other way possible, like Components  for back end and Services for front end?

 

Appreciate all replies.

 

Thanks,

RK.

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hi @nsvsrk,

To answer your question let’s break both down clearly:

1. Why do Foundation Components exist, and when should we use them over Core Components?

Why Foundation Components exist
  • Foundation Components were the original set of components provided with AEM 6.0–6.3.

  • They are tightly coupled to Classic UI and legacy practices (e.g., JSP, static templates, etc.).

  • They were meant to offer a starting point for common web content features like titles, text, and images.

Core Components vs Foundation Components
Feature Core Components Foundation Components
Introduced in AEM 6.3+ (SPA-friendly) AEM 6.0 and earlier
Technology Sling Models, HTL, Editable Templates JSP, Classic UI
Flexibility Modern, extensible, configurable Rigid, requires heavy customization
Maintenance Actively maintained by Adobe Legacy — not enhanced anymore
Recommended for All new projects Only legacy projects or migration bridges
When to use Foundation Components:
  • Only if you’re maintaining an old AEM implementation based on Classic UI or static templates.

  • Never for new development — always go with Core Components for extensibility, security, and future-proofing.

2. Do Components handle front end and Services the back end? Can it be the other way?

Yes, generally true:
  • Components:

    • Represent UI elements (frontend) like carousel, image, title, etc.

    • Handle rendering using HTL (or JSP in legacy).

    • Use Sling Models for backend logic tied to frontend behavior (data fetching, structure, etc.)

  • Services:

    • Represent reusable backend logic (e.g., search, API integrations, user management).

    • Typically Java interfaces/implementations registered via OSGi.

    • Not directly tied to UI — consumed by components, servlets, or workflows.

Can components be used for backend?
  • Technically yes (they can call services or contain logic), but they shouldn’t replace services for backend logic.

  • Keeping business logic in services maintains clean separation of concerns.

Can services be used for front end?
  • Not directly. Services don’t render anything — they just supply data.

  • You might expose services via Servlets, GraphQL, or REST APIs, which the frontend (e.g., a SPA or HTL component) can consume.

References: https://experienceleague.adobe.com/en/docs/experience-manager-65/content/sites/authoring/siteandpage...

https://experienceleague.adobe.com/en/docs/experience-manager-core-components/using/introduction

Hope that helps!


Santosh Sai

AEM BlogsLinkedIn


View solution in original post

4 Replies

Avatar

Level 4

Hi @nsvsrk ,

 

I hope this can help.

 

1. Foundation Components were the original set of AEM components (pre-6.3), used in legacy projects. They are outdated, based on JSP and Classic UI.

 

  • Use Foundation Components only in legacy projects.
  • Use Core Components for all modern, new development—they're flexible, HTL-based, and SPA-compatible.

2. Yes - Components are for the frontend/UI, and Services handle backend logic. Reversing roles isn't ideal:

  • Components aren't designed for backend logic.
  • Services don't render UI.

Keep components for rendering and services for business logic.

 

 

Avatar

Correct answer by
Community Advisor

Hi @nsvsrk,

To answer your question let’s break both down clearly:

1. Why do Foundation Components exist, and when should we use them over Core Components?

Why Foundation Components exist
  • Foundation Components were the original set of components provided with AEM 6.0–6.3.

  • They are tightly coupled to Classic UI and legacy practices (e.g., JSP, static templates, etc.).

  • They were meant to offer a starting point for common web content features like titles, text, and images.

Core Components vs Foundation Components
Feature Core Components Foundation Components
Introduced in AEM 6.3+ (SPA-friendly) AEM 6.0 and earlier
Technology Sling Models, HTL, Editable Templates JSP, Classic UI
Flexibility Modern, extensible, configurable Rigid, requires heavy customization
Maintenance Actively maintained by Adobe Legacy — not enhanced anymore
Recommended for All new projects Only legacy projects or migration bridges
When to use Foundation Components:
  • Only if you’re maintaining an old AEM implementation based on Classic UI or static templates.

  • Never for new development — always go with Core Components for extensibility, security, and future-proofing.

2. Do Components handle front end and Services the back end? Can it be the other way?

Yes, generally true:
  • Components:

    • Represent UI elements (frontend) like carousel, image, title, etc.

    • Handle rendering using HTL (or JSP in legacy).

    • Use Sling Models for backend logic tied to frontend behavior (data fetching, structure, etc.)

  • Services:

    • Represent reusable backend logic (e.g., search, API integrations, user management).

    • Typically Java interfaces/implementations registered via OSGi.

    • Not directly tied to UI — consumed by components, servlets, or workflows.

Can components be used for backend?
  • Technically yes (they can call services or contain logic), but they shouldn’t replace services for backend logic.

  • Keeping business logic in services maintains clean separation of concerns.

Can services be used for front end?
  • Not directly. Services don’t render anything — they just supply data.

  • You might expose services via Servlets, GraphQL, or REST APIs, which the frontend (e.g., a SPA or HTL component) can consume.

References: https://experienceleague.adobe.com/en/docs/experience-manager-65/content/sites/authoring/siteandpage...

https://experienceleague.adobe.com/en/docs/experience-manager-core-components/using/introduction

Hope that helps!


Santosh Sai

AEM BlogsLinkedIn


Avatar

Community Advisor and Adobe Champion

Hi,

Here are my thoughts:

 

1. Why do Foundation Components exist, and when should we use these instead of Core Components?

As far as I know—and depending on the specific component type—Foundation Components are still used in certain core functionalities. For example, the Page Core Component inherits from the Foundation Page Component (wcm/foundation/components/basicpage/v1/basicpage).

2. Is it true that Components handle the front end and Services the back end?

Assuming you're referring to AEM components: a component is essentially a self-contained unit of functionality that can be reused across pages. It may depend on other components, but it generally lives independently.

Within that scope, a component can include only frontend elements—like a simple <div> that triggers JavaScript—or only backend logic that performs a process without rendering any UI. While those are more edge cases, the most common implementation of a component includes both a frontend (rendered view) and a backend (logic or data access).

 

Hope this helps



Esteban Bustamante

Avatar

Level 8

It indeed does help EstebanBustamante.

 

Thanks,

RK.