What is AEM?
Adobe Experience Manager is a web-based client-server system for building, managing and deploying commercial websites and related services. It combines a number of infrastructure-level and application-level functions into a single integrated package.
At the infrastructure level AEM provides the following:
1. Web Application Server : AEM can be deployed in standalone mode (it includes an integrated Jetty web server) or as a web application within a third-party application server.
2. Web Application Framework : AEM incorporates the Sling Web Application Framework that simplifies the writing of RESTful, content-oriented web applications.
3. Content Repository : AEM includes a Java Content Repository (JCR), a type of hierarchical database designed specifically for unstructured and semi-structured data. The repository stores not only the user-facing content but also all code, templates and internal data used by the application.
Finally, customers can use these infrastructrue and application-level building blocks to create customized solutions by building applications of their own.
The AEM server is Java-based and runs on most operating systems that support that platform. All client interaction with AEM is done through a web browser .
Typical Deployment Scenarios
In AEM terminology an "instance" is a copy of AEM running on a server. AEM installations usually involve at least two instances, typically running on separate machines:
1. Author : An AEM instance used to create, upload and edit content and to administer the website. Once content is ready to go live, it is replicated to the publish instance.
2. Publish : An AEM instance that serves the published content to the public.