Here let’s discuss the various building blocks of AEM architecture. Following are the core building blocks of AEM Technology:
- Java Runtime Environment (JRE)
- Granite Platform
- OSGi Framework
- Java Content Repository (JCR)
- Apache Sling
- AEM Modules
Let’s discuss each of the above concepts in detail
Java Runtime Environment (JRE)
AEM is a java based web application and consists of jsps [Java Server Pages], jars, Java classes, servlets. As it works based on Java, it requires Java Runtime Environment (JRE) to function effectively.
Granite Platform
This is also one of the important aspects of the AEM technology stack and works as Adobe’s open web stack. Following are the various modules that the Granite platform consists of:
- CQ Servlet Engine
- CRX Content Repository
- Sling Content Delivery
- OSGi Framework
Let’s discuss each of the concepts in detail below.
1) CQ Servlet Engine
AEM needs an application server that is capable of supporting Java Servlet API 2.4 or updated versions. The software package of AEM is available in the following two forms:
- Cq-quickstart.jar
- Cq-quickstart.war
2) CRX Content Repository
All the content in Adobe Experience Manager is stored in properties and nodes in the CRX content repository. It works similar to the JCR type and offers the features of an RDBMS to easily access the constant repository.
3) Sling Content Delivery
AEM works based on the Sling Web application framework. The Sling framework largely depends on REST principles. The sling supports the easy development of content-oriented web applications. It makes use of JCR storehouse, for example, Apache Jackrabbit, on account of AEM, CRX Content Repository, as its information store.
Sling uses Apache Sling documentation in order to map request URLs to connect with the right assets based on the selectors, extensions, and request paths. Using which web content authors can build highly flexible pages that are easy to scale and customizable.
4) OSGI Framework
The Operations Service Gateway Initiative is a java based framework used for developing modular software programs and libraries. OSGI comes with two parts. The first one is “bundles” which acts as a specification and widely known as plug-ins. The specifications contain the information related to bundles information and explains how bundles will interact. The second part of the OSGi framework is a JVM level server registry using which bundles can publish, bind and discover services.
Comments