Java API Guidelines

Adobe Experience Manager (AEM) is built on a rich open-source software stack that exposes many Java APIs for use during development.

AEM is built on the following four primary Java API sets in descending order of preference.

  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.

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.

For details of these guidelines, see the document Understand Java API Best Practices.

On this page