Home β€Ί Core Learning Journey β€Ί Session 1 β€” AEM platform overview & architecture

Session 1 β€” AEM platform overview & architecture

Purpose: Understand what AEM is, its author/publish/dispatcher topology, and where your code runs.

Who this page is for

AudienceWhy it matters to you
All engineersFoundation for every later session

What AEM actually is

AEM 6.5 is a Java web platform where content is the database and pages are rendered server-side from it. It bundles a content repository (JCR/Oak), a web framework (Sling), a module runtime (OSGi/Felix), and a large authoring UI on top.

                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚              AEM instance          β”‚
                    β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”‚
   your Java code ──┼─▢│  OSGi (Felix): bundles/servicesβ”‚ β”‚
                    β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€  β”‚
   URL handling  ───┼─▢│  Sling: resource resolution   β”‚  β”‚
                    β”‚  β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€  β”‚
   all content   ───┼─▢│  JCR (Oak): repository        β”‚  β”‚
                    β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

The three-tier topology

 Authors                        Visitors
    β”‚                              β”‚
    β–Ό                              β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”   replication   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ AUTHOR  β”‚ ───────────────▢│ PUBLISH  │◀─────│ DISPATCHER/CDN │◀── traffic
β”‚ (edit)  β”‚   on "Publish"  β”‚ (serve)  β”‚ MISS β”‚ (cache+filter) β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜      β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
TierRunsReact-world analogy
AuthorAuthoring UI, workflows, all editingCMS admin / staging environment
PublishRead-optimised rendering of activated contentProduction app servers
DispatcherApache/IIS module caching rendered HTML, filtering requestsNginx + CDN

The critical difference from an SPA workflow: content changes flow by replication, not by redeploys. Authors hit "Publish" on the PHI gold-tier plan page and it is activated to publish instances within seconds; your code only deploys when components change.

Where your code lives

You writeIt ships asRuns on
HTL templates, dialogs, clientlibsContent package (/apps)Author + publish
Sling Models, servlets, servicesOSGi bundle (jar inside the package)Author + publish
Dispatcher rulesWeb-server configDispatcher tier

Key takeaways

Quick navigation