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
| Audience | Why it matters to you |
|---|---|
| All engineers | Foundation 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) β
βββββββββββ ββββββββββββ ββββββββββββββββββ
| Tier | Runs | React-world analogy |
|---|---|---|
| Author | Authoring UI, workflows, all editing | CMS admin / staging environment |
| Publish | Read-optimised rendering of activated content | Production app servers |
| Dispatcher | Apache/IIS module caching rendered HTML, filtering requests | Nginx + 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 write | It ships as | Runs on |
|---|---|---|
| HTL templates, dialogs, clientlibs | Content package (/apps) | Author + publish |
| Sling Models, servlets, services | OSGi bundle (jar inside the package) | Author + publish |
| Dispatcher rules | Web-server config | Dispatcher tier |
Key takeaways
- One codebase deploys to author and publish; run modes select behaviour per tier.
- Rendering is server-side; the Dispatcher makes it cheap by caching finished HTML.
- Authors are your primary users: components must be safe and self-explanatory to configure.