Abstract
Adobe Experience Manager (AEM) is built on a rich open-source software stack that exposes many Java APIs for use during development. This article explores the major APIs and when and why they should be used.
AEM is built on 4 primary Java API sets.
1. Adobe Experience Manager (AEM)
--->Product abstractions such as pages, assets, workflows, etc.
2. Apache Sling Web Framework
--->REST and resource-based abstractions such as resources, value maps, and HTTP requests.
3. JCR (Apache Jackrabbit Oak)
--->Data and content abstractions such as node, properties and sessions.
4. OSGi (Apache Felix)
--->OSGi application container abstractions such as services and (OSGi) components.
Java API preference "rule of thumb"
The general rule is to prefer the APIs/abstractions the following order:
AEM > Sling >JCR > OSGi
If an API is provided by AEM, prefer it over Sling, JCR, and OSGi. If AEM doesn't provide an API, then prefer Sling over JCR and OSGi.
Read Full Blog
Q&A
Please use this thread to ask the related questions.
Kautuk Sahni