AEM is built using Sling, a Web application framework based on REST principles that provides easy development of content-oriented applications. Sling uses a JCR repository, such as Apache Jackrabbit, or in the case of AEM, the CRX Content Repository, as its data store.
For more information click here
Note: To build an application using Apache Sling watch this video
REST (Representational State Transfer) architectural style describes six constraints applied to architecture:
SOAP | REST |
---|---|
SOAP is a protocol | REST is an architectural style |
SOAP stands for Simple Object Access Protocol. | REST stands for Representational State Transfer. |
SOAP uses services interfaces to expose the business logic. | REST uses URI to expose business logic. |
SOAP defines its own security. | RESTful web services inherits security measures from the underlying transport. |
SOAP permits XML data format only. | REST permits different data format such as Plain text, HTML, XML, JSON etc. |
The following diagram explains Sling script resolution: it shows how to get from HTTP request to content node, from content node to resource type, from resource type to script and what scripting variables are available.
For more information watch this video
A Sling Model is implemented as an OSGi bundle. A Java class located in the OSGi bundle is annotated with @Model and the adaptable class (for example, @Model(adaptables = Resource.class). The data members (Fields) use @Inject annotations. These data members map to node properties.
Example of sling model :For more information https://sling.apache.org/documentation/bundles/models.html
For more information https://helpx.adobe.com/experience-manager/using/sling_models.html
For more information watch this video
Sling is content-centric. This means that processing is focused on the content as each (HTTP) request is mapped onto content in the form of a JCR resource (a repository node):
Due to the content-centric philosophy, Sling implements a REST-oriented server and thus features a new concept in web application frameworks. The advantages are:
These are the api and classes frequently used in AEM
For more information click here
Sling JCR Installer scans the CRX repository for artifacts and provides them to the OSGi installer