May 13, 2020
Estimated Post Reading Time ~

AEM Architecture

This page will be a very brief discussion on the architecture of how AEM is made up.


AEM Architecture
As you saw in the section Structure of AEM physical hardware wise AEM is a distributed system, this page will go into a bit more detail about the actual AEM instance itself.

OSGI
OSGI is the framework that underpin's AEM and holds most of the other components together. Much of the code that is written for AEM is done as OSGI services

In AEM the OSGI layer is handled by Apache Felix

Custom Applications
This is where your applications site. Anything that is not supplied out of the box with AEM will be a custom application. Even the geometrixx apps that come as standard with a default AEM instance are custom applications to show how applications should be built. However saying that the geometrixx apps are very out of date and are still written in jsp

AEM Modules
There are a number of modules that AEM provides that allow AEM to work properly, Most of these you won't interact with and they will just work for you, however there are many that you will, most of the user interfaces within AEM are built using granite components, so they are in fact AEM applications in their own right.

Sling Content
This is the core of the content processing within the platform. In AEM Apache Sling underpin's most content and application structure.

CRX Content Repository
CRX is AEM's own enhancement of Apache Sling, along with the granite libraries this controls most of the lower level functionality such as user management, data persistence and event management

The core jcr:repository that makes up CRX is an apache jackrabbit oak repository. The repository uses either TarMK or MongoDB for it's persistence layer. TarMK is the most common because of performance issues with MongoDB, however the only way to scale AEM authors is to use MongoDB but you will need to have a lot of users on the server before this really becomes a requirement and there are other ways of handling scalability of authors.

Servlet Engine
In AEM the servlet engine is the open source jetty servlet container

Java
Of course, all of the technologies that AEM runs on are java based, and most of them are open source. AEM provides the wrappers that make it all work, as well as the utilities for load balancing, clustering, and editorial content management


By aem4beginner

No comments:

Post a Comment

If you have any doubts or questions, please let us know.