Adobe Experience Manager (AEM) is a content management system (CMS) built on Java. It manages websites, digital assets, and content across channel
Introduction to AEM
What is AEM?
Adobe Experience Manager (AEM) is a content management system (CMS) built on Java. It manages websites, digital assets, and content across channels.
Types of AEM
Key points of AEM as a Cloud Service
- No CRXDE Lite in production — content changes go through Git and Cloud Manager.
- Immutable infrastructure — runtime cannot be modified at deploy time.
- Auto-updates — Adobe continuously deploys updates.
- Cloud Manager — CI/CD pipeline for deployment.
- Rapid Development Environment (RDE) — fast development environment.
Author vs Publish
- Author: content editing, authoring UI, workflows.
- Publish: content delivery, public-facing website.
Project Structure Walkthrough
mysite
pom.xml# Parent POM (reactor)
all# Aggregates all packages for deployment
pom.xml
core# Java code (Sling Models, services, servlets)
pom.xml
src/main/java
com/mysite/core
ui.apps# AEM components, templates, configs (JCR content)
pom.xml
src/main/content
jcr_root
apps/mysite
components
clientlibs
…
ui.content# Sample content and pages
pom.xml
src/main/content
jcr_root
content/mysite
ui.config# OSGi configurations
pom.xml
src/main/content
jcr_root
apps/mysite/osgiconfig
ui.frontend# Frontend build (webpack/clientlibs source)
package.json
src
dispatcher# Dispatcher configuration
src
conf.d
conf.dispatcher.d
it.tests# Integration tests
pom.xml
Module Responsibilities
Content Package Filters
Filters control what gets deployed (both installed and removed). When using mode="replace", content at that path is deleted and replaced on install.
Command:
This command:
- Compiles all Java in
core. - Builds the frontend in
ui.frontend/. - Packages everything into a content package.
- Deploys the
allpackage tohttp://localhost:4502.
autoInstallSinglePackagePublishdeploys to publish (4503).