AEM is built using Apache Sling, a web application framework based on REST principles that provide easy development for blogs.
Sling uses the JCR (Java Content Repository) to resolve objects via a URL. This allows developers to easily customize and build web components.
Apache Sling Architecture
In order to understand Apache Sling it is important to understand the overall architecture.
- OSGi
Sling applications are built on top of a series of OSGi bundles. Similar to rubber bands, the OSGi bundle jar files together and provides a convenient way for programs to run them.
- Sling API
In order for developers to have code to build web components, an API must be defined. Sling extends Servlet API and provides more functionality.
- Request Processing
The main idea behind Apache Sling is to map request to objects and Sling takes a unique approach to this.
- Resources
When a request is mapped to a URL, a resource is created and a servlet can be accessed.
- Servlet (aka “Scripts”)
Servlets are provided by the JCR and are actually created with and considered resources.