This tutorial walks through setting up a local development environment for Adobe Experience Manager (AEM) using the AEM as a Cloud Service SDK. Included are the development tooling required to develop, build and compile AEM Projects, as well as local run times allowing developers to quickly validate new features locally before deploying them to AEM as a Cloud Service via Adobe Cloud Manager.
The local development environment for AEM can be broken up into three logical groups:
This tutorial walks through how to install and set up the highlighted items in the above diagram, providing a stable local development environment for AEM development.
This tutorial established the location of the AEM as a Cloud Service SDK artifacts and AEM Project code as follows:
~/aem-sdk
is a organizational folder containing the various tools provided by the AEM as a Cloud Service SDK~/aem-sdk/author
contains the AEM Author Service~/aem-sdk/publish
contains the AEM Publish Service~/aem-sdk/dispatcher
contains the Dispatcher Tools~/code/<project name>
contains the custom AEM Project source codeNote that ~
is shorthand for the User’s Directory. In Windows, this is the equivalent of %HOMEPATH%
;
The AEM project is the custom code base containing the code, configuration and content that is deployed via Cloud Manager to AEM as a Cloud Service. The baseline project structure is generated via the AEM Project Maven Archetype.
This section of the tutorial shows how to:
Set up Development Tools for AEM Projects
The AEM as a Cloud Service SDK provides a QuickStart Jar that runs a local version of AEM. The QuickStart Jar can be used to run either the AEM Author Service or AEM Publish Service locally. Note that while the QuickStart Jar provides a local development experience, not all features available in AEM as a Cloud Service are included in the QuickStart Jar.
This section of the tutorial shows how to:
AEM as a Cloud Service SDK’s Dispatcher Tools provides everything required to set up the local Dispatcher runtime. Dispatcher Tools are Docker-based and provides command line tools to transpile Apache HTTP Web Server and Dispatcher configuration files into a compatible formats and deploy them to Dispatcher running in the Docker container.
This section of the tutorial shows how to:
Set up the Local Dispatcher Runtime