AEM technology stack can be divide into the following,
- Java Runtime Environment (commonly known as JRE)
- Granite Platform
- AEM modules(Adobe Experience Manager)
- Custom Application Module (your website)
Java Runtime Environment [JRE]:
AEM is more or less a combination of or collection of jars, jsps [Java Server Pages], servlets, Java classes along with static resources such as HTML, pictures, assets, etc. To drive this architecture, it needs JRE.
This makes AEM compatible with any OS that supports required JRE.
AEM is more or less a combination of or collection of jars, jsps [Java Server Pages], servlets, Java classes along with static resources such as HTML, pictures, assets, etc. To drive this architecture, it needs JRE.
This makes AEM compatible with any OS that supports required JRE.
Granite Platform:
Granite platform is a key role player in the AEM stack. Granite is Adobe’s open web stack.
Granite platform is a key role player in the AEM stack. Granite is Adobe’s open web stack.
As you can observe from the image above, the Granite platform consists of the below-listed modules:
- CQSE Servlet Engine
- CRX Content Repository
- Sling Content Delivery
- OSGi Framework
CQSE Servlet Engine: AEM requires an application server that supports Java Servlets API 2.4 or later. The AEM software package is available in two forms:
- cq-quickstart.jar: it includes everything needed to get up and running (also called a “standalone executable jar”). The Quickstart Standalone jar file contains a built-in servlet engine. As the name “Standalone” suggests user can simply double-click the jar file to install an AEM instance with a built-in servlet-engine. You do not require any dedicated external application server for servlet handling. In this case, you only need a JRE and a standalone quickstart JAR file.
- cq-quickstart.war: for deployment in a third-party application server. WAR files do not contain built-in servlet engines. In this case, you need a JRE, a WAR file, and a third-party application server for servlet handling.
CRX Content Repository: Everything in AEM is stored in nodes and properties in the built-in CRX content repository. CRX is a content repository of JCR type. JCR specifications combine features of the relational database and file systems, allowing fine-grained access to the content repository in File-system Fashion and also in Database fashion.
Let’s understand some terms here itself:
Let’s understand some terms here itself:
- CRX (Content repository Xtreme): CRX is a repository built into AEM.
- JSR (Java Specification Request): JSR’s are the formal documents that describe proposed specifications and technologies for adding to the Java platform. There are hundreds of JSR. CRX is Adobe’s implementation of the JSR-283.
- JCR (Content Repository API for Java): It can be defined as the specifications for accessing content repository using JAVA API in a uniform manner. So, JCR is a “type of repository”. CRX is an implementation of JCR. Similarly, Apache Jackrabbit is an example of JCR.
The Java Content Repository (JCR) standard, JSR 283, specifies a vendor-independent and implementation-independent way to access content bi-directionally on a granular level within a content repository.
Sling Content Delivery: Sling is a Web application framework based on REST principles. The sling allows easy development of content-oriented applications. AEM is based on the sling. Sling uses a repository of type JCR, such as CRX and Apache Jackrabbit.
“Using Sling, the type of content to be rendered is not the first processing consideration. Instead, the main consideration is whether the URL resolves to a content object for which a script can then be found to perform the rendering. This provides excellent support for web content authors to build pages that are easily customized to their requirements.”
The advantages of the content first approach are significant when we have a wide range of different content elements, or when you need easily customizable pages.
OSGi Framework (Open Service Gateway Initiative): OSGi (Open Service Gateway Initiative) is a Java framework for developing and deploying modular software programs and libraries. OSGI is a modular system that implements dynamic components/applications in form of bundles. AEM is based on OSGi. AEM can be thought of as a conglomeration of bundles(components). All the bundles in AEM can be operated from a web console.
A bundle is a jar file holding Java classes and a special metadata file (META-INF subfolder). Applications or components coming in form of bundles installed, started, stopped, updated, and uninstalled without requiring a reboot. Each bundle(component/application) is a tightly coupled, dynamically loadable collection of classes, jars, and configuration files that explicitly declare their external dependencies.
OSGi framework, elements of AEM as well as any additional custom applications on top AEM platform are implemented in OSGI bundles.
AEM Modules:
AEM runs on the Granite platform. AEM is a complete package of the below-mentioned modules built on the Granite platform in the OSGI framework.
AEM runs on the Granite platform. AEM is a complete package of the below-mentioned modules built on the Granite platform in the OSGI framework.
- Websites
- Mobile Applications
- Digital Publications
- Forms
- Digital Assets
- Communities
- Online Commerce
Customers can leverage these application-level building blocks to create customized solutions by building applications of their own.
Custom Application Module (your website):
Customers can build their own customized application module o top of AEM. The underlying technology stack empowers the customer to take advantage of AEM features such as flexibility, simplicity in the management and delivery of websites, content, and assets, and reduced complexity of delivering online experiences to the right customers.
Customers can build their own customized application module o top of AEM. The underlying technology stack empowers the customer to take advantage of AEM features such as flexibility, simplicity in the management and delivery of websites, content, and assets, and reduced complexity of delivering online experiences to the right customers.
No comments:
Post a Comment
If you have any doubts or questions, please let us know.